Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

vimに自作コマンドを実装する

$
0
0

:Qiita というコマンドを自作し、実行すると hello, qiita! と表示するコマンドを作成します。

流れとしましては、
1. コマンドを書き込むファイルを用意する
2. 書式にしたがってコマンドを書く
3. .vimrcに、vimの起動時にそのコマンドファイルを読み込む記述を追加

といった具合です。

1. コマンドを書き込むファイルを用意する

私はvimのディレクトリ直下に作成しました。(C:\vim.mycommand.vim)

2. 書式にしたがってコマンドを書く

1で作成したファイルにコマンドを書き込んでいきます。

:command[!] [{属性}...] {コマンド名} {実行するコマンド}

この書式にしたがってコマンドを書いていきます。
冒頭で説明したQiitaコマンドのサンプルをのせます。

command! Qiita echo 'hello, qiita!'

Qiitaが{コマンド名}、それ以降( echo 'hello, qiita' )が{実行するコマンド}にあたります。今回は{属性}については記述していません。コマンド名は英大文字で始めなければなりません。
またcommandではなくcommand!にすることで、既に定義されているユーザーコマンドに上書きができます。

command Qiita echo 'hello, qiita!'
command! Qiita echo 'I love qiita!'

こうしますと I love qiita! と表示されるようになります。

3. .vimrcに、vimの起動時にそのコマンドファイルを読み込む記述を追加

この設定をせずに自作コマンドを適用することもできます。
その場合はvimを開くたびに :source {作成したファイルのディレクトリ} を実行してください。ただ毎回入力するには、面倒です。
上記のコマンドをvimの設定ファイルである.vimrcに追記し、自動で読み込むようにしましょう。(.vimrcがない人はvimrcの末尾でも構いません。詳しい説明は省きます)

:source c:\vim\.mycommand.vim

以上で :Qiita コマンドが有効になっています。コマンド実行時に引数を渡したかったり、もっと複雑な処理をさせたい場合は以下の参考ページを御覧ください。

より良いvim環境を構築しましょう!ありがとうございました。

参考

突然のvimコマンドを作った
http://kuchitama.hateblo.jp/entry/2013/02/08/000320

Vimスクリプトの初心者がコマンドを定義してみた
http://d.hatena.ne.jp/Hoshi-KN/20120302/1330658765

Hack #158: ユーザコマンドを定義する
http://vim-jp.org/vim-users-jp/2010/06/29/Hack-158.html


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>