vi编辑器是Linux系统下标准的编辑器,vim则是vi的增强版,vim具有程序编辑能量力,可以主动的以字体颜色辨别语法的正确性,方便程序设计

以下是vi/vim的键位图:

Linux基本命令之vi_命令模式


首先介绍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

进入文本界面:

Linux基本命令之vi_Linux_02


Linux基本命令之vi_命令模式_03

按 小写的 i 即可进入insert (输入模式),

Linux基本命令之vi_vi/vim_04


ESC 键盘左上角那个 即可退出 输入模式 进入 命令行模式, 在命令行模式 按下​​shift+:(英文冒号)​​ 进入底线命令模式