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
詳しくはヘルプ参照

 

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

おしまい

Ruby on RailsによるWEBシステム開発、Android/iPhoneアプリ開発、電子書籍配信のことならお任せください この記事を書いた人と働こう! Ruby on Rails の開発なら実績豊富なBPS

この記事の著者

yamasita

東京電機大学工学部→3年間某SIerにて銀行システムの開発→bpsに入社→TechRacho外部ライター

yamasitaの書いた記事

インフラ
現場で使うansible

2014年12月25日

週刊Railsウォッチ

インフラ

BigBinary記事より

ActiveSupport探訪シリーズ