Vim 利剑常磨,见血封喉

(给程序员的那些事加星标


来源:以乐之名

segmentfault.com/a/1190000017502205


年底了,故事总是会有很多。

刚了一波通宵加班,趁着有时间,过了一遍Vim教程,顺便汇总下常用命令。

对于以OSX / Linux为开发环境的伙伴们,应该并不陌生。因其轻便,扩展性,可定制化,一直很受开发者追捧。高阶大神,袖中必有深藏。

Vim编辑器简洁易用,在终端上可用来快速查看修改文档。虽然与其他编辑器如WebStrom、VScode相比,功能扩展相对欠缺,对新手朋友不太友好。但胜在多数Linux系统已附带,开箱即用,终端直接使用,无需再多开一个应用窗口。

作为一名前端开发工程师,如果你想秀操作用Vim来写HTML/CSS/JavaScript,我只想说一句,“小伙子,你很6啊!”。

Vim学习的过程不是两三天即可入境,懒惰如笔者,几天不敲,命令忘了七八。时不时还得翻出来看看,至今仍以新手自居。

前言 vi/vim的区别

vim 是 vi 的升级版本,它不仅兼容vi的所有指令,还有新增了一些新的特性。

 
 
  1. vi filename

  2. vim filename

  3. // 两者同样的功能,能少敲一个字母,所以我们就用vi吧

“工具总须多磨,方才用的趁手。”

Mac 终端键入 vimtutor 即可进入Vim入门教程,30分钟足以让你应对Vim日常操作。

常规操作


命令说明
x删除光标下的字符
X删除光标左边的字符
s修改一个字符(与r的区别,修改后直接进入Insert模式)
i光标前插入字符
a光标后插入字符
A行尾插入字符
o光标下方新建一行并进入Insert模式
O (字母)光标上方新建一行并进入Insert模式
r替换字符(单个)
R替换字符(多个)
cw替换文本直到单词末尾(ce也可)
c$替换文本直到行尾
dw删除单词 (de, d2w)
d$删除到行尾
D删除到行尾
S删除到行为,并进入Insert模式
dd删除整行
y复制
yy复制整行 (yw, ye)
p粘贴到光标之后
P粘贴到光标之前
u撤销
.重复上一次操作
:!执行外部名 (:!dir/:ls)
%查找配对的括号 ), }, ]
v motion :w选择性保存
Ctrl + D查看可能的补全


光标移动


命令说明
h
l
k
j
0 (数字)行首
$行尾
w下一个单词起始处
nw (2w)n可为数字,表示移动两个单词
e单词末尾(与w的区别)
gg文件起始处
G文件末尾处
退出
命令说明
:wq保存并退出
ZZ保存并退出
:q!丢弃修改并退出 (q退出,有修改的话q不能退出)
:e!丢弃修改并打开原文件
查找并替换
命令说明
:s/old/new/g查找old并替换为new,g代表整行匹配
:#, #s/old/new#, #代表首尾行号
:%s/old/new/g全文匹配替换
:%s/old/new/gc全文匹配替换,并每次替换会弹出确认提示
翻页
命令说明
Ctrl + e向下滚动一行
Ctrl + y向上滚动一行
Ctrl + f向下翻一页
Ctrl + b向上翻一页
Ctrl + u向上翻半页
Ctrl + d向下翻半页
文件操作
命令说明
:e + filename打开新文件
:r + filename读取文件并插入到当前文件
选项设置
命令说明
:set ic忽略大小写
:set is部分匹配(like)
:set hls高亮匹配
:set nu显示行号
分屏启动vim
命令说明
vim -on file1 file2...水平分屏
vim -On file1 file2...垂直分屏
关闭分屏
命令说明
Ctrl + w  c关闭当前窗口(如果是最后一个,无法关闭)
Ctrl + w q关闭当前窗口(如果是最后一个,则退出vim)
分屏
命令说明
Ctrl + w s上下分屏
Ctrl + w v左右分屏
:sp filename左右分屏,且打开一个新的文件
:vsp filename上下分屏,且打开一个新的文件
切换分屏(光标切换)
命令说明
Ctrl + w l右边
Ctrl + w h左边
Ctrl + w j上边
Ctrl + w k下边
分屏尺寸调整

TIPS: (上下分屏生效)

命令说明
Ctrl + w =所有屏一样高度
Ctrl + w +增加高度
Ctrl + w -减少高度
写在结尾

这么多命令要记,想对Vim说喜欢真不容易,按耐不住就新开VScode。

少年莫慌,很多事情,难在开头,当你学会了,才会感谢当初的付出。

本文仅对常用的一些命令做了汇总,Vim的玩法还有很多。在此推荐易水博客的《Vim使用进阶》https://blog.easwy.com/archives/advanced-vim-skills-catalog/系列,干货满满。

寒梅飘香,这个寒冬,与诸君互勉。

参考文档:

vi和vim的区别https://www.cnblogs.com/KiraEXA/p/5994078.html

vim常用命令总结https://www.cnblogs.com/yangjig/p/6014198.html

vi/vim使用进阶https://blog.easwy.com/archives/advanced-vim-skills-catalog/



推荐阅读

(点击标题可跳转阅读)

时至 2018 年,还有必要学 Vim 吗?

增强 Vim 编辑器,提高编辑效率

如何让 Vim 成为我们的神器?


关注「程序员的那些事」加星标,不错过圈内事

640?wx_fmt=png

喜欢就点一下「好看」呗~


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值