目次
- はじめに (vim_lib)
- 致命的な欠陥のないプラグインマネージャー (vim_lib、vim_plugmanager)
- プロジェクトレベルとファイルシステム (vim_prj、nerdtree)
- スニペットとファイルテンプレート (UltiSnips、vim_template)
- コンパイルと実行 (vim-quickrun)
- Gitを使用する (vim_git)
- デプロイ (vim_deploy)
- xUnitを使用したテスト (vim_unittest)
- すべてが置かれているライブラリ (vim_lib)
- その他の便利なプラグイン
クライアントが私の仕事の結果をすぐに見ることができるとき、私はそれが好きです。 顧客の希望に応じてプロジェクトの開発を調整できます。これにより、誤解を大幅に軽減できます。 お客様は、予算がどこに行くのか、プロジェクトのどの段階にあるのかを気にする必要はないと思います。 これは達成するのが非常に簡単です。「継続的インテグレーション」と呼ばれる方法論さえありますので、できるだけ早くマイナーな変更を展開できますが、プログラマーにとって十分便利にする方法はありますか? 結局のところ、誰もコードを書いて、デプロイメントシステムコンテキストに切り替えたり、ssh接続を使用して本番環境(または開発サーバー)に小さな変更をデプロイしたりすることは望んでいません。
エディターと展開システムの間で注意を頻繁に切り替えることをためらうことが、私が説明したいプラグインの実装を促しました。
汎用性
vim_deployプラグインは 、さまざまな展開システムを操作するためのユニバーサルインターフェイスとして考案されました。 このプラグインは、プロジェクトのデプロイメントロジックを実装しませんが、さまざまなデプロイメントシステムを操作するために使用できるアダプターのセマンティクスのみを定義します。 仕組みは次のとおりです。
- vim_deployと、shipitやgradleなどの1つ以上のアダプター(同じ名前のデプロイメントシステム用)をインストールします。
- プロジェクトのルートに使用される展開システムのタスクファイルを作成します。
例えばhost='raspberrypi' path='/var/www' [deploy] git checkout master git pull php ./update.php
- vim_deployコマンドまたはホットキーを使用してプロジェクトをすばやく展開すると、現在のプロジェクト用に構成された展開システムがユーザーに対して完全に透過的になります。
実際、これは、複数のプロジェクトを一度に処理し、同じコマンド(ホットキー)を使用して、プロジェクトで使用されているデプロイメントシステムに関係なくそれらをデプロイできることを意味します。
使用する
このプラグインをshipitと組み合わせて使用する例を示します。 なぜ彼は正確に? 私は頻繁に自分のプロジェクトに使用するので、私はその独創的なシンプルさのためにshipitが好きです。
上記のように、最初にvim_deployとアダプターをインストールして、デプロイメントシステムを操作する必要があります。 これは他のVimプラグインと同様に行われるため、詳細は説明しません。 その後、選択したアダプターを使用するようにvim_deployを構成する必要があります。 これを行うには、次のコードを.vimrcに追加します。
let vim_deploy#options = {'adapter': 'shipit'}
私の.vimrcの例
Plugin 'vim_deploy', { \ 'options': {'adapter': 'shipit'}, \ 'map': {'deploy': '<Leader>d'}, \} Plugin 'shipit'
また、 毎回コマンドを入力しないように、 vim_deploy#deploy関数のホットキーを設定します。 プロジェクトディレクトリに.shipitファイル(展開タスクを含む)を作成するだけで、展開を開始できます。 先ほど書いた vim_prjを使用する場合、デプロイメントシステムのアダプターはプロジェクトレベルでインストールでき、グローバルではインストールできません。
vim_deployプラグインには、次のコマンドも含まれています。
- 配置-プロジェクトの配置
- DeployRunタスク -展開タスクを実行します
- DeployList-利用可能なタスクのリスト
- DeployEdit-展開システムタスクファイルを開く
さようなら
vim_deployプラグインは、ビルドシステム(例:Grunt)で動作するように適合させることも、ローカル環境(例:Vagrant)をデプロイすることもできますが、この記事で説明するアプローチと同様に、異なるシステムのインターフェースを統合するために、これに個別のプラグインを実装することを計画しました この記事を読んだ後、あなたは考えました-私はちょうどそのようなことを十分に持っていません...-コメントでそれについて書いてください。