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

引言

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

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

d9026fa9b817719f18d911af00cbabea.png

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 :-)

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/506114.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 获取对象方法有哪些方法有哪些方法有哪些_Java中创建String 对象的方法有哪些...

Java中创建String 对象的方法有哪些发布时间:2020-11-25 16:45:30来源:亿速云阅读:71作者:Leah这篇文章将为大家详细讲解有关Java中创建String 对象的方法有哪些,文章内容质量较高,因此小编分享给大家做个参…

vb中怎么使图片适应框的大小_叮!VB考前练习了解一下?

1、Visual Basic窗体设计器的主要功能是(C )。A) 画图B) 编写源程序代码C) 建立用户界面D) 显示文字解析:Visual Basic窗体设计器简称窗体(Form),是应用程序最终面向用户的窗口,它对应于应用程序的运行结果。各种图形、图像、数据等都是…

苹果切换输入法_日语输入法哪个好

在初学日语的时候经常会遇到一些不认识的词,想查一下这个词是什么意思,应该怎么输入呢?尝试过许多软件之后,テツ为大家总结了一些认为比较好用的输入法百度IME输入法。下载安装后的切换非常简单,在右下角输入法处切换至JP日语即可…

python 10个100以内随机整数编辑_你要偷偷的学Python,然后惊呆所有人(第五天) - python阿喵

标题无意冒犯,就是觉得这个广告挺好玩的前言前期回顾:你要偷偷学Python,然后惊呆所有人(第四天)在第四天的时候,我们接触了Python的模块调用,这也是Python能够火起来的一大优势。我们还实践了csv模块。不过冷静下来想想…

安卓开发怎么调用photopicker_谷歌出手整顿安卓应用程序乱象:无良权限的APP们再见了!...

相信你在使用安卓手机的时候一定有过这样的经历,在明确拒绝了软件调用电话、手机通讯录、短信等敏感内容的访问权后,APP表示无法继续运行然后强退。如果这款APP不具备可替代性,恐怕最终结果是,用户不得不选择妥协。关于应用程序度…

react router官方文档_阿里开源可插拔 React 跨端框架 UmiJS

点击上方“开发者技术前线”,选择“星标”18:30 在看 真爱作者:Tamic | 编辑: 可可阿里之前开源:阿里闲鱼开源 Flutter 应用框架 Fish Redux! 今天介绍的是前端React 框架- UmiJS。介绍umi官方宣称是一个…

java约瑟夫环迭代器_Josephus约瑟夫环问题的不同实现方法与总结

/************************************************************************//* Josephus问题——数组实现 *//************************************************************************/#include #include int Josephus(int t…

ios 下拉放大 上拉缩小_为啥鞠婧祎发量这么多?截图放大十倍她的“发缝”,网友:真密集...

​鞠婧祎,这位女明星真的是黑,红,黑,红。这不是秘密。鞠婧祎最近几天的确很受欢迎。甚至头发也受到质疑。一般而言,娱乐业的演艺人员由于多年来的工作时间安排不规则以及采取巴拉克拉法帽的行为,通常都有使…

opencv4.5.0安装包_UG NX12.0 软件介绍(附安装包)

【软件名称】 UG NX12.0【文件大小】 5.67GB 【语言支持】 简体中文【系统类型】 64位【兼容系统】 Win7 / Win8 / Win10【下载链接】 文末扩展链接获取软件简介:西门子公司推出了最新版的Siemens NX 12.0版本(UG12.0),该软件提供了当今市场上唯一可扩展…

win7备份工具_win7系统小白一键系统详细教程

很多朋友给小白留言说,使用了新版小白的一键备份后,不知道如何还原系统。体验过新版的朋友们最大的感受就是这个工具越来越小了。接下来,win7系统的一键还原将为您带来一个详细的教程。在系统一键备份方面,如何减少系统一键还原&a…

iis php网站500错误原因_如何解决iis php 500错误问题

iis php500错误的解决办法:1、打开PHP.ini,设置显示错误;2、把“require(./xxx.php)”改成“require(xxx.php)”;3、给网站的上级目录赋予iis用户读权限即可。推荐:《PHP视频教程》本方法适用于任何品牌的电脑。IIS 配…

win10右键一直转圈_Win10总是自动更新?教你如何关掉自动更新

小白系统免费的人工客服点击联系win10怎么关闭自动更新呢?平时不定期的对系统进行更新虽然可以给让我电脑的运行变得更加流畅,但是,不少用户却遇到了win10更新之后不兼容等一系列的问题,因此,就都将要将自动更新功能关…

springboot 中文文档_还在用 Swagger生成接口文档?我推荐你试试它

JApiDocs是一个无需额外注解、开箱即用的SpringBoot接口文档生成工具。编写和维护API文档这个事情,对于后端程序员来说,是一件恼人但又不得不做的事情,我们都不喜欢写文档,但除非项目前后端代码都是自己写的,否则API文…

wringPi 初始化GPIO 为上拉_玩转GPIO之PWM点亮呼吸灯(非树莓派)

在这篇文章,我介绍了基于逸宸电子开发的总线适配器来点亮LED灯的基本方法!myastrotong:玩转GPIO之点灯(非树莓派)​zhuanlan.zhihu.com这款总线适配器的介绍见这里:工业级高速USB转SPI I2C PWM GPIO UART C…

dnf如何快速拾取物品_DNF手游泰拉该如何获取,游戏蜂窝辅助托管快速获取泰拉...

在DNF手游中,一共存在三种的核心货币——点券,泰拉还有金币。点券是用来买商城道具的主要流动货币,金币则是用来打造装备的,而泰拉是有两种货币的共同点,所以它既能在商城购买各种道具,又能兑换金币。所以说…

java商城_java网上商城系统怎么样?优势又有哪些?

导读:大家都知道Java是一款非常实用的开发语言,而通过Java开发的商城吸引也因为其强大安全性能与使用性能等优势受到了很多企业商家的青睐,那么一款功能丰富的Java商城系统也自然成为...大家都知道Java是一款非常实用的开发语言,而…

php socket keepalive,linux keepalive探测对应用层socket api的影响

问题大部分人都知道tcp的keepalive. 假设读者知道keepalive会如何触发. 这篇文章想讨论keepalive触发后, 对socket使用者的影响.keepalive设置修改/etc/sysctl.confubuntu# vim /etc/sysctl.confubuntu# sysctl -pfs.file-max 131072net.ipv4.tcp_keepalive_time 10net.ipv4.…

qt 文字倾斜投影_帅呆!钢铁侠中的激光投影键盘终于量产了,炫酷又好用

看过电影《钢铁侠》的朋友,估计都会被钢铁侠的各种黑科技所折服,比如钢铁装甲、全息投影、人工智能贾维斯等等。不过这些黑科技想要实现还需要一段时间。但其中有一项黑科技已经被国产厂商实现了,那就是——激光投影键盘。早在去年&#xff0…

手机投电脑_把王者荣耀投屏到电脑上玩更爽哦——投屏神器幕享

今天给大家介绍一款投屏神器,它叫做幕享。直接摆观点——现今最好用的投屏工具,没有之一!它是全平台都有的软件哦,这意味着除了电脑,你还可以在安卓市场和Appstore下载到它。三个平台都有意味着什么呢,心细…

清华大学镜像_国内开源镜像站信息盘点

一、前言开源镜像站点是一个放置开源系统镜像文件的站点,免费提供镜像文件下载服务,可以刻盘也可以直接用虚拟光驱安装操作系统、开源软件、Linux源码网站。目前,各大高校都纷纷建立了自己的镜像站,一些有实力的大厂也开始为开源事…