在这里我们来讨论一下vi和vim编辑器的一些简单操作,vi和vim编辑器可以实现对文件的创建、修改、编辑等基本操作,如果系统的多个用户同时打开编辑同一个文本,以最后一个用户保存为主。
vi和vim的工作模式:是一个文本编辑器(类似windows系统下的记事本);
在vi编辑器下有三种模式:
1、命令行模式
2、插入模式
3、编辑模式
三者之间的关系如下图:
命令模式:所在键盘上打字都可能是命令;
下面我们来看看vi下面的一些命令:
i:在当前位置前插入;
I:在光标所在行开始位置插入;
a:在光标当前位置后面插入;
A:在光标所在行末插入;
o:在光标坐在行和下一行之间插入新的行;
O:在光标所在行和上一行之间插入新的行;
如果你想在vi编辑页面显示出行号或者取消行号,可以在编辑模式下输入:
set nu//显示行号
set nonu//取消显示行号
退出出vi编辑器:
1、从命令行模式下:键入ZZ
2、从编辑模式下:q退出、wq写入并退出、wq!强制写入并推出、q!强制退出、w file_name 另存为 也可以是另外路径的文档、x保存退出、x!强制保存退出;
命令行模式定位:
h:左移一个字符;
j: 下移一个字符;
k:上移一个字符;
l:右移一个字符;
$:直接移至行尾;
0:移至行首;
Enter:移至下行行首;
H:移至屏幕上端(不是文本)
M:移至屏幕中间;
L:移至屏幕下端;
G:移至到文本最后一行;
nG:移至文本第n行
命令行模式删除命令:
x:删除光标所在出的字符,按一次删除一个字符,向后删除;
X:和x相反;
dd:删除光标所在的行;
dG:删除光标所在行和光标所在行以下所有行;
D: 删除光标所在位置到本行行末;
删除n1~n2行:在编辑模式下输入:
n1,n2d//Enter
命令行模式下的复制命令:
yy,Y//复制当前行;
nyy,nY//复制当前行以下几行;
p//将以选择复制或者已经被删除的行放在当前行下,类似粘贴和剪切;
"+y 复制选中内容到+寄存器,也就是系统的剪贴板,供其他程序用
复制vim文件中所有内容:
按esc后,然后ggyG //仅可以在当前文件中粘贴
全选高亮显示:按esc后,然后ggvG或者ggVG
要复制到别的地方,用 "+y 来复制,注意是三个字符。gg"+yG
命令行模式下替换和取消命令:
r:取代光标当前位置的字符;
R:从光标所在位置开始替换字符,按Esc停止替换;
s:替换光标所在处字符,并进入文本输入模式;
S:替换光标所在全行,按Esc结束;
u:取消上一步的操作(可以取消到文件打开的时候)
U:取消当前行之前