特定の状況で "K"の動作を変更しようとしていますが、他のすべての機能で元の機能を維持しようとしています。ここで私は機能にKを使用するので、それが再マッピングの結果として、Kの新しいマッピングが使用されていると呼ばれていたときに、しかし、私の失敗した特定の状況でマッピングの動作を変更し、他のすべての機能を再利用
function! GetDocumentation()
if &filetype == 'java'
JavaDocSearch
else
normal K
endif
endfunction
nnoremap K :call GetDocumentation()<CR>
だ、と私は無限再帰を取得します。私は何とか関数の要点をnnoremap
行に適合させることができたと思いますが、それは扱いにくいように見えます。キーの元のマッピングを強制的に使用するのが良いでしょう。
希望します。
ありがとうございました。
ありがとうございます!この方法を念頭に置いておきます。 –
不要なかっこが多すぎると、表現の美しさが損なわれます。この場合、それらはすべてシームレスに削除できます: ':nnoremap K&ftは# 'java'ですか? ":JavaDocSearch \ n": "K"です。 –
@ b。これらの括弧は、オペレータの優先順位の違いを覚えていない限り、異なる言語でプログラムを書くことができます。主なアイデアは、「追加の括弧は傷つけることはできませんが、できることはありません」です。 – ZyX