什么是vim
vim是linux下一款功能强大,多模式的编辑器。
现阶段有13种模式。
这就是进入vim的方式。
vim的三种常用模式
命令模式
我们第一次打开vim 的时候进入的就是命令模式,也就是输入键盘上各种东西,其实就是指令。
那么怎么退出vim呢?
输入shift + :+ wq(w是报错,q是退出)
这个叫做末行模式(底行模式)。
那么插入模式怎么进呢?
只需要在命令模式下按 i 就可以了:
这次就和普通记事本一样了。
但是我们发现插入模式下无法用上面的方式退出,这个时候其实要先按esc退出插入模式,到命令模式。
那么如果你到了底行模式不想退出怎么办呢?也同样按esc就能回到命令模式。
如果你想查看所有的模式(前提是命令模式):
:help vim-modes
vim的基本操作
命令模式
命令模式的意义是为了提高效率,比如我们在windows机器上想要复制一百行的内容需要鼠标一直圈,但是在linux机器上只需要一行命令即可,并且还不容易出错。
光标定位
刚打开vim时,光标是在第一行第一个的位置,想要移动光标鼠标是不可以的。
那么我想移动光标怎么办?
这时候用键盘上最右边下面的上下左右箭头就可以移动光标了。
26个字母中h,j,k,l也是可以的,分别对应左,下,上,右,这是历史遗留的问题,因为早期的键盘并没有右下面的上下左右的箭头,现在有些键盘为了节省空间也并没有这些箭头。
可是如果我想去跳转到这行的某个位置或者是某列的某个位置需要按很多次岂不是很麻烦?
这时候可以用数字加上面键盘的操作键就可以了。
如果想跳到某个单词的位置:
w 向后按照单词移动
b 向前按照单词移动
这里是按照字母组合算的。
注意:数字必须是字母上面的数字,不能是现在的大键盘带数字区域的地方。
例:6l
光标就向右移动了6个字符的长度。
如果某一行太长我想快速的移动到顶端或者是末尾呢?
shift + 4 = $ 快速到达本行的末尾
shift + 6 = ^ 快速到达本行的开头
shift + g = G 快速到达最后一行的第一个字符处(空格除外)
gg 快速到达第一个行的第一个字符处(空格除外)
同理,G 和 gg 如果只是想到达某行的第一个位置可以在前面加n。
例:4 + shift + g
如果想要撤销操作按u。
如果后悔撤销操作按ctrl + r
文本复制相关内容
以下操作前提都是光标所在行。
yy复制一整行内容 n + yy 复制n行内容,包括光标行下面的n-1行
p 粘贴 n + p 多行粘贴,位置是光标行下一行开始
dd删除 n + p 多行删除
ndd + p 多行剪切 + 粘贴
例:yy + p
例:dd
例如:dd + p
文本编辑
如果想将一行字母都换成大写怎么办呢?
shift + ` = ~ 将一行字母小写换成大写,大写换成小写。
例:
如果我们在写的过程中需要了某一行错误或者是某个字符错误,你懒得删除想直接写上去怎么办呢?
这里还有一个模式叫做替换模式
shift + r = R 切换到替换模式
例:
这里我并没有进行删除再输入,而是直接输入,如果你觉得输入有误可以按退格键。
同理,按esc退回到命令模式。
如果觉得切换成替换模式很麻烦,可以在命令模式下替换:
r 替换单个字符 n +r 替换批量字符
例:4 + r + a
行内删除操作在命令模式下是用x 与 X
区别就是x删除光标位置字符之后的字符,X是删除之前的,此操作也支持n + x 与n + X,也支持删除的用p进行粘贴。
例:
x
X
那么如果你想对某段单词进进行修改呢?
c + n + w 表示更改n个单词到尾处。
当你执行这个操作时,删除了n个单词之后会进入到插入模式让你去自己更改:
例:c + w