第十四章 Vim之替换
来源:互联网 发布:java开发工程师工资 编辑:程序博客网 时间:2024/05/17 01:09
结识substitute命令
:[rangs]s[ubstitute]/{pattern}/{string}/[flags]
利用标志位调整substitue命令的行为
标志位g使得substitutem命令可在全局范围内执行,即可以修改一行内的所有匹配,而不仅仅是第一处匹配。
标志位c让我们有机会可以确认或拒绝每一处修改。
标志位n会抑制正常的替换行为,即让vim不执行替换操作,而只是报告本次substitute命令的匹配的个数。
标志位e用于屏蔽这些错误提示。
标志位&仅仅用于指示vim重用上一次substitute命令所用过的标志位。
替换域中的特殊字符
手动控制每一次替换操作
:%s/content/copy/gc
执行substitute命令通常包括两个步骤,一是撰写查找模式,二是设计合适的替换字符串。
在命令行中输入<C-r>/,即可把上次的查找内容粘贴进来。
用寄存器的内容替换
将替换域留空,意味着substitute命令会用空的字符串替换每一处匹配。即所有的匹配被删除了。
<C-r>{register},我们可以将寄存器的内容插入到替换域。
=》:%s//<C-r>0/g
当我们输入<C-r>/0时,Vim会把寄存器0的内容粘贴进来,这意味着我们可以在执行substitute命令之前对其进行一番检查。
重复上一次substitute命令
:&&命令,这两处&符号的含义有所不同。前一个&作为Ex命令:&的组成部分,用作重复上一次的:substitute命令(参见:h :&),而第二个&则会重用上一次:s命令的标志位。
:&&命令本身只作用于当前行,:’<,’>&&会作用于高亮选区,而:%&&会作用于整个文件。g&命令作为:%&&的快捷方式。
在替换过程中执行算术运算
查找模式、substitute命令
交换两个或更多的单词
返回一个单词
:h submatch(0) only for an expression in a :substitute command. Returns the {nr}’th sub match of the matched text. When {nr} is 0 the whole matched text is returned.
Abolish.vim:超级substitute命令,https://github.com/tpope/vim-abolish
:%S/{man,dog}/{dog,man}/g 实现单词man和dog之间的交换操作。
在多个文件中执行查找与替换操作
为了在工程范围内执行查找操作,我们将用到:vimgrep命令
/Pragmatic\ze Vim
:vimgrep /<C-r>// **/*.txt
:Qargs
:argdo %s//Practical/g
:argdo update
最后3条命令可以连起来使用,:Qargs | argdo %s//Practical/g | update
0 0
- 第十四章 Vim之替换
- 一起talk Vim吧(第十四回:Vim插件之配置文件)
- linux常见问题之vim 查找替换命令
- Linux-Vim编辑器之查找与替换
- vim替换
- vim替换
- vim 替换
- vim 替换
- vim替换
- vim替换
- vim替换
- vim 替换
- vim 替换
- vim替换
- vim 替换
- vim替换
- vim 替换
- vim 替换
- 上拉刷新,下拉加载
- Objective-C入门20:Block
- Android 蓝牙开发(一)Android系统的蓝牙模块简介
- EXCEL编程从0开始
- 字符串笔试题
- 第十四章 Vim之替换
- UVALive 6851 The Programmers(二分图多重匹配)
- sprintf_s使用时候报访问地址冲突
- Unsafe初涉
- 查看/修改Linux时区和时间
- matlab的xml操作
- eclipse luna安装ivy和ivyde插件方法
- 数据结构--图
- 配置TOMCAT远程Debug模式