引言

一般 Vim 使用 :set number 命令,在编辑器显示行号。

本文展示了如何将行号插入到正文中,或者只插入到段落中。此外,还提供了打印行号的选项(Vim 可以打印带有数字的行,并且不需要文件有数字)。

Vim

可以使用 :s 命令在每行之前插入行号:

:%s/^/=printf('%-4d', line('.'))

模式 ^ 匹配每一行的开头,= 表达式使用 printf() 来格式化当前行的数字:

  • %-4d 是一个左对齐的整数,
  • 如果需要,可以通过在4列的宽度中添加空格来填充,
  • %4d 是右对齐的,%04d 插入前导零

要给一部分内容编号,请指定哪些行要使用编号。例如,按 v 选择第一行,然后按 j 向下扩展选择,直到选中所有需要的行。然后输入以下命令(不要输入',这是 Vim 自动插入的):

:'s/^/=printf("%d.", line(".") - line("'

上面的示例的格式字符串是“%d”。它插入一个左对齐的数字,后跟一个句点,和一个制表符TAB。选定范围内的每一行都进行了编号。

如果您只想给非空行编号(它会找到一行的开头,后面跟着一个不是空格的字符),请使用以下代码:

:'s/^S/=printf("%d.", line(".") - line("'

在上面的代码中,空白行被计数,但是没有插入数字(如果第4行是空的,那么插入的数字将是1、2、3、5、6)。

下面的替代方法不会给空行编号,也不会跳过行号:

:'g/^S/s/^/=printf("%d.", Inc())

以上代码需要这里的 Inc() 函数。此外,在选择任何行之前,需要设置第一个行号的值。输入以下内容:

:let i = 1

nl 指令

在基于Unix的系统中,number lines 工具可以通过过滤整个缓冲区来插入数字:

:%!nl -ba

nl 指令有许多选项来控制对哪些行进行编号,以及如何对数字进行格式化。

要给一部分内容添加行号,请指定哪些行应该用范围编号。

例如,按 v 选择第一行,然后按 j 向下扩展选择,直到选中所有需要的行。然后键入以下内容。注:' 是由 Vim 插入的。

:'!nl -ba

在使用 nl 程序时,默认情况下最多会添加 6 个前导空格,数字与行内容之间用一个制表符分隔。将前导空格减少到 2 (最多可达 99 个),并将分隔符替换为“.”,你可以使用以下标识符:

:'!nl -s '. ' -w 2

带行号打印

如果只需要在打印输出中对行进行编号,则不需要插入行号。使用以下命令告诉 Vim 在打印时插入行号(将 y 更改为 n 就是关闭此功能):

:set printoptions=number:y

写在最后

把Perl天书写在最后,收好不谢,功能都是一样的!

" 创建一个菜单选项,用于在文件内调用 Perl 。" 在按下回车键之前,剪辑脚本的 -e 选项。" 下面这行东东,在shell下一样用。:amenu Mo1.Format.NumberLines:!perl :1,$!perl -ne "printf("%3d:%s",$.,$_);"

Happy coding :-)

我是 @程序员小助手 ,持续分享编程知识,欢迎关注。

