在每个n
命令搜索下一个匹配项后,我希望 vi 自动将该行放置在屏幕顶部。
答案 0 :(得分:7)
zt
命令将重绘vim,以便当前行位于屏幕顶部。来自:h zt
:
*z<CR>*
z<CR> Redraw, line [count] at top of window (default
cursor line). Put cursor at first non-blank in the
line.
*zt*
zt Like "z<CR>", but leave the cursor in the same
column. {not in Vi}
因此,您可以使用.vimrc
中的以下内容完成此操作:
nnoremap n nzt
nnoremap N Nzt
xnoremap n nzt
xnoremap N Nzt
虽然就个人而言,我更喜欢把它留在中间,所以我改为:
nnoremap n nzz
nnoremap N Nzz
答案 1 :(得分:3)
使用:set so=999
使用此方法,光标将始终位于中间位置。因此,在每个n
命令搜索下一个匹配后,vim会自动将光标定位在屏幕的中间位置。
这是有利的,因为我们可以看到搜索的上下文。
有关详细信息,请参阅:help scrolloff