neovim(vim) 的搜索和替换

2024.02.21 补充两个实际的使用场景。

批量替换行开头的空格:

1
:%s/^\s\+/g

批量替换行结尾的空格:

1
:%s/\s\+$/g

补充一些关于正则的知识:

  • 表示空格的转义:\s

以下是原来的记录。

有时候 copy 别人的代码,这个搜索替换的功能还是挺实用的。

主要是面向实用。先拣几个常用的指令记录一下。

全局搜索替换所有符合条件的字串:

1
:%s/foo/bar/g

foo 是待替换的字符串,bar 是替换后的字符串。

如果想确认每一个替换,那么,可以在结尾加一个 c 选项:

1
:%s/foo/bar/gc

如果是当前行而非全局替换的话,那么,把 % 去掉即可。

复杂一点的通配符的话,下次再学。

2022.09.11 更新

来学一点多样化操作。

批量替换的操作。

语法:

1
:[addr]s/source_string/dest_string/[option]

其中,[addr] 表示范围,省略时表示当前行。

  • 1,20:表示从 1 到 20 行。
  • %:表示整个文件,这个应该不用多说了吧。同 1,$
  • .,$:从当前行到文件末尾。

[option] 表示操作类型。

  • g:表示进行全局替换。
  • c:表示替换时需要我们一个一个确认。

2022.09.20 更新

对于特殊字符的处理,我们需要加上转义符:

^$*/\. 都需要转义,前面加上 \


neovim(vim) 的搜索和替换
http://fanlumaster.github.io/2022/08/21/neovim-vim-的搜索和替换/
作者
fanlumaster
发布于
2022年8月21日
许可协议