将搜索结果放在屏幕顶部的vi中

Ken*_*enH 6 vi vim

在每个n命令搜索下一个匹配后,我希望vi自动将该行放在屏幕顶部.

DJM*_*hem 8

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}
Run Code Online (Sandbox Code Playgroud)

因此,您可以通过以下方式完成此操作.vimrc:

nnoremap n nzt
nnoremap N Nzt
xnoremap n nzt
xnoremap N Nzt
Run Code Online (Sandbox Code Playgroud)

虽然我个人喜欢把它留在中间,所以我改为:

nnoremap n nzz
nnoremap N Nzz
Run Code Online (Sandbox Code Playgroud)


aru*_*pal 5

使用:set so=999

使用此功能,光标将始终位于中线。因此,在每个n命令搜索下一个匹配项之后,vim 都会自动将光标定位在屏幕的中行。

这是有利的,因为我们可以看到搜索周围的上下文。

欲了解更多详情,请参阅:help scrolloff