vi/vim编辑器简介及其快捷键
简要
vi/vim 的使用,基本上 vi/vim 共分为三种模式,分别是命令模式
(Command mode),输入模式
(Insert mode)和尾行命令模式
(Last line mode)。
命令模式
用户刚刚启动 vi/vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
输入模式
在命令模式下按下i就进入了输入模式。在输入模式中,可以使用很多按键,后面会一一介绍。
尾行命令模式
基本的命令有(已经省略了冒号): ,此外还有其他的一些命令,接下来一一进行介绍。
通过下面可以清晰的看到三者之间的关系
命令行模式:
h
光标左移
l
光标右移
j
或 ctrl+n
或 enter
光标下移
k
或 ctrl+p
光标上移
H
光标移至屏幕顶行
M
光标移至屏幕中间行
L
光标移至屏幕最后行
0
光标移至当前行首(注意是数字0)
w
或 W
光标右移一个字至字首
b
或 B
:光标左移一个字至字首
e
或 E
:光标右移一个字至字尾
)
光标移至句尾
(
光标移至句首
}
光标移至段落开头
{
光标移至段落结尾
yy
复制当前行
yyn
复制向下n行(n为任意数字)
p
粘贴(注意粘贴到最后时候留一个换行符)
pn
粘贴n次(n为任意数字)
dd
删除一行,剪切一行
G
最后一行
1G
第一行
nG
第n行(n为任意数字)
dG
从当前行删除到最后一行
d1G
从当前行删除到第一行
$
光标移至当前行尾
dw
删除一个单词
d^
从当前字符删除到行首
d$
从当前字符删除到行末
r
单字符替换
R
:替换当前字符及其后的字符,直至按esc键
u
撤销
ctrl+y
恢复撤销
x
删除当前字符
X
删除一个字符,x
删除光标后的,而X
删除光标前的
nx
删除n个字符(n为任意数字)
v
选择光标,用上下方向键多行选择
s
从当前光标位置处开始,以输入的文本替代指定数目的字符
S
删除指定数目的行,并以所输入文本代替之
输入模式:
i
在当前字符前面进入输入模式
I
在当前行前面进入输入模式
o
插入一个新行,并且进行输入模式
O
上一行插入一个新行,并且进入输入模式
a
在当前字符后面进入输入模式
A
在当前行后面进入输入模式
尾行模式:
:
进入末行模式
:w
保存
:q
退出
:wq
保存退出
:x
保存退出
:q!
退出不保存
e filename
:打开文件filename
进行编辑
%s/hello/world/g
把所有的hello
都替换成world
,%
第一行到最后的意思
1,10s/hello/world/g
把第一行到十行的hello
替换成world
当然,vi/vim命令是相当的多,在这里只是介绍一些常用的,更多相关的内容请参考下图或者其他相关网站。
如您在查阅过程中发现本文有什么问题,希望大家及时批评指正,这样我可以及时进行更改,以便误导大家。