如何在Vim中自动补全搜索词?
我有下面这段代码,我想搜索单词pgnExists_f。
if(hj1939stack->pgnArray[index] == newPgn)
{
/* newPgn already exists in the pgnArray */
pgnExists_f = TRUE;
}在搜索命令中,我在输入pgn后按TAB键,希望单词会自动补全成pgnExists_f。但是,紧跟在pgn后面的是^I。
/pgn[TAB]导致
/pgn^I发布于 2015-08-18 17:56:55
是的,是有办法的。
命令行窗口这是一种常见的方法,将光标移动到单词
*或#
*-
q/,然后按i进入插入模式,输入pgn,然后输入ctrl-n或ctrl-p。您将看到弹出窗口,您可以选择要搜索的单词。发布于 2015-08-19 01:54:51
有一个可用的plugin SearchComplete,它允许这样做。
发布于 2015-08-18 23:48:01
我认为这可以使用插入函数返回的cmap来实现:
function! SearchCompletions()
return "SearchCompletion"
endfunction
cnoremap <Tab> <c-r>=SearchCompletions()<cr>现在,在命令行中按Tab将插入文本"SearchCompletion“。现在的问题是编写一个SearchCompletions()函数,它可以在当前缓冲区中提前搜索匹配项。这应该不会太难,但问题是它会有多慢。
另一个问题是,只要光标位于命令行上,而不仅仅是搜索提示符上,映射就会起作用。我不知道如何进一步限制它。
https://stackoverflow.com/questions/32068958
复制相似问题