我知道我的标题不是那么描述性/清晰,所以让我解释一下。
昨天我可以通过,Vimgrep and copen
所以我在下面添加了以下行.vimrc
nnoremap <silent> ,/ :execute 'vimgrep /'.@/.'/g %'<CR>:copen<CR>
它的作用是在 vimquickfix list
中为searched(highlighted)
单词打开 a。
现在,当你按下Enter<CR>
quickfix 列表时,它会将你带到 Vim 主窗口中的相应行。
现在,我面临的问题是我已经映射了我的<CR
like map <CR> o<Esc>
,它在当前行的正下方创建了一个新行。
因此,如您所见,两者之间存在冲突。所以,我正在尝试的是想出一个 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 函数来做到这一点