22

Vim中怎么将目标字符替换成新行以及如何替换换行符-Vim技巧 | vim教程网

 4 years ago
source link: https://vimjc.com/replace-target-with-newline-in-vim.html?
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Vim中怎么将目标字符替换成新行以及如何替换换行符-Vim技巧

Vim替换命令s是Vim使用者的一个常用命令。通过指定将被替换的源目标串以及将要显示的目标串,以及替换操作的执行范围等信息,可以指示Vim在特定范围进行字符串匹配和替换操作。

一、Vim下将目标字符替换成新行

在有些场景下,需要将当前文件中的某些语句进行换行显示,达到文件排版等目的。例如,假设希望将如下的文本内容进行逐句按行显示:

1
Vim教程网(https://vimjc.com)是由一个女生苦苦支撑和维护的Vim相关网站。虽然一直没什么人气,但是她仍然坚持更新了6年的博文。目前已经写了100+篇Vim命令和技巧相关的文章。希望能给有需要的同学提供一点点帮助。

对于Vim入门者来说,最先想到的命令可能是在Vim命令行模式下执行替换命令::%s/。/。\n/g。不过很遗憾,这条命令并不会如你所愿,将当前文件中的所有 替换成新行。

这里主要涉及到Vim下的换行符以及Vim替换命令。

首先,Vim替换命令substitute的语法格式为::[range]s/源字符串/目标字符串/[option];其次,换行符在替换命令的 源字符串目标串 分别具有不同的含义。

替换命令的 源字符串 部分,用于指定搜索目标,要在替换命令的源字符串部分匹配行尾,需要使用 \n

替换命令的 目标字符串 部分,用于指定要替换出的目标,如果要通过替换命令插入新行,需要使用 \r

因此,对于本文最开始举例的文本,Vim命令 :%s/。/。\r/g 可对其实现逐句按行显示的效果,如下所示。

1
2
3
4
Vim教程网(https://vimjc.com)是由一个女生苦苦支撑和维护的Vim相关网站。
虽然一直没什么人气,但是她仍然坚持更新了6年的博文。
目前已经写了100+篇Vim命令和技巧相关的文章。
希望能给有需要的同学提供一点点帮助。

反之,如果需要将上面逐句按行显示的文本转换成本文开头描述的文本,可以执行Vim命令 :%s/。\n/。/g

vim替换新行

一句话总结上述内容就是:对于Vim替换命令s来说,如果要 替换掉 换行符,需使用 \n 作为搜索串;如果要 替换出 新行,请使用 \r 作为目标串。

qrcode.jpg

《女程序员说》

原创不易,希望能给小女子的公众号加个关注~


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK