私は特別な方法でコードにコメントするためのプラグインを書いていますが、ビジュアルモードまたは通常モードで呼び出された場合は少し異なる動作をするはずです。
関数が呼び出されたときにユーザーがいた(だった)モードを判別する関数または何らかの方法はありますか?
私は特別な方法でコードにコメントするためのプラグインを書いていますが、ビジュアルモードまたは通常モードで呼び出された場合は少し異なる動作をするはずです。
関数が呼び出されたときにユーザーがいた(だった)モードを判別する関数または何らかの方法はありますか?
あります
mode([expr])現在のモードを示す文字列を返します。
http://vimdoc.sourceforge.net/htmldoc/eval.html#mode%28%29
ただし、マッピングのrhsでコマンドモードを開始する可能性があるため、これは機能しない可能性があります。
より堅牢な方法は、次のようなわずかに異なるマッピングを設定することです。
nmap <Leader>c :call MyFunc('n')<CR>
vmap <Leader>c :call MyFunc('v')<CR>
引数値を使用して、ユーザーがどのモードにあったかを確認します。