打开vi后默认进入到一种状态 …_____>命令模式,此时所有的东西都不可编辑。
所有的命令都是在这个模式下切换过去的。
<1> 从命令行模式到插入模式,此时才可以对进行编辑。
i :在光标前插入
a :在光标后插入
I :在光标所处在的行的行首
A :在光标所处在的行的末尾
o :在光标所处在的行的下一行 行首
O :在光标所处在的行的上一行 行首
注:在命令模式下输入位置的命令字母,然后才进入编辑模式,并不是在编辑模式中按这些键!
1.O___(大写)2.(大写)I i———a A尾3.o___(小写)
<2>从编辑模式按下“esc”键,然后输入一个冒号“:”,右下角出现冒号,进入末行模式
保存退出:
:w :保存
:q :退出
:q! :强制退出
:x :保存并退出 ,相当于wq,用这个
显示行号:
set nu 或者 set number
取消显示行号 set nonu 或者 set nonumber
<3>按下“esc”,再次进入命令行模式:
yy :复制
3 yy :从光标所处在的行,开始复制3行
p :粘贴
移动:
h :左
j :下
k :上
l :右
w: 光标向后一次移动一个字
b:光标向前一次移动一个字
{:按段移动,上移
}:按段移动,下移
Ctr - d:向下翻半屏
Ctr - u:向上翻半屏
Ctr - f: 向下翻整屏
Ctr -b :向上翻整屏
删除:
x :删除光标后的一个字符
X :删除光标前面的一个字符
D : 删除从光标开始的位置,一直到当前行的末尾
d0 : 删除从光标开始的位置,一直到当前行的行首
dd :剪切,可以配合p进行粘贴使用 , 按住d不放可以一直删除
快速定位与查找:
6 G :快速定位到底6行
1G 或者 gg :定位到整个文件的第一行
G :如果仅仅输入的是G这个字母,那么定位整个文件的到最后一行,
如果文件有100行,就在100行这个位置
/ : 输入字符,按回车查找
文本行移动:
>> : 文本行右移
<< : 文本行左移
可视模式 V: 按行移动,选中文本可视模式可以配合 d, y, >>, << 实现对文本块的删除,复制,左右移动
代码块整体右移 :V >>
代码块整体右移 :V <<
撤销命令:
u : 一步一步撤销
Ctr r : 反撤销
替换命令:
末行模式下,将光标所在行的abc替换成123 : %s/abc/123/g
末行模式下,将第一行至第10行之间的abc替换成123 : 1, 10s/abc/123/g
插入:
O:在当前光标前插入一行
o:在当前光标后插入一行
重复执行上一次的命令
. :重复执行上一次的命令