《Vim 常用操作与查找替换》
1. 常用命令
| 快捷键 | 作用 |
|---|---|
Ctrl + B |
向上翻页 |
Ctrl + F |
向下翻页 |
dd |
删除当前行 |
yy |
复制当前行 |
p |
粘贴 |
u |
撤销 |
Ctrl + r |
重做 |
2. 竖着插入字符(跨多行)
当需要同时为多行行首插入相同内容时,可以使用可视块模式:
- 将光标移动到第一行需要插入的位置。
- 进入可视块模式:
Ctrl + v。 - 按
j向下移动选中多行(如3j选中 3 行)。 - 按大写
I进入插入模式。 - 输入要插入的内容。
- 按
ESC即可在所有选中行生效。
3. 将 Tab 替换为 4 个空格
set ts=4
set expandtab
%retab!
4. 正则查找替换
在命令行模式下使用 :s 命令做正则替换:
:%s/old/new/g
% 表示整个文件,g 表示全局替换每一行的所有匹配。
4.1 使用分组捕获
Vim 正则中 \( 和 \) 用于分组,\1 引用第 1 个分组。例如将 json:... 形式的 tag 批量转换为 json:"...":
type Config struct {
Age int `json:number`
Name string `json:name`
}
在命令行模式下执行:
:%s/json:\(.*\)`/json:"\1"`/g
4.2 转义规则
| Vim 语法 | 含义 |
|---|---|
\( \) |
分组(非转义版本 ( ) 为字面量) |
\1 |
引用第 1 个分组 |
\d |
数字 |
\s |
空白字符 |
.* |
任意字符任意次数(贪婪) |
^ $ |
行首 / 行尾 |
更详细的 Vim 正则参考:http://vimregex.com/
阅读 —
·
全站 —