vi 与 vim编辑器的使用总结
vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样。vim是从 vi 发展出来的一个文本编辑器。
vi是Visual Interface的缩写,即 可视化接口。vim是vi iMprove的缩写,即 vi的增强版。
vi 与 vim 键盘图:
vi与vim 的使用
vi与vim 工作模式及切换
打开/新建文件
在shell中,输入vi 文件名 。如,你想要建立一个名为 test01.c的文件时,你可以在shell中,输入vi test01.c
此时,进入命令模式。
按下 i 进入输入模式(也称为编辑模式),开始编辑文字
在一般模式之中,只要按下 i, o, a 等字符就可以进入输入模式了!
在编辑模式当中,你可以发现在左下角状态栏中会出现 –INSERT- 的字样,那就是可以输入任意字符的提示。
这个时候,键盘上除了 Esc 这个按键之外,其他的按键都可以视作为一般的输入按钮了,所以你可以进行任何的编辑。
编辑完毕,按下 ESC 按钮回到命令模式,按下 :进入末行模式,按下wq保存退出当前文件离开vi!
命令模式(command mode,也叫普通模式(Normal mode))
刚进入vi/vim的时候,默认就是 命令模式,可以复制行,删除行等。
命令模式转输入模式使用a/i/o/O/r ,说明:
a:在当前光标后面输入
i:在当前光标前面输入
o:在当前光标下方新建一行并输入
O:在当前光标上方新建一行并输入
r:替换当前光标所在处字符并输入
命令模式可用的光标移动、复制粘贴、搜索替换等:在
命令模式下通过h(向左)/j(向下)/k(向上)/l(向右)/调整光标位置,也可以使用键盘上的上下左右键来调整光标位置。
x:删除光标所在处字符
dd:删除光标所在行
yy:复制光标所在的那一行
复制光标所在的行则:yy
复制当前光标所在的位置到行尾:y$
复制当前光标所在的位置到行首:y^
复制3行则:3yy,即从当前光标+下两行
4yl复制光标后的4个字符,4yh用后复制光标前的4个字符
按"v"进入可视模式,然后按"H"或"L"移动光标,选中要复制的字符,然后按"y"就复制下来了。
剪切光标所在的行:dd
前切3行:3dd,即从当前行+下两行被剪切了。
剪切当前行光标所在的位置到行首:d^
p(小写):为将已复制的数据在光标下一行贴上
P(大写,即用组合键shift+p): 则为贴在光标上一行
U:复原前一个动作。(常用)
[Ctrl]+r:重做上一个动作
输入模式(Insert mode)
在编辑器最后一行显示一个“--INSERT--”标志着vi进入了输入模式
在输入模式中,可以使用以下按键:
字符按键以及Shift组合,输入小写或大写字符。
ENTER,回车键,换行
BACK SPACE,退格键,删除光标前一个字符
DEL,删除键,删除光标后一个字符
Tab:缩进
方向键,在文本中移动光标
HOME/END,移动光标到行首/行尾
Page Up/Page Down,上/下翻页
Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
ESC,退出输入模式,切换到命令模式
输入模式转命令模式:Esc
末行模式下(Last line mode,也叫命令行命令模式 (command-line mode))
在命令模式下,用户按:键即可进入末行模式下,此时 vi 会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个:作为末行模式的说明符,等待用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。
w:保存内容
q:退出当前文件(前提是已保存)
wq:保存内容并退出当前文件
w!:强制保存内容
q!:强制退出当前文件
末行命令执行完后,vi 自动回到命令模式。
可视模式(Visual mode)
普通模式转输入模式使用v/V/ Ctrl+v,说明:
v 进入字符可视化模式,在编辑器最后一行显示相应标志“--VISUAL--”;
V 进入行可视化模式,在编辑器最后一行显示相应标志“--VISUAL LINE--”;
Ctrl+v 进入块可视化模式,在编辑器最后一行显示相应标志“--VISUAL BLOCK--”。
当选中文本完成粘贴后,自动转换为命令模式(普通模式)。