语法为 :[addr]s/源字符串/目的字符串/[option]
全局替换命令为::%s/源字符串/目的字符串/g
[addr] 表示检索范围,省略时表示当前行。
如:“1,20” :表示从第1行到20行;
“%” :表示整个文件,同“1,$”;
“. ,$” :从当前行到文件尾;
s : 表示替换操作
[option] : 表示操作类型
如:g 表示全局替换;
c 表示进行确认
p 表示替代结果逐行显示(Ctrl + L恢复屏幕);
省略option时仅对每行第一个匹配串进行替换;
如果在源字符串和目的字符串中出现特殊字符,需要用”\”转义
下面是一些例子:
#将That or this 换成 This or that
:%s/\(That\) or \(this\)/\u\2 or \l\1/
—-
#将句尾的child换成children
:%s/child\([ ,.;!:?]\)/children\1/g
—-
#将mgi/r/abox换成mgi/r/asquare
:g/mg\([ira]\)box/s//mg//my\1square/g <=> :g/mg[ira]box/s/box/square/g
—-
#将多个空格换成一个空格
:%s/ */ /g
—-
#使用空格替换句号或者冒号后面的一个或者多个空格
:%s/\([:.]\) */\1 /g
—-
#删除所有空行
:g/^$/d
—-
#删除所有的空白行和空行
:g/^[ ][ ]*$/d
—-
#在每行的开始插入两个空白
:%s/^/> /
—-
#在接下来的6行末尾加入.
:.,5/$/./
—-
#颠倒文件的行序
:g/.*/m0O <=> :g/^/m0O
—-
#寻找不是数字的开始行,并将其移到文件尾部
:g!/^[0-9]/m$ <=> g/^[^0-9]/m$
—-
#将文件的第12到17行内容复制10词放到当前文件的尾部
:1,10g/^/12,17t$
~~~~重复次数的作用
—-
#将chapter开始行下面的第二行的内容写道begin文件中
:g/^chapter/.+2w>>begin
—-
:/^part2/,/^part3/g/^chapter/.+2w>>begin
—-
:/^part2/,/^part3/g/^chapter/.+2w>>begin|+t$
分享到:
相关推荐
#### 二、Vim中的字符串替换命令 Vim提供了强大的搜索与替换功能,其中最常用的就是`:s`命令。该命令的基本格式如下: ``` :s/old/new/flags ``` - `old`:需要被替换的字符串。 - `new`:用于替换的字符串。 - `...
- **替换命令**: - `:s/pattern/replacement/g`: 在当前行全局替换`pattern`为`replacement`。 - `:1,$s/pattern/replacement/g`: 在整个文件中全局替换`pattern`为`replacement`。 - `:.,+10s/pattern/...
- 替换: `:%s/old/new/g` (全局替换) - 替换并确认: `:%s/old/new/gc` - **分屏操作**: - 水平分屏: `sp` - 垂直分屏: `vsp` - 关闭当前窗口: `:close` - 切换窗口: `Ctrl+w` + `h/j/k/l` (分别对应左右上下...
- `:%s/old/new/gc`:全局替换所有`old`为`new`,每次替换前都需要确认。 #### 七、复制与粘贴 Vim提供了丰富的复制与粘贴命令,使得文本操作更加便捷。 - `dd`:删除当前行。 - `yy`:复制当前行。 - `p`:在光标...
- `:[range]s/old/new/[opts]`是基本的替换命令,`old`是旧内容,`new`是新内容,`opts`是选项,如`g`全局替换,`i`忽略大小写。 - 示例:`s/small/big/`替换单个,`s/30/50/g`全局替换。 6. **Visual Mode** - ...
- `:%s/old/new/g`:全局替换文本中的"old"为"new" - `/search`:搜索文本中的"search"字符串 - `:wq`:保存并退出文件 - `:q!`:不保存直接退出文件 #### 四、Vim的灵活性与个性化设置 Vim的强大之处还在于其高度...
本篇文章主要介绍vim中的查找与替换命令,这是vim中最常用的功能之一。 1. 查找命令: 在vim中,按下`/`键,然后输入你要查找的字符串,回车即可。例如,输入`/query_string`并回车,vim会从当前光标位置向下查找...
`g`标志表示全局替换,`c`标志表示替换时需要确认。 选项设置是调整Vim行为的高级功能。命令`set [option]`可以设置各种选项,例如`set number`可以显示行号。其他常用的选项包括`set ignorecase`(忽略大小写搜索...
- 替换字符串:`:%s/old/new/g`,将文档中所有的`old`替换成`new`,`g`表示全局替换。 - **注释代码** - 给某一行添加注释:`map <C-p> #<ESC>`。这里使用了Vim的映射功能,即按住`Ctrl+p`,然后键入`#`,最后按`...
`:s/旧文本/新文本/g`全局替换。 - **可视模式**:按`v`进入可视模式,可选择文本块进行操作。 - **宏录制与回放**:`qq`开始录制,完成操作后`q`停止,`@q`回放宏。 - **寄存器**:vim有多个寄存器,可以存储剪切、...
- `:s/旧字符串/新字符串/g`:替换当前行所有旧字符串为新字符串,`g`表示全局替换。 5. **撤销与重做**: - `u`:撤销最近一次操作。 - `Ctrl + r`:重做撤销的操作。 6. **多窗口操作**: - `:sp 文件名`:...
* :%s/old/new/g:替换整个文件中的文本,old 是要替换的文本,new 是新文本,g 表示全局替换 * :s/old/new:替换当前行中的文本 8. 光标移动 * h:光标左移一个字符 * l:光标右移一个字符 * j:光标下移一行 * k...
在使用Vim时,了解并熟练掌握一些常用的命令至关重要。以下是对标题和描述中涉及的Vim命令的详细解释: ### 命令模式 在命令模式下,用户可以移动光标、删除文本、复制和粘贴等。以下是一些常见的操作: 1. **...
- `:%s/old/new/g`:全局替换所有匹配`old`的内容为`new`。 - `:.,.+s/old/new/g`:在当前行及其后若干行替换所有匹配`old`的内容为`new`。 #### 六、模式切换 - `Esc`:从插入模式返回到正常模式。 - `v`:进入...
11. **查找与替换**:`:/{pattern}`查找,`:s/{pattern}/{replacement}`替换当前行,`:%s/{pattern}/{replacement}/g`全局替换。 Vim的威力在于其丰富的插件和高度自定义性。通过学习和实践,你可以逐步掌握其复杂...
- `:s/string1/string2/g`: 在当前行中替换`string1`为`string2`,`g`表示全局替换。 - `:num1,num2 s/string1/string2/g`: 在行num1到num2之间替换`string1`为`string2`。 - `:1,$ s/string1/string2/g`: 在全文...
- **命令行模式(Command Line Mode)**:通过`:`进入,执行全局命令。 3. **移动光标** - **h/j/k/l**:分别向左、下、上、右移动一格。 - **w/b**:向前/后移动一个单词。 - **gg/G**:跳至文件开头/结尾。 ...
- **替换**: `:s/旧字符串/新字符串` (替换当前行),`:g/旧字符串/s/新字符串` (全局替换) ### 6. 多窗口操作 - **打开新窗口**: `:sp 文件名` (水平分割),`:vsp 文件名` (垂直分割) - **切换窗口**: `Ctrl + w +...
3. **编辑 `/etc/vim/vimrc` 文件**:运行 `vim /etc/vim/vimrc` 编辑 VIM 的全局配置文件。 4. **添加配置**:在文件中添加所需的配置项。 5. **保存并退出**:使用 `:wq` 保存并退出编辑器。 通过以上步骤,你...
- 使用 `:1,$s/pattern/replacement/g` 命令全局替换整个文件中的模式。 - **分屏和标签页:** - 使用 `:split` 或 `:vsplit` 命令打开新窗口。 - 使用 `:tabnew` 命令打开新的标签页。 - 使用 `Ctrl+w` 结合...