在Linux 操作文本,vim编辑器是必不可少的工具了。用了一段时间,感觉功能还是挺强大的,特把一些工作中
经常使用的命令做个总结。
-----大多命令的解释来自《鸟哥的私房菜》。
移动光标的方法
h 或向左箭头键(←)
|
光标向左移动一个字符
|
j 或向下箭头键( ↓ )
|
光标向下移动一个字符
|
k 或向上箭头键( ↑ )
|
光标向上移动一个字符
|
l 或向右箭头键( →)
|
光标向右移动一个字符
|
|
如果想要进行多次移动的话,例如向下移动30行,可以使用“30j”或者“30↓”的组合键,即加上想要进行的次数(数字)后,按下操作即可。
|
ctrl + f
|
屏幕向下移动一页
|
ctrl + b
|
屏幕向上移动一页
|
ctrl + d
| 屏幕向下移动半页 |
ctrl + u
|
屏幕向上移动半页
|
n <space>
| 那个n表示“数字”,例如20。按下数字后再按空格键,光标会向右移动这一行的n个字符。例如20 <space>,则光标会向后面移动20个字符,若这一行不够20个字符,就往下一行继续。 |
n <enter> |
n为数字。光标向下移动n行。
|
0
|
这是数字“0”,移动到这一行的最前面字符处。
|
$ | 移动到这一行的最后面字符处。 |
H | (High) 光标移动到这个屏幕的最上方那一行的第一个字符 |
M
|
(Middle
)光标移动到这个屏幕的中央那一行的第一个字符
|
L
|
(Low) 光标移动到这个屏幕的最下方那一行的第一个字符
|
gg | 移动到这个文件的第一行,相当于1G |
nG
| n为数字。移动到这个文件的第n行。例如20G则会移动到这个文件的第20行。(可以配合:set nu) |
G |
移动到这个文件的最后一行
|
查找与替换
/word |
向下寻找一个名称为word的字符串。例如要在文件中查找vbird这个字符串,就输入/vbird即可。
|
?word
|
向上寻找一个名称为word的字符串。
|
n
|
这个n是英文按键。代表
重复前一个查找的操作。举例来说,如果刚才我们执行/vbird去向下查找vbird这个字符串,则按下n后,会向下继续查找下一个名称为vbird的字符串。如果是执行?vbird的话,那么按下n则会向上继续查找名称为vbird的字符串。
|
N
|
这个N是英文按键,与n刚好相反,为“反向”进行前一个查找操作。例如输入/vbird后,按下N则表示向上查找vbird。
|
|
使用/word配合n及N是非常有帮助的。可以让你重复地找到一些关键字。
|
:n1,n2s/word1/word2/g |
n1和n2位数字。在第n1与n2行直接寻找word1这个字符串,并将这个字符串替换为word。举例来说,在100到200行之间查找vbird并替换为VBIRD则用“:100,200s/vbird/VBIRD/g”
|
:1,$s/word1/word2/g
|
从第一行到最后一行查找word1这个字符串,并将该字符串替换为word2。
|
:1,$s/word1/word2/gc
|
从第一行到最后一行查找word1这个字符串,并将该字符串替换为word2。且在替换前显示提示字符给用户确认(confirm)是否需要替换。
|
删除
x,X |
在一行字当中,x为向后删除一个字符,X为向前删除一个字符。
|
nx
| n为数字,连续向后删除n个字符。举例来说,我要连续删除10个字符,“10x” |
dd
|
删除光标所在的那一整行。
|
ndd
|
n为数字。删除光标所在的向下n行,例如20dd则是删除20行。
|
d1G
| 删除光标所在到第一行的所有数据 |
dG
| 删除光标所在到最后一行的所有数据 |
d0
|
那个是数字的0,删除从光标所在处到该行的最前面一个字符。
|
d$
| 删除从光标所在处到该行的最后一个字符。 |
复制与粘贴
yy
|
复制光标所在的那一行
|
nyy
|
n为数字。复制光标所在的向下n行,例如20yy则是复制20行
|
y1G
| 复制光标所在行到第一行的所有数据 |
yG
| 复制光标所在行到最后一行的所有数据 |
y0
|
复制光标所在的那个字符到该行行首的所有数据
|
y$
| 复制光标所在的那个字符到该行行尾的所有数据 |
p,P
|
小p:将已复制的数据在光标下一行粘贴。大P:粘贴在光标上一行。
|
u
|
复原前一个操作
|
ctrl + r
|
重做上一个操作
|
|
这个u与ctrl+r是很常用的命令。一个是复原,另一个则是重做一次。利用他们,编辑将会更加得心应手。
|
. | 不要怀疑,这就是小数点。意思是重复前一个操作的意思。如果你想重复删除或者重复粘贴等操作,按下小数点“.”就好了。 |
保存与离开
:w
| 将编辑的数据写入硬盘文件中 |
:w!
| 若文件的权限是“只读”时,强制写入该文件。不过,到底能不能写入,还是跟你对该文件的权限有关。 |
:q
| 离开vim |
:q!
|
若修改过文件,又不想存储,使用“!”为强制离开不保存文件
|
:wq
|
保存后离开,若“:wq!”为强制保存后离开。
|
ZZ
| 这是大写的Z。若文件没有更动,则不保存离开,若文件已经被更动过,则保存后离开。 |
ctrl+g 显示当前文件所在的路径和文件名。