
Vim 实用技巧(持续更新中!)
发布日期:2021-05-07 17:48:52
浏览次数:19
分类:精选文章
本文共 1163 字,大约阅读时间需要 3 分钟。
Vim 实用技巧
1. 认识 . 命令
. 命令作用
- 重复上次修改:可以重复上次执行的操作。例如:
- 输入
x
会删除光标下的字符,使用.
会重复删除光标下的字符。 - 输入
dd
会删除当前行,使用.
会重复删除当前行。
- 输入
应用举例
- 插入模式中的宏:插入模式中的每次操作都会被记录,使用
.
会重复执行这些操作。
2. 不要自我重复
行尾添加分号
- 方法:
- 使用
j$
移动到行尾并添加分号:j$.
- 使用
.
命令会自动添加分号并返回插入模式。
- 使用
改进方式
- 使用
A
命令:将a
命令替换为A
,然后输入分号并按回车键:A;
之后可以使用
.
重复操作。
一箭双雕
- 复合命令:
C
删除到行尾并进入插入模式。c$
等效于C
。s
删除当前字符并进入插入模式。cl
等效于s
。
3. 以退为进
需求
- 将 JavaScript 字符串拼接的加号前后都加上空格。
方法
- 使用
f+
查找加号:f+
然后输入空格并按回车键:
s
使用
;
重复查找上次查找的位置,使用.
重复修改。
4. 执行、重复、回退
操作控制
- 撤销:
- 多按了
.
,使用u
撤销上次修改。 - 多按了
;
,使用,
跳转回去。
- 多按了
常用表格
目的 | 操作 | 重复方式 | 撤销方式 |
---|---|---|---|
修改操作 | {修改} | . | u |
查找下一字符 | f{字符} /t{字符} | ; | , |
查找上一字符 | F{字符} /T{字符} | ; | , |
文档查找 | /pattern | n /N | ?pattern |
执行替换 | :s/target/replacement | & | u |
一系列操作 | qx{修改}q | @x | u |
5. 查找并手动替换
需求
- 将文本中的
content
替换为copy
。
方法
- 使用
*
查找当前光标下的单词:content
或者直接将光标移动到
content
上:*
- 输入
cw
替换为copy
:cwcopy
- 使用
n
和.
重复修改。
6. 认识 . 模式
. 模式特点
- 只需按一次键即可移动光标到下一个目标位置。
- 使用
.
重复上次修改。
优势
- 灵活性高:只需一次按键即可完成复杂操作。
- 高效操作:适合处理大量重复性任务。
7. 停顿时请移开画笔
原则
- 正常模式是 Vim 的默认状态,适合长时间编辑。
- 长时间停顿会导致注意力分散,建议定期返回插入模式。
8. 切分撤销单元
控制粒度
- 使用
u
命令触发撤销,粒度可根据需求调整。 - 保持每次插入模式的内容作为一个独立的撤销单元。
适用场景
- 适合处理单词、句子或段落的修改。
9. 构造可重复的修改
需求
- 删除单词
nigh
,光标位于h
。
方法
- 反向删除:
db.
- 正向删除:
b dw.
- 删除整个单词:
aw.
决胜局
- 使用
daw
可以发挥.
命令的最大威力。
通过以上技巧,Vim 的编辑效率可以显著提升。
发表评论
最新留言
很好
[***.229.124.182]2025年03月28日 03时36分44秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
程序设计基础75 tips 广度搜索细节问题
2019-03-05
笨办法学python之数据类型
2019-03-05
笨办法学Python之将对象名的字符串类型,转化成相应对象
2019-03-05
ArduPilot源码极速下载手册(一文告别github慢速问题)
2019-03-05
聊一聊那些应该了解的大佬(飞控,人工智能方向)
2019-03-05
ArduPilot+mavros+gazebo+QGC联合仿真初体验
2019-03-05
px4调试bug--添加mavlink_log_info信息
2019-03-05
redis替换字符串命令
2019-03-05
redis向数组中添加值并查看数组长度
2019-03-05
python3基础梳理11python中模块和包
2019-03-05
JS编写一个函数,计算三个不同数字的大小,按从小到大顺序打印(穷举法)
2019-03-05
jQuery实现轮播图效果
2019-03-05
mybatis中like的注意
2019-03-05
sqlplus的基本使用
2019-03-05
oracle删除表重复数据
2019-03-05
Oracle删除主表数据
2019-03-05
js中两种定时器,setTimeout和setInterval实现验证码发送
2019-03-05
Oracle常用SQL
2019-03-05
技术美术面试问题整理
2019-03-05