Vim 介绍
Vim 是全屏幕纯文本编辑器,是vi编辑器的升级版。
vim 不仅仅兼容vi所有的命令,而且高亮显示,vi只能运行在 UNIX 和 Linux 中,而 vim 可以跨平台运行在Windows,MAC OS 中。
vim 号称 “编辑器之神”,具有无可匹敌的可扩展性。
大部分 Linux 系统中,默认都会安装 vim,在 Linux 中使用 vim 比较简单,直接使用 vim
,命令即可:
[user@ubnutu ~]$ vim a.txt
在命令模式下,使用 :wq
可以保存退出
三种模式
vim 共分为三种模式,分别是命令模式 (Command mode),输入模式 (Insert mode) 和底线命令模式 (Last line mode) :
三种模式的切换
一开始进入vim的时候,就是命令模式,在命令模式下,使用一些插入按键,就会进入输入模式,比如 i
键。
在输入模式下,按 ESC
键退出输入模式
在命令模式下,输入:
进入底线命令模式
命令模式下,输入 :wq
保存并退出编辑,也可以输入 ZZ
(shift + zz) 保存退出
命令模式
一开始进入 vim 的时候,就是命令模式,在命令模式下,敲击键盘动作会被识别为命令,而非输入字符。
命令模式下常用的一些命令:
命令 | 说明 |
: | 进入底线命令模式 |
i | 前插入模式,从选择字的前面开始插入 |
I | 在本行行首进行插入 |
a | 后插入模式,从选择字的后面开始插入 |
A | 在本行行尾进行插入 |
o | 下插入模式,从下一行开始插入 |
O | 上插入模式,在此行的上面一行重新另外起一行新的空白插入 |
r | 替换当前光标所在的字符 |
R | 从光标所在字符字符开始替换, 直到按 |
h或左箭头键(←) | 光标向左移动一个字符 |
j或下箭头键(↓) | 光标向下移动一个字符 |
k或上箭头键(↑) | 光标向上移动一个字符 |
l或右箭头键(→) | 光标向右移动一个字符 |
G | 移动到最后一行 |
nG | 移动的到指定的行, n为行数, 可以配合 |
gg | 移动到第一行 |
/str | 向光标之下搜索 |
?str | 向光标之上搜索 |
x | 删除光标所在字符, 即向后删除一个字符 |
X | 向前删除一个字符 |
nx | n为数字, 向后删除指定数量的字符, 如 |
dd | 删除当前光标所在的这一行 |
ndd | 从光标所在行开始数, 向下删除 n 行, 如 |
yy | 复制光标所在的那一行 |
nyy | 从光标所在行开始数, 向下复制 n 行, 如 |
p | 将已复制的内容粘贴到光标所在的下一行 |
P | 将已复制的内容粘贴到光标所在的上一行 |
u | 撤销 |
Ctrl + r | 反撤销 |
. | 重复前一个动作 |
ZZ | 保存退出, 相当于 |
ZQ | 不保存强制退出, 相当于 |
输入模式
在命令模式下,只要按下i,o,a等字符就可以了进入输入模式了,终端左下角显示为 –INSERT-
在输入模式中,任意按键都被当做字符串进行输入
按 ESC
键可以退出输入模式,回到命令模式
底部命令模式
在命令模式下,按冒号键 :
(英文冒号) 就进入了底线命令模式。
底线命令模式可以输入一个或者多个字符的命令
ESC
可以退出底线命令模式,回到命令模式
底线命令模式常用命令:
命令 | 说明 |
:n1,n2s/word1/word2/g |
|
| 从第一行到最后一行, 将word1替换为word2 |
| 从第一行到最后一行, 将word1替换为word2, 每次替换都会进行确认, |
:n | 光标移动到第几行 |
:set nu | 显示行号 |
:set nonu | 不显示行号 |
:w | 保存 |
:q | 退出vim |
:wq | 保存并退出 |
:q! | 放弃未保存的编辑, 强制退出 |
:! command | 暂时离开vim 查看命令的执行结果 |