vi是个非常好用有用的linux 文本编辑工具,而文本替换也是非常常用的功能。
下面是一些,基本的命令格式:
:[range]s/pattern/string/[c,e,g,i]
参数详情:
range |
指的是範圍,1,7 指從第一行至第七行,1,$ 指從第一行至最後一行,也就是整篇文章,也可以 % 代表。 % 是目前編輯的文章,# 是前一次編輯的文章。 |
pattern |
就是要被替換掉的字串,可以用 regexp 來表示。 |
string |
將 pattern 由 string 所取代。 |
c |
confirm,每次替換前會詢問。 |
e |
不顯示 error。 |
g |
globe,不詢問,整行替換。 |
i |
ignore 不分大小寫。
|
- %s/s1/s2/ 用字符串s2每行替换s1的第一个字符串s1
如:
hello ok
hello hello ok
输入命令 :%s/hello/gogo
会变成:
gogo ok
gogo hello ok
- %s/s1/s2/gc 用字符串s2每行替换s1的所有字符串s1
如:
hello ok
hello hello ok
输入命令 :%s/hello/gogo
会变成:
gogo ok
gogo gogo ok
但是:系统会提示你,replace with gogo (y/n/a/q/l/^E/^Y)? 输入y即可替换
- :n,$s/s1/s2/ 用字符串s2 替换从n行开始到最后一行,每行的第一个字符串s1
- :n,$s/s1/s2/gc 用字符串s2 替换从n行开始到最后一行,所有字符串s1
- :s/s1/s2 用字符串s2 替换当前行开始到最后一行,第一个字符串s1
- :s/s1/s2/gc 用字符串s2 替换当前行开始到最后一行,所有字符串s1
但是系统会给提示 replace with gogo (y/n/a/q/l/^E/^Y)? 输入y即可替换
Other:
命令前面指明范围是 “%”,所以这会作用于整个文件。”substitute” 命令的匹配模式是
“\s\+$”。这表示行末($)前的一个或者多个(\+)空格(\s)。替换命令的 “to” 部分是空的:”//”。这样就会删除那些匹配的空白字符。
分享到:
相关推荐
Unix VI 编辑器是一款基于底层行...通过本文介绍的知识点,我们可以了解到 VI 的基本工作原理、各种操作模式、命令输入方法、文件操作命令以及搜索和替换文本的方法,这些都是使用 VI 编辑器进行高效文本编辑的基础。
`:global`命令可以对文件中的每一行执行特定命令,`:substitute`用于查找并替换文本。 八、可选项 Vim的配置非常灵活,通过`.vimrc`文件可以设置各种选项以定制个人工作环境。例如,`set number`显示行号,`set ...
vi中的替换命令(substitute)可以用于批量编辑,例如,通过正则表达式匹配特定模式,然后将其替换成新的字符串。具体命令格式为: ``` :[range]s/[pattern]/[replacement]/[flags] ``` 其中,`[range]`指定要操作...
进行向前和向后搜索,使用 :substitute 命令进行替换操作。 4. **撤销与重做**:介绍VIM的撤销和重做机制,如何通过 .u 和 .U 命令恢复误操作。 5. **多窗口编辑**:解释如何创建和管理多个编辑窗口,以及在窗口...
':substitute'命令实现全局替换,如':s/old/new/g'将所有'old'替换为'new'。 五、文件操作 ':e filename'打开新文件,':w'保存当前文件,':wq'保存并退出,':q!'不保存强制退出。':sp'或':vs'用于水平分割窗口,':...
3. **命令行**: Vim的命令行模式提供了丰富的文本处理命令,如`:delete`(删除行)、`:append`(在指定行后追加文本)、`:substitute`(替换文本)等。通过这些命令,用户可以高效地操作文件。 4. **插件支持**: ...
- `nmap <leader>p :let @* = substitute(@*,'[^[:print:]]','','g')<cr>"*p`:从剪贴板过滤非可打印字符后再粘贴。 4. **文本格式化** - `gq}`:重新格式化当前段落。 - `gqap`:格式化当前段落。 - `ggVGgq`...
虽然文件是只读的,但我们仍然可以使用`:global`命令进行全局搜索,或者`:substitute`命令进行替换。为了确保这些操作不会实际更改文件,我们需要在执行替换操作后撤销更改: ```vim function! PrivateReplace...