Vim 的相对数字设置和多个缓冲区

Vim 的相对数字设置和多个缓冲区

我喜欢相对数字设置。我目前正在重构代码(翻译:消除 5 年前的糟糕方法并用好代码替换它们),我发现在打开文件时激活该设置很有用

我经常打开多个缓冲区或使用客户端/服务器 vim包含我所有打开的缓冲区/文件,并注意到相对数字似乎仅适用于第一个缓冲区(而不是当我set rnu在 .vimrc 文件中时剩余的缓冲区)。

rnu 是否预期最初仅应用于第一个缓冲区直到您手动设置它?

答案1

是的,这是预期的行为,除非您使用“:setglobal”明确地全局设置它:

:setglobal relativenumber

参见“ :help :setglobal”和“ :help 'relativenumber'”(单引号作为命令的一部分)。

答案2

我不确定您是否想要和我一样的行为……relativenumber默认使用所有缓冲区。如果是这样,那么您可能会认为set relativenumber.vimrc起作用,但事实并非如此。相反,我使用了autocmd BufEnter * set relativenumber

答案3

这通常发生在当你在 vimrc 中同时打开编号和相对编号时:

set nu
" maybe lots more configuration here or in other sourced config files
set rnu

由于某种原因,这在第一个缓冲区/选项卡中有效,但在后续的缓冲区/选项卡中无效,因此解决方案是只设置其中一个,但不能同时设置两者:

" turn on line numbering (either relative (rnu) or traditional (nu))
set rnu

其他答案解决了 vimrc 文件的问题但并没有修复它,但它们也有效。

相关内容