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 把光标移动到前一个折叠的结束处;
posted @ 2021-09-26 15:06  编程驴子  阅读(856)  评论(0编辑  收藏  举报