查看原文
其他

Vim 利剑常磨,见血封喉

来源:以乐之名

segmentfault.com/a/1190000017502205

对于以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/


推荐阅读

简单几步教你用Python生成词云图

清华姚班出身,95后博士生陈立杰获理论计算机顶会最佳学生论文

西湖大学发布史上最大规模“招贤令” !包括施一公实验室

快速入门Matplotlib教程

喜欢就点击“在看”吧!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存