许多版本的linux都自带了vim,安装vim的方式(以Ubuntu为例):
sudo apt-get install vim
首先关注一下最重要的两个动作,即撤销和重做。有了这两个操作,你在练习的时候才可以为所欲为。
撤销上一个动作: u
重做上一个动作: [Ctrl] + r
1. 进入输入
i,I
i为【从目前光标所在处输入】,I为【在目前所在行的第一个非空格符处开始输入】。
a,A
a为【从目前光标所在的下一个字符处开始输入】,A为【从光标所在行的最后一个字符处开始输入】。
o,O
o为在目前光标所在的下一行处输入新的一行;O为在目前光标所在的上一行处输入新的一行。
r,R
r只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下ESC为止。
2. 显示行号
:set nu
显示行号,设定之后,会在每一行的前缀显示该行的行号
:set nonu
与set nu相反,为取消行号。
3. 光标移动
h 或 向左箭头键
光标向左移动一个字符
j 或 向下箭头键
光标向下移动一个字符
k 或 向上箭头键
光标向上移动一个字符
l 或 向右箭头键
光标向右移动一个字符
如果想要进行多次移动的话,例如向下移动30行,可以使用“30j”或“30↓”的组合按键。
[Ctrl] + [f]
屏幕向下移动一页,相当于[Page Down]
[Ctrl] + [b]
屏幕向上移动一页,相当于[Page Up]
+
光标移动到非空格符的下一行
-
光标移动到非空格符的上一行
n<space>
n表示数字,例如20。按下数字后再按空格键,光标会向右移动这一行的n个字符。
n<Enter>
n为数字,光标向下移动n行。
0或功能键[Home]
移动到这一行的最前面字符处。
$或功能键[End]
移动到这一行的最后面字符处。
H
光标移动到这个屏幕的最上方那一行的第一个字符
M
光标移动到这个屏幕的中央那一行的第一个字符
L
光标移动到这个屏幕的最下方那一行的第一个字符
G
移动到这个档案的最后一行
nG
移动到这个档案的第n行
gg
移动到这个档案的第一行
4. 搜索替换
/word
向光标之下寻找一个名称为word的字符串
?word
向光标之上寻找一个字符串名称为word的字符串
n
代表重复前一个搜寻的动作。举例来说,如果执行/word向下搜寻word这个字符串,则按下n后会向下继续搜寻下一个名称为word的字符串。如果是执行?word的话,那么按下n则会向上继续搜寻名称为word的字符串。
N
与n刚好相反,为反向进行前一个搜寻动作。
:n1,n2s/word1/word2/g
n1与n2为数字。在第n1行与第n2行之间寻找word1这个字符串,并将该字符串取代为word2。
:1,$s/word1/word2/g 或 :%s/word1/word2/g
从第一行到最后一行寻找word1字符串,并将该字符串取代为word2
:1,$s/word1/word2/gc 或 :%s/word1/word2/gc
从第一行到最后一行寻找word1字符串,并将该字符串取代为word2,且在取代前显示提示字符给用户确认是否需要取代。
5. 删除、复制、粘贴
x,X
x为向后删除一个字符,相当于del按键;X为向前删除一个字符,相当于backspace按键。
nx
n为数字,连续向后删除n个字符
dd
删除游标所在的那一整行
ndd
删除光标所在的向下n行
d1G
删除光标所在到第1行的所有数据
dG
删除光标所在到最后一行的所有数据
d$
删除游标所在处,到该行的最后一个字符
d0
删除游标所在处,到该行的最前面一个字符
yy
复制游标所在的那一行
nyy
复制光标所在的向下n行
y1G
复制游标所在行到第一行的所有数据
yG
复制游标所在行到最后一行的所有数据
y0
复制光标所在的那个字符到该行行首的所有数据
y$
复制光标所在的那个字符到该行行尾的所有数据
p,P
p为将已复制的数据在光标下一行贴上,P则为贴在游标上一行。
J
将光标所在行与下一行的数据结合成同一行
c
重复删除多个数据,例如向下删除10行,10c
.
小数点,重复前一个动作