Vim 快速入门
文章目录
如题所示,本文为Vim
入门教程,文章涵盖Vim
基本的操作:插入、替换、删除、搜索、修改、撤销、重做等等,以及笔者个人的理解和说明。
光标移动
方向键
k
h l
j
光标移动的方向键是hjkl
,当然还有默认的方向键。要记住hjkl
其实很容易,以j
为中心:
Command | Description |
---|---|
j |
形似下箭头,使光标向下移动。 |
h |
位于左边,使光标向左移动。 |
l |
位于右边,使光标向右移动。 |
k |
使光标向上移动。 |
其他
Command | Description |
---|---|
0 |
使光标移动至行首。 |
$ |
使光标移动至行尾部,可记作end of line 。 |
xw |
使光标移动x 个单词,w 可记作word ,比如2w ,使光标移动两个单词,并位于第二个单词的首个字符处。 |
xe |
使光标移动x 个单词,e 可记作end of word ,这个和xw 相似,区别是移动后,光标移动后,位于第x 个单词的尾部字符处。 |
删除
Command | Description |
---|---|
x |
删除一个字符。 |
dw |
删除一个单词,可记作delete word 。 |
dxw |
删除x 个单词,可记作delete x words ,比如:d2w 。 |
d$ |
删除当前光标位置到行尾的的所有字符,$ 可记作end of line 。 |
dd |
删除整行,此外dd 可接受一个数字前缀x ,表示删除x 行,比如:2dd 。 |
撤销与重做
Command | Description |
---|---|
u |
撤销上一个命令,可记作undo 。 |
U |
撤销当前行所有的修改。 |
CTRL-R |
重做,可记作redo 。 |
插入
进入输入模式,最常用的是i
命令,可记作insert
。
但是如果需要追加内容的话,i
是无法实现的,此时我们需要使用A
命令,可记作append
,它使光标位于行尾。
Command | Description |
---|---|
i |
光标位置不变,进入输入模式,可记作insert 。 |
a |
光标向后移动一个字符,并进入插入模式,可记作append 。 |
A |
光标处于当前行行尾,并进入插入模式,可记作append 。 |
o |
在当前行下添加新行,并进入插入模式,意为open 。 |
O |
在当前行上添加新行,并进入插入模式。 |
替换
Command | Description |
---|---|
rx |
将当前光标处的字符替换为x ,r 可记作replace 。 |
R |
进入替换模式。 |
:s/old/new |
将当前行第一个old 字符串替换成new ,s 意为substitute 。 |
:s/old/new/g |
将当前行所有old 字符串替换成new ,g 可记作globally 。 |
:#,#s/old/new/g |
# 为行号,将指定行之间的所有old 字符串替换成new ,比如:1,10s/old/new/g 。 |
:%s/old/new/g |
将文中所有的old 字符串替换成new 。 |
:%s/old/new/gc |
将文中所有的old 字符串替换成new ,但在替换前会显示确认提示。 |
修改
如果单词错误过多,用替换来操作是很不方便的,这类情况就需要用到修改命令:
Command | Description |
---|---|
ce |
将当前光标位置到单词尾部的字符删除,并进入输入模式,c 可记作change ,e 可记作end of word 。 |
cw |
删除一个单词,并进入输入模式。 |
cxw |
删除x 个单词,并进入输入模式。 |
c$ |
删除当前光标位置到行尾的的所有字符,并进入输入模式,$ 可记作end of line 。 |
复制和粘贴
首先我们需要使用v
命令选择需要复制的文本,选中后使用y
(yank
)进行复制,最后使用p
(paste
)命令即可粘贴。
y
命令也可以类似d
命令那样:
yw
- 复制一个单词。yxw
- 复制x
个单词。y$
- 复制当前光标处到行尾的内容。yy
- 复制整行。
搜索
此处将介绍三个搜索命令:/
、?
和%
:
Command | Description |
---|---|
/ |
/ 后面加上要搜索的内容(区分大小写),然后回车即可进行搜索,n 继续向下搜索,N 向前搜索。 |
? |
? 和/ 用法一致,只是搜索方向相反。 |
% |
% 会匹配( 和) ,[ 和] ,{ 和} 。 |
搜索默认是区分大小写的,我们可以通过
:set ic
忽略大小写(ignore case
)。
保存和退出
Command | Description |
---|---|
:w |
:w 保存当前的修改,可记作write ,也可以指定保存的文件名,比如:w filename ,则会将内容保存到filename 。 |
:q |
:q 退出编辑,可记作quit 。 |
w
、q
可以一起使用,如:wq
则表示保存并退出。
执行外部命令
在Vim
中,我们还可以执行外部的命令,比如:!ls
则会执行外部命令ls
。
其他命令
Command | Description |
---|---|
:no |
跳到行no |
#G |
跳到行# |
G |
跳到文件底部 |
gg |
跳到文件顶部 |
CTRL-O |
返回上一个位置 |
CTRL-I |
前进下一个位置 |
:set nu |
显示行号 |
:set ic |
忽略大小写(ignore case ) |
:set noic |
区分大小写(no ignore case ) |
练习
对于笔者来说,光看不练是无法记住的,所以建议经常使用和练习,才能熟练地使用Vim
。另外我推荐一款名为vimtutor
的练习脚本(安装Vim
自带的)。