vi编辑器是Linux系统下标准的编辑器,vim则是vi的增强版,vim具有程序编辑能量力,可以主动的以字体颜色辨别语法的正确性,方便程序设计
以下是vi/vim的键位图:
首先介绍vi / vim 的三种模式 :
命令模式(Command mode)
输入模式(Insert mode)
底线命令模式(Last line mode)
常用输入命令:
命令 | 意义 |
---|---|
i & I | 进入输入模式(Insert mode):i 为『从目前光标所在处输入』, I 为『在目前所在行的第一个非空格符处开始输入』。 (常用) |
a & A | 进入输入模式(Insert mode):a 为『从目前光标所在的下一个字符处开始输入』, A 为『从光标所在行的最后一个字符处开始输入』。(常用) |
o & O | 进入输入模式(Insert mode):这是英文字母 o 的大小写。o 为『在目前光标所在的下一行处输入新的一行』; O 为在目前光标所在处的上一行输入新的一行!(常用) |
r & R | r:替换当前字符 ,R:替换当前字符及其后的字符,直至按ESC键 |
s & S | s:从当前光标位置处开始,以输入的文本替代指定数目的字符 S:删除指定数目的行,并以所输入文本代替之 |
常用命令行命令:
命令 | 意义 |
---|---|
x | 删除光标所在字符 |
dd | 命令模式下 删除光标所在 行 并且自动下一行上移 |
d0 & d$ | 以光标所在位置为准,d0删除至行首,d$删除至行尾 |
D | 命令行模式下 删除光标所在 行 ,不自动上移下一行 |
v | 命令行模式下 选中文本中内容,主要进行复制,粘贴 删除操作 |
yy | 复制游标所在的那一行(常用) |
u | 返回上一次操作(命令行模式下) |
n&N | 在命令行模式下,n向下搜索,N向上搜索 |
shift+6 | 在命令行模式下,光标快速移动到当前行的首字 |
shift+4 | 在命令行模式下,光标快速移动到当前行的末端 |
shift+0 | 命令行模式下,光标快速移动当当前段的末端 |
p和P | p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行! 举例来说,我目前光标在第 20 行,且已经复制了 10 行数据。则按下 p 后, 那 10 行数据会贴在原本的 20 行之后,亦即由 21 行开始贴。如果是按下 P, 那么原本的第 20 行会被推到变成 30 行。 (常用) |
Ctrl+u | 向文件首翻半屏 |
ctrl+d | 向文件尾翻半屏 |
ctrl+f | 向文件尾翻一屏 |
ctrl+b | 向文件首翻一屏 |
nz | 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。 |
常用底线命令模式命令:
命令 | 意义 |
---|---|
shift+: | 进入底线命令模式 |
shift+:+/+word | 进入底线命令模式,使用/word 来寻找名为 word的字符串 |
noh | 取消高亮 |
q | 退出 |
q! | 强制退出 |
w | 保存 |
wq | 保存退出 |
x | 保存并退出,但不修改文件改动时间 |
拓展:同时编辑2个文件,并且将文件1的内容复制到文件2当中:
vi file1 file2
yy
在文件1的光标处拷贝所在行
:n
切换到文件2 (n=next)
p
在文件2的光标所在处粘贴所拷贝的行
:n
切换回文件1
首先使用vi 创建并打开一个 文件 test.sh
vi test.sh
进入文本界面:
按 小写的 i 即可进入insert (输入模式),
按 ESC 键盘左上角那个 即可退出 输入模式 进入 命令行模式, 在命令行模式 按下shift+:(英文冒号)
进入底线命令模式