私のタイトルはそれほど説明的/明確ではないことを知っているので、説明させてください。
昨日は横切ることができるVimgrep and copen
ので、以下の行を追加しました.vimrc
nnoremap <silent> ,/ :execute 'vimgrep /'.@/.'/g %'<CR>:copen<CR>
それがすることは、vimquickfix list
の単語を開くことです。searched(highlighted)
クイックフィックスリストを押すEnter<CR>
と、メインのVimウィンドウの対応する行に移動します。
今、私が直面している問題は、現在の線のすぐ下に新しい線を作成する<CR
ようなものをマッピングしたことです。map <CR> o<Esc>
したがって、ご覧のとおり、2つの間に競合があります。だから、私が試しているのは、次のようなvim関数を考え出すことです
擬似コード
function IfNotInsideQuickFix()
if buffer != QuickFix
then map <CR> o<Esc>
elif buffer == QuickFix
Normal behaviour
Call function
これがの出力です:buffers
:buffers
1 #a "test.cs" line 0
2 %a- "[Quickfix List]" line 1
Press ENTER or type command to continue
私はvim関数を書いた経験がありません。それで、誰かが私をそれに案内してくれませんか。
PS:Vimマッピングを変更して新しい行を作成できることは知っていますが、Vim関数を使用してそれを行う方法を学びたいです