Tech Racho エンジニアの「?」を「!」に。
  • インフラ

imadesyo(今でしょ!).vimを作りました

vim

突然ですが
サーバの設定ファイルを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
詳しくはヘルプ参照

 

スクリプトの内容はファイルのパスを判定して実行コマンドを決めてるだけです
たいしたことはやってません
でも、この程度のスクリプトでも結構便利になりました^^

おしまい


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。