vim

vim-skills

Posted by Juan on 2017-06-02

基于实际开发场景下,vim使用技巧汇总

查找修改

删除从指定处到句尾的所有文本,但是不想删除句号

Example:删除下句从,号到.号之间的文本

1
I've been expecting you, Mister Bond.

Vim操作

1
2
f,
dt.

删除中间一段文本

Example: 删除下句中tasks time but eventually

1
This phrase takes time but eventually gets to the point.

Vim操作

1
2
ft
d/ge

在可视模式和操作符待决模式中,选中分隔符',",{,[,(,<区域内外

a开头的文本对象会选择包含分隔符在内的整个文本
i开头的文本会选择分隔符内部的文本,为了便于记忆,可以把i想成inside,而把a想成around

{motion}表示分隔符文本对象,常见的包括d{motion}、c{motion}、y{motion}

Example:

1
<a href="{url">{title}</a>

Vim操作

1
2
3
cit # 修改标签内部的内容
yit # 拷贝标签内的文本
dit # 删除标签内的文本

分隔符文本对象

文本对象 选择区域 文本对象 选择区域
a) 一对圆括号 i) 圆括号内
a} 一对花括号 i} 花括号内
a] 一对中括号 i] 中括号内
a> 一对尖括号 i> 尖括号内
a’ 一对单引号 i’ 单引号内
a” 一对双引号 i” 双引号内
a` 一对反引号 i 反引号内
at 一对标签 it 标签内

不用离开vim就能方便调用外部程序

1
2
3
4
5
:shell # 启动一个shell会话
pwd # 执行shell命令
ls
git grep
exit #返回vim