突然ですが
サーバの設定ファイルをvimで書いた後、反映させるときどうしていますか?
たとえばapacheの設定ファイルを編集した後に今までは
↓こんな感じにvimから外部コマンドを実行していました
:!service apache2 restart
Ctrl-Zでvimをバックグラウンドにまわして上記コマンドを打つ人もいるでしょう
でもなんだかこの作業めんどくさくないですか?
vimスクリプトでいい感じに編集中のファイルを判定して再起動コマンドを実行してもらいたいものです
じゃあいつvimスクリプト書くか?
今でしょ!
というわけで作りました
imadesyo.vim
https://github.com/yaasita/imadesyo
インストール
vundleとかの人はこんな感じでインストールしてください
Bundle 'yaasita/imadesyo'
使い方
ファイル編集中に以下のコマンドでファイルに応じていい感じに実行してくれます
:Imadesyo
:Imadesyo
って打つのも面倒なのでこんな感じにマッピングをvimrcに書いておくといいです
nnoremap ,e :Imadesyo<CR>
たとえば /etc/postfix/main.cf を編集中に,e
を入力すると 以下のコマンドを実行したことになります
postfix check && service postfix restart
/etc/apache2/sites-enabled/000-default編集中に,e
すると
apache2ctl configtest && service apache2 restart
#!/usr/bin/env rubyで始まるスクリプトを編集中に,e
を入力すると
/usr/bin/env ruby 編集中のファイル
みたいな感じです
※本番サーバの場合こんな感じで適当に再起動するとまずいかもしれないです!ちゃんと確認してから実行したほうが良いと思います><
ヘルプ
:h imadesyo@ja
対応ファイル
とりあえず自分が使う分だけ登録しましたw
詳しくはヘルプ参照
スクリプトの内容はファイルのパスを判定して実行コマンドを決めてるだけです
たいしたことはやってません
でも、この程度のスクリプトでも結構便利になりました^^
おしまい