在Vim中有找到命令('f','t','F','T'),这些命令可以通过使用';'重复要么 ','。我希望能够通过使用'n'和'N'重复这些命令。基本上好像我使用了单词搜索('/')。
例如,当我输入'fa'时,我希望vim像我执行命令'/ a'一样。
我怎样才能做到这一点?
您可以通过在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>
。