作为初学Linux的小白,最近在实验楼这个网站学习了相关linux的入门知识,当然少不了学习vim这个神一样的编辑器,现在稍微总结一下学习的相关知识,做一个提纲,更加详细的内容网上很多教程都有,利用这个提纲大概能很快入门vim吧。本文仅针对小白,更高级的用法此处不讨论不说明,还有一些个人认为赘余的用法也不作说明。
Vim模式
作为小白,先大概了解最基本的3种模式吧:
- 普通模式
- 插入模式
- 命令行模式
下面详细价绍这三种模式下的基本用法和常用技巧。
普通模式
下面先用vim编辑一个文件
vim test.txt //用此命令编辑一个文件,当此文件不存在时,会新建一个文件
此时,你会进入vim的普通模式,那么在此模式下我们可以做什么呢?
移动光标
你可以用方向键移动光标,或者:
按键 | 方向 |
---|---|
h | 左 |
l(小写) | 右 |
j | 下 |
k | 上 |
但是只是用方向键跳转是感觉蠢蠢的呢?我们其实可以快速跳转呢!
- 行间跳转
按键 | 说明 |
---|---|
nG(shift + g) | 跳转到第n行 |
gg | 跳转到第一行 |
G(shift + g) | 跳转到最后一行 |
- 行内跳转
按键 | 说明 |
---|---|
w | 到下一个单词的开头 |
e | 到下一个单词的结尾 |
b | 上一个单词的开头 |
ge | 上一个单词的结尾 |
0或^ | 行头 |
$ | 到行尾 |
f<字母> | 向后搜索<字母>并跳转到第一个匹配的位置 |
F<字母> | 向前搜索<字母>并跳转到第一个匹配的位置 |
对于’e’,我们很好理解就是单词’end’,而’w’在键盘中就是在e的左边,这样子是不是觉得操作起来很好了呢?
‘b’就是单词’back’,也很好理解。
而^和$,和正则表达式中的意思相当,也好记。
‘f’更不用说,就是’find’。
删除文本
在普通模式中,删除文本内容十分方便。实际上
- 行内删除
按键 | 说明 |
---|---|
x(小写) | 删除游标所在的字符 |
dw | 删除游标所在单词 |
dd | 删除游标所在行 |
d$ | 删除至行末 |
d^ | 删除至行首 |
其实按键’X’(大写)是删除游标前一个单词,但是这还不如直接移动游标再按’x’?我们尽量简单地入门vim。 其实你会发现,很多命令中的字母的小写都表示’向后’,字母的大写都表示’向前’,例如前面行内跳转的’f’和’F’。
注意:’dw‘删除单词的意思需要搞清楚,对于词组’Mysql Server‘你的游标在’y‘处,如果按下’dw‘,删除的会是’ysql ‘,剩下的会是’MServer‘,大家可以试一试。
- 多行删除
按键 | 说明 |
---|---|
dG | 删除至文档结尾 |
d<数字n>G | 删除游标所在行至文档第n行 |
可以这样理解,’d’(delete)加上行间跳转的命令实现多行的删除。
当然,你也可以重复执行删除命令:
3dd //删除游标往下3行
10x //删除游标往后10个字符
d3w //删除3个单词
复制,粘贴文本
- ‘y’复制文本
用法和上述删除类似,将上述的’d’换成’y’就是复制的功能
- ‘p’(paste)粘贴文本
’p‘(小写)粘贴到光标后,’P‘(大写)粘贴到光标前。
剪切文本
恭喜你,其实你一早就学会剪切这个命令了,上面的删除其实就是剪切,只是它少了粘贴这一个步骤(少按了’p’),不信你试一下!在’删除’后,找一处地方按下’p’或者’P’。
这里就有一个小技巧,组合键’ddp’就可以交换游标所在行和下一行的内容。
查找文本
按键 | 说明 |
---|---|
/<目标单词> | 从文本开头开始查找 |
?<目标单词> | 从本尾开始查找 |
进入查找后,按按键’n’寻找下一个匹配,’N’寻找上一个匹配。
注意,上面所说的’下一个’和’上一个’是针对你使用’/‘和’?‘这两种模式所说的,例如,对于’/‘,它的下一个就是向下寻找,而’?‘,它的下一个就是向上寻找。
代替文本
有很多详细的教程,但对于刚入门的小白来说,感觉用得不是很多?倒不如直接插入模式进行修改。(此说法也许不妥当)
快速缩进
按键 | 说明 |
---|---|
>> | 整行向右缩进 |
<< | 整行向左缩进 |
利用命令模式,输入’: set shiftwidth=n’ 可以设置缩进的字符数,n为你想要缩进的字符数
撤销命令
我们在平时打码时,撤销命令一般按下crtl + z,而在普通模式下,有以下用法:
按键 | 说明 |
---|---|
u{n} | ‘u’即undo,撤销一次或者n此操作 |
U | 撤销所有操作 |
ctrl+r | ‘r’即redo,撤销undo的操作 |
退出编辑此文本
普通模式下按下’shift + zz‘ 保存退出 vim。
进入插入模式
按键 | 说明 |
---|---|
i | 在游标处插入 |
I | 在游标所在行行首插入 |
A | 在游标所在行行末插入 |
o | 在游标所在行行后插入新行 |
O | 在游标所在行行前插入新行 |
进入命令行模式
可以通过按键’:‘进入。事实上前面所说的查找文本’/‘和’?‘也是进入命令模式。另外’|‘可以使用过滤命令。在命令执行完毕后,返回之前的模式,一般就是普通模式。
插入模式
此模式对于我们再熟悉不过了,大多数按键都会向文本缓冲中插入文本。如果想返回普通模式,按下’esc’即可。
命令行模式
- 退出vim
在普通模式中按下’:‘进入命令行模式后,你可以有这几种方退出
命令 | 说明 |
---|---|
q | 退出 |
q! | 强制退出不保存 |
wq(或者x) | 保存并且退出 |
wq! | 强制保存且退出 |
w <文件路径>(或者 saveas <文件路径>) | 另存为 |
- 其它命令
命令模式十分丰富,例如’ :set nu’可以显示行数。如需深入学习可自行百度谷歌,对于水水的博主此时也不很熟悉…