vim 显示行号_Vim给文件加行号,这通惊为天人的操作没sei了!文末天书慎点相关推荐

  1. Linux Vim显示行号方法详解

    在使用 Vim 进行编辑的过程中,经常会遇到需要同时对连续几行进行操作的情况,这时如果每行都有行号提示,就会非常方便. 在命令模式下输入":set nu"即可显示每一行的行号,如图 ...

  2. vim显示行号的设置方法

    默认情况下,vim打开文件时不提示行号. 如果想临时让vim显示行号,只需在打开的vim中输入命令 set nu 或者 set number 即可(这里的nu是number的缩写).这种设置在关闭当前 ...

  3. vim显示行号_Linux Vim 显示行号 多窗口编辑 详解

    Vim显示行号 在使用 Vim 进行编辑的过程中,经常会遇到需要同时对连续几行进行操作的情况,这时如果每行都有行号提示,就会非常方便. 在命令模式下输入":set nu"即可显示每 ...

  4. 【LINUX-vim命令】设置vim显示行号

    [vim命令]设置vim显示行号 linux环境下,使用vim查看或编辑文件,vim打开的文件默认是不显示行号的,问题:怎么才能让vim打开的文件显示行号呢? 1. 临时显示行号 set number ...

  5. CentOS7之vim显示行号

    vim行号显示 让vim显示行号有两种类型:暂时显示行号和永久显示行号. 1.暂时显示行号,随便打开一个文件,末行模式下输入: set nu 或者是: set number 回车立即就会显示行号. 2 ...

  6. 设置 vim 显示行号/ Tab 键缩进为4格

    设置 vim 显示行号/ Tab 键缩进为4格 1. 临时显示行号 在 INSERT 模式下,键入 ESC 退出 INSERT 模式,然后输入 : (注意是英文输入法下),紧接着键入 set numb ...

  7. 虚拟机vim显示行号(学习笔记)

    虚拟机vim显示行号 手动设置显示:在vim命令行模式下输入 :set nu 取消显示:在vim命令行模式下输入: set nonu 第二种是,设置永久自动显示:我们修改一个配置文件. 我们输入命令: ...

  8. Ubuntu系统管理---配置VIM显示行号

    配置vim显示行号 andy@andy-virtual-machine:~/test_shell$ sudo cat /etc/vim/vimrc [sudo] password for andy:  ...

  9. vim显示行号、语法高亮、自动缩进的设置

    在UBUNTU中vim的配置文件存放在/etc/vim目录中,配置文件名为vimrc  在Fedora中vim的配置文件存放在/etc目录中,配置文件名为vimrc 在Red Hat Linux 中v ...

最新文章

  1. 如何画出高级酷炫的神经网络图?优秀程序员都用了这几个工具
  2. 十九、Redis 6.0 的客户端缓存
  3. UA MATH565C 随机微分方程I SDE的定义与例子
  4. arcgis公里坐标转经纬度_高德api交通态势爬取及可视化利用 python+arcgis
  5. 不可多得的Javascript(AJAX)开发工具 - Aptana
  6. POJ - 2289 Jamie's Contact Groups(二分图多重匹配)
  7. 数码管流动显示(自己的单片机)
  8. 工作53:$router问题
  9. mysql主从增量同步_生产环境中mysql主从同步/完整/增量备份
  10. Curator操作ZooKeeper
  11. 华为Mate 40 Pro正面细节曝光:3D人脸识别+双孔曲面屏
  12. Madagascar的自定义浮点型函数--三角函数和反三角函数
  13. Ubuntu 18.04下Couldn't connect to Docker daemon at http+docker://localunixsocket解决办法
  14. 将桌面文件映射至E盘
  15. AOJ-759 会绕圈的数
  16. java雪花算法实现
  17. 解决WPS word论文英文摘要不对齐的问题
  18. 再爆hzhost6.5虚拟主机管理系统的SQL注入漏洞
  19. 在阿里外包是一种什么样的体验?
  20. 关于运筹学三方库的编译和使用 ortools

热门文章

  1. 四个人过桥的题目_云南的几种“勾魂”特产,舌尖上的美味,让人回味无穷,你吃过吗...
  2. python 首次登陆outlook 脚本_记Python“用户环境”的一次完美应用
  3. JavaSE——类集(上)(Collection、List、Iterator、forEach)
  4. Android之自定义属性
  5. 安卓逆向_15( 二 ) --- Android Studio 3.6.3 JNI 环境配置 和 so 生成开发 demo
  6. 移动端 爬虫工具 与 方法 介绍
  7. Linux安装配置类似mac下的docky
  8. create 添加async和不添加的区别_鸽子饮水添加剂肝精与电解质的区别,不能混淆也不能代替...
  9. 查看某个分区之前所有的数据_腾讯大数据面试真题汇总
  10. centos 7 nginx hhvm mysql_CentOS 7 编译安装 HHVM 3.4.1