vim中替换命令

在VIM中进行文本替换:

1.  替换当前行中的内容:    :s/from/to/    (s即substitude)

:s/from/to/     :  将当前行中的第一个from,替换成to。如果当前行含有多个

from,则只会替换其中的第一个。

:s/from/to/g    :  将当前行中的所有from都替换成to。

:s/from/to/gc   :  将当前行中的所有from都替换成to,但是每一次替换之前都

会询问请求用户确认此操作。

注意:这里的from和to都可以是任何字符串,其中from还可以是正则表达式。

2.  替换某一行的内容:      :33s/from/to/g

:.s/from/to/g   :  在当前行进行替换操作。

:33s/from/to/g  :  在第33行进行替换操作。

:$s/from/to/g   :  在最后一行进行替换操作。

3.  替换某些行的内容:      :10,20s/from/to/g

:10,20s/from/to/g   :  对第10行到第20行的内容进行替换。

:1,$s/from/to/g     :  对第一行到最后一行的内容进行替换(即全部文本)。

:1,.s/from/to/g     :  对第一行到当前行的内容进行替换。

:.,$s/from/to/g     :  对当前行到最后一行的内容进行替换。

:‘a,‘bs/from/to/g   :  对标记a和b之间的行(含a和b所在的行)进行替换。

其中a和b是之前用m命令所做的标记。

4.  替换所有行的内容:      :%s/from/to/g

:%s/from/to/g   :  对所有行的内容进行替换。

5.  替换命令的完整形式:    :[range]s/from/to/[flags]

5.1 s/from/to/

把from指定的字符串替换成to指定的字符串,from可以是正则表达式。

5.2 [range]

有以下一些表示方法:

不写range   :  默认为光标所在的行。

.           :  光标所在的行。

1           :  第一行。

$           :  最后一行。

33          :  第33行。

‘a          :  标记a所在的行(之前要使用ma做过标记)。

.+1         :  当前光标所在行的下面一行。

$-1         :  倒数第二行。(这里说明我们可以对某一行加减某个数值来

取得相对的行)。

22,33       :  第22~33行。

1,$         :  第1行 到 最后一行。

1,.         :  第1行 到 当前行。

.,$         :  当前行 到 最后一行。

‘a,‘b       :  标记a所在的行 到 标记b所在的行。

%           :  所有行(与 1,$ 等价)。

?chapter?   :  从当前位置向上搜索,找到的第一个chapter所在的行。(

其中chapter可以是任何字符串或者正则表达式。

/chapter/   :  从当前位置向下搜索,找到的第一个chapter所在的行。(

其中chapter可以是任何字符串或者正则表达式。

注意,上面的所有用于range的表示方法都可以通过 +、- 操作来设置相对偏

移量。

5.3 [flags]

这里可用的flags有:

无      :  只对指定范围内的第一个匹配项进行替换。

g       :  对指定范围内的所有匹配项进行替换。

c       :  在替换前请求用户确认。

e       :  忽略执行过程中的错误。

注意:上面的所有flags都可以组合起来使用,比如 gc 表示对指定范围内的

所有匹配项进行替换,并且在每一次替换之前都会请用户确认。

时间: 2024-10-16 12:38:52

vim中替换命令的相关文章

vim中替换命令(转)

vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询.    :s/vivian/sky/ 替换当前行第一个 vivian 为 sky    :s/vivian/sky/g 替换当前行所有 vivian 为 sky    :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky    :n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivi

vim全局替换命令

语法为 :[addr]s/源字符串/目的字符串/[option] 全局替换命令为::%s/源字符串/目的字符串/g [addr] 表示检索范围,省略时表示当前行. 如:“1,20” :表示从第1行到20行: “%” :表示整个文件,同“1,$”: “. ,$” :从当前行到文件尾: s : 表示替换操作 [option] : 表示操作类型 如:g 表示全局替换; c 表示进行确认 p 表示替代结果逐行显示(Ctrl + L恢复屏幕): 省略option时仅对每行第一个匹配串进行替换: 如果在源字

再谈Vim substitute替换命令

在Vim替换命令一文介绍过,substitute 命令的语法格式为::[range]s[ubstitute]/{pattern}/{string}/[flags]. [flags] 表示可选的标志位,常用的包括 g.c.n.e 等.其中,标志位 g 使得 substitute 命令可以修改一行内的所有匹配,而不仅仅是第一处匹配:标志位 c 可以确认或拒绝每一处修改:标志位 n 让 Vim 不执行替换操作,而只是统计和显示本次 substitute 命令匹配的个数:标志位 e 专门用于屏蔽错误提示

vim字符串替换命令

呜呜老是忘. 这里记录一下,只记录其中日常用的最多的命令. :%s/str1/str2/g   替换每一行中所有str1为str2 常用! :s/str1/str2/g 替换当前行所有str1为str2 其他一大堆的东西参见:http://blog.csdn.net/gqb_driver/article/details/8771205

Vim 字符串替换命令

命令模式下输入如下命令可实现替换: s/str1/str2/ 替换当前行第一个 str1 为 str2 s/str1/str2/g 替换当前行中所有的 str1 为 str2 m,ns/str1/str2/ 替换第 m 行到第 n 行中每一行的第一个 str1 为 str2 m,ns/str1/str2/g 替换第 m 行到第 n 行中所有的 str1 为 str2 %s/str1/str2/ 替换文中每一行的第一个 str1 为 str2 %s/str1/str2/g 替换文中所有的 str1

复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符及在vim中设置tab缩进为4个字符

1.复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符 在命令模式下,使用正则表达式匹配 行首有空白字符行的模式:^[[:space:]]*\([^[:space:]]*\),输出命令 %s#^[[:space:]]*\([^[:space:]]*\)#\1#g1 2.vim中设置tab缩进为4个字符 vim .vimrc 输入 set tabstop=4 原文地址:https://www.cnblogs.com/mwd-123/p/

Vim 替换命令

一,":substitute"的使用 :substitute 命令可以对一个指定范围的区域执行替换操作,可以简写为:s ,它的通用形式如下: :[range]substitute/from/to/[flags] 该命令是有[range]指定范围中字符串"from"替换为"to"; 例如文本的每一行中第一次出现"linux"替换为"FreeBSD": :%s/linux/FreeBSD/ 注意:这里最后面没有

VIM替换命令

在VIM中进行文本替换: 1.  替换当前行中的内容:    :s/from/to/    (s即substitude) :s/from/to/     :  将当前行中的第一个from,替换成to.如果当前行含有多个 from,则只会替换其中的第一个. :s/from/to/g    :  将当前行中的所有from都替换成to. :s/from/to/gc   :  将当前行中的所有from都替换成to,但是每一次替换之前都 会询问请求用户确认此操作. 注意:这里的from和to都可以是任何字

vim 查找和替换命令 替换/n和\n

一. 字符串的查找 1. vim 中用 / 和 ? 来查找字符串,两者的区别是: /string 会高亮显示光标后匹配的第一个字符串,回车后光标移到该字符串的第一个字母: ?string 会高亮显示光标前匹配的第一个字符串,回车后光标移到该字符串的第一个字母. 在回车之后,按n键同方向转到下一个匹配的字符串,按N键反方向转到上一个匹配的字符串. 2. 用命令 :set ic 和 :set noic 来分别设置查找时不区分和区分大小写. 如果查找特殊字符,如 ^.$.*./ 和 .,需要在前面加