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把光标移动到前一个折叠的结束处;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值