陈奇网络工作室

Vim如何使用相对行号

服务器

小编为大家分享了Vim如何使用相对行号。 我想大多数人还不太了解。 因此,请分享这篇文章作为参考。 希望读了这篇文章能取得很大的成果。 以下,一起理解吧。

前言

众所周知,我们使用Vim的一个优点是可定制性非常高,如果有让自己不舒服的地方,可以通过配置或开发插件来解决。 开始使用Vim后不久,我发现了一个非常“反人性”的地方,即Vim的很多命令都需要调查行数。 例如,在“删除一个函数体”的情况下,需要计数该函数占了多少行(例如5行),并按5dd键。 如果是用鼠标的话就不需要数了。 可以直接拖动,但鼠标效率不高,既然学了Vim,就不要把手从键盘上移开。

我总结了一个方案。 大部分操作都不用数就能完成。

Vim支持两种行号:相对行号和绝对行号。 相对行号表示每行距离光标所在行的距离,绝对行号是按顺序显示每行的序列号。

Vim使用相对

set nu打开行号显示,set rnu打开相对行号显示。 (有关详细信息,请参见帮助nu和)帮助rnu。

效果如下。

打开行号显示

打开相对行号的显示

同时打开相对行号和绝对行号

同时打开两者时,当前行显示绝对行号,其他显示与当前行的距离。

使用一段时间后,我注意到在normal模式下,对多行的操作很频繁。 此时,如果使用绝对行号的话,就必须进行减法运算、计数来决定行数。 因此,在normal模式下必须使用相对行号。 0对我们来说没什么用,所以现在的行显示行号吧。

而且,一些常用的操作习惯必须相应更换。

删除第n行。 3dd删除了包括当前行在内的3行,但是显示了相对行号,在准备删除到“对象行”时,无意识地要删除1,例如在上面的最后一张图中,要删除到“终端配色安装”为止的内容,请按4dd。 有没有不用计算就能马上得到的方法? 是的,d3j就可以了。 command到目标行号的方向。 例如,删除到上面的“对……”的就是d4k。 的操作也类似,例如可以移动到下面的4行,使用4gg,也可以使用g4j。 其他还有yank操作等。 置换范围本来使用绝对行号即可,例如置换10-20行,则为: 10,20 s/XXX/yyy/g,但我们的正规模式表示相对行号,所以根据相对行号进行操作: 用. Vim表示现在的行,必须很好地利用。 因为显示的是相对行号,所以基本上所有与行号相关的操作都已经计算完毕,需要加上/减去显示为.的相对行号(请参阅)

在insert模式下,我们一般是编辑操作,不会对多行进行判断。 在这种情况下,你可能会对绝对的行号感兴趣。 所以,听事件,进入编辑模式时可以使用绝对行号,退出编辑模式进入normal模式时可以使用相对行号。

设定以下内容:

set nu

augroup relative_numbser

自动通话!

autocmdinsertenter *:setnorelativenumber

autocmdinsertleave *:setrelativenumber

augroup END

set nu是因为我一般打开文件并不一定是为了编辑,如果要浏览的话,绝对是行号更方便。 在此设定中,首次进入文件时使用绝对行号,进入编辑模式后返回normal模式时显示相对行号。

这样用了一段时间后,感觉按下的键增加了,但脑子里需要的计算减少了很多,还是很难出错就好了。

最后附上我的. vimrc作为参考。 不推荐盲目复制。

相关问题

在Vim 7.4之前的版本中,启用相对行号时,当前行号为0,无法显示正常的行号。 在Vim 7.4中,可以在显示当前行号的同时显示相对行号。 可以比较下面的两幅图

Vim 7.3

Vim 7.4

从上面的图像中,启用相对行号后,可以直观地看到当前行距离上方/下方的行数

要启用此属性,请使用以下命令

set relativenumber

启用相对行号后,就不必为了复制多行而费力地计数了

以上是使用Vim相对行号的全部方法。 谢谢您的阅读。 我相信大家得到了一定的理解。 希望想分享的内容对大家有帮助。 另外,如果你想学习更多的知识,欢迎使用信息频道。

详情请访问云服务器、域名注册、虚拟主机的问题,请访问西部数码代理商官方网站: www.chenqinet.cn

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3