在Vim中有查找命令('f','t','F','T'),可以使用';'重复这些命令。要么 ','。我希望能够通过使用“ n”和“ N”来重复这些命令。基本上就像我使用单词搜索('/')。
例如,当我键入'fa'时,我希望vim像执行命令'/ a'一样起作用。
我如何做到这一点?
答案 0 :(得分:3)
您可以通过在vim配置中添加以下内容来做到这一点:
function! MyFind(c)
execute "let @/ = '" . a:c . "'"
return 'n'
endfunc
function! MyBackfind(c)
execute "let @/ = '" . a:c . "'"
return 'N'
endfunc
nnoremap <expr> f MyFind(nr2char(getchar()))
nnoremap <expr> F MyBackfind(nr2char(getchar()))
注意事项:
t
/ T
,尽管可以实现,但我将把这个任务留给您F
可以转到字母的上一个出现位置,但是按n
仍会继续,它将进行/
搜索,而不是?
搜索(两者都使用相同的寄存器,但我还没有找到创建?
搜索的方法,同样,我将其留给您练习:-))有关更多信息,请多读:help <expr>
。