- 批量修改文件
可以利用 :args 和 :argdo 命令
- :args d:\aa\**
- :ar
- :argdo %s/str/new_str/g|update!
对args列表中的文件分别字符串替换操作。Windows下字符串中回车用 \r 代替。
- 将"val1 变量1"替换为"private String val1; //变量1"
:%s/^\(\w\+\)\s/private String \1; \/\//g
解释:使用"\("和"\)" 符号括起正则表达式,即可在后面使用\1、\2等变量来访问 /( 和 /) 中的内容。
- 快速替换单词
1.光标移动到aaa的开头,按 v 按e 按y
2.光标移动到bbb的开头,按 v 按e 按p
也就说,快速选中一个单词,按v按e即可。
- 块操作
Ctrl + v 进入块可视模式,通过键盘移动光标进行选择区域,配合ypd等操作达到相应的目的。如:
在选定块的每行前面加上// ,一般在语言中表示注释
1.Ctrl + v选定列
2.按I,插入//
3.按esc
- 括号、引号等块操作
更改配对标点符号中的文本内容: ci’、ci”、ci(、ci[、ci{、ci<
删除配对标点符号中的文本内容: di’、di”、di(、di[、di{、di<
复制配对标点符号中的文本内容:yi’、yi”、yi(、yi[、yi{、yi<
选中配对标点符号中的文本内容:vi’、vi”、vi(、vi[、vi{、vi<
- 文件差异对比
1.如果已经打开了文件file1,再打开另一个文件file2进行比较:
:vert diffsplit file2
2.定位到不同点:
[c 跳到前一个不同点
]c 跳到后一个不同点
3. 合并文档:
dp 将差异点的当前文档内容应用到另一文档(diff put)
do 将差异点的另一文档的内容拷贝到当前文档(diff get)
4. 在窗口间跳转:
ctrl-w w 跳到下一个窗口
ctrl-w h 跳到左侧窗口
ctrl-w l 跳到右侧窗口
ctrl-w j 跳到下方的窗口
ctrl-w k 跳到上方的窗口
5. 如果更改了某个窗口的内容,vim又没有自动更新diff检查,可以使用如下命令更新:
:diffupdate