gvim操作
gvim操作
目录
1. 匹配和搜索
1.1 只在指定的特定行中搜索
/pattern\%>27l # 搜索pattern, 搜索范围是27行以后, 其中l表示按行搜索
/pattern\%>27l\%<40l # 搜索pattern, 搜索范围是27行以后40行以前, 其中l表示按行搜索
注意, 不要在%>27l两边随便加空格.
另外, 除了指定行进行(l)搜索, 还可以指定列(c)搜索, 或指定标记(m)进行搜索.
/pattern\%>27l\%<40l\%>55c # 搜索范围: 27行以后, 40行以前, 55列以后
1.2 对匹配pattern的行进行操作
:g;pattern; s;^;//; # 对匹配pattern的行, 行首添加注释标记"//".
1.3 跨行匹配(在一个pattern中匹配两行)
:%s;\(^.*\)\n\1$;\1; # 如果相邻两行相同, 只保留一行.
1.4 将匹配到的行输出到一个文件中
:!touch new.txt # 调用linux系统命令touch创建一个新文件new.txt.
:g;pattern; .w >> new.txt # 获取匹配pattern的行, 写到new.txt中.
1.5 向前引用
使用\1和\2等可以引用前面括号内的内容.
第1.3节也使用了向前引用.
:%s;\(\w\+\) 123 \(\d\+\) 456 \2;\2 \1;
2. 文件操作
2.1 打开光标位置的文件
gf # 在当前窗口打开光标位置的文件.
Ctrl+w gf # 在new tab中打开光标位置的文件.
Ctrl+w f # 在横分(sp)的窗口中打开光标位置的文件.
3. 文本内容
3.1 产生递增或递减数列(通过line函数实现)
:%s;0;\=line(".")-21; # 将每行的0改为递增值: 当前行号-21.
:%s;0;\=26-line("."); # 将每行的0改为递减值: 26-当前行号.
3.2 在一个vim窗口复制内容, 在另一个窗口粘贴内容
在一个vim窗口操作: 1) 按"* 2) 进行复制操作
在另个vim窗口操作: 1) 按"* 2) 进行粘贴操作
4. 折叠
:h Folding
: 查看折叠的帮助文档.
展开和收起折叠
命令 | 作用 |
---|---|
zo | 展开光标下的折叠; |
ZO | 展开光标下的折叠, 以及嵌套的折叠; |
zc | 收起光标下的折叠; |
zC | 收起光标下的折叠, 以及嵌套的折叠; |
za | 如果光标下的折叠是展开的, 则收起; 如果光标下的折叠是收起的, 则展开; |
zA | 与za类似, 区别是对嵌套的折叠也有效; |
zv | 展开光标下的折叠, 仅展开足够的折叠, 使光标所在的行不被折叠; |
zr | ?? |
zR | 展开所有折叠; |
zM | 收起所有折叠; |
创建和删除折叠
命令 | 作用 |
---|---|
zE | 删除所有折叠标签; |
zf | 创建折叠; |
在折叠中移动:
命令 | 作用 |
---|---|
[z | 把光标移动到当前展开的折叠的开始位置. 如果已经在开始处, 则移动到包含这个折叠的折叠开始处; |
]z | 把光标移动到当前展开的折叠的结束位置. 如果已经在结束处, 则移动到包含这个折叠的折叠结束处; |
zj | 把光标移动到下一个折叠的开始处; |
zk | 把光标移动到前一个折叠的结束处; |