2012-05-30 3 views
7

私は特別な方法でコードにコメントするためのプラグインを作成しています。ビジュアルモードまたはノーマルモードで呼び出されたときに少し違うはずです。Vim:現在のモードを取得するには

関数が呼び出されたときにユーザーがいた(あった)モードを特定するための関数または何らかの方法がありますか?

答えて

6

モード([式])現在のモードを示す文字列を返すがあります。

http://vimdoc.sourceforge.net/htmldoc/eval.html#mode%28%29

しかし、あなたはおそらくマッピングの右辺にコマンドモードを開始するつもりだので、それが機能しない場合があります。

Aより堅牢な方法が

nmap <Leader>c :call MyFunc('n')<CR> 
vmap <Leader>c :call MyFunc('v')<CR> 

のようにわずかに異なるマッピングを設定し、ユーザが何であったかのモードを知るために引数の値を用いることであろう。あなたが使用する必要があります

+4

'nnoremap' /' vnoremap 'ここでは、より安定しています(つまり、エンドユーザーが誤ってマッピングを解除する方法がずっと少ないため)、プラグインの唯一のオプションです。 – ZyX

関連する問題