VIM:避免搜索结果显示在屏幕的第一行或最后一行?

问题描述 投票:0回答:1

如果我在 VIM 中向前或向后搜索(通过

/
?
),它将在屏幕的最后一行(向前搜索时)或屏幕的第一行(向后搜索时)显示结果。

问题是,在这种情况下,如果不向上/向下移动光标,我就看不到搜索结果之前或之后的行。

如何强制 VIM 将搜索结果滚动到屏幕中间,或者以这样的方式滚动它:搜索结果前后总是 X 行在终端屏幕中可见?

谢谢

vim vi neovim
1个回答
0
投票
  1. set scrolloff=10
    将强制 vim 在光标线上方和下方保留 10 分钟的行

  2. 您可以通过重新映射 n 和 N 键来强制 vim 在导航到下一个和上一个搜索结果时将光标保持在屏幕中间

nnoremap n nzz
nnoremap N Nzz

zz
是将光标线移动到屏幕中间的键盘映射

© www.soinside.com 2019 - 2024. All rights reserved.