网上有许多vi命令详解,太多太杂,不好记住。平时也用不上那么多,想平时能用一下,又不需要去深入学习vi,掌握本文的几个简单操作就足够应付了。
一、两个模式,ESC切换
命令模式(command mode):各种操作,移动光标、翻页、删除、保存等等,相当于Windows记事本里的菜单功能。
插入模式(Insert mode):往文件里面插入文字,相当于Windows记事本里输入文字。
特别注意:
刚进入时是命令模式,通过按ESC键在两个模式间切换。
(可以把按ESC键理解为Windows记事本里离开文本,去点击菜单)
二、编辑文件
1、linux命令行格式:
vi 文件名
比如,vi abcd.efg,打开或者新建一个叫abcd.efg的文件并进入操作vi。
2、vi编辑的6类操作
插入、移动、翻页、删除、复制粘贴、查找
以下操作是在命令模式下进行的
(1)三个插入按键 i a o
按键i,进入插入模式,从光标当前位置前面插入文字
比如,光标在a,输如123,就变成123a
按键a,进入插入模式,从光标当前位置后面开始插入文字
比如,光标在a,输如123,就变成a123
按键o,插入新的一行
如果是在插入模式,按回车键也可以新增一行,但在命令模式就要用按键o了。
(2)四个光标移动方向按键 h j k l
上k下j
左h右l
(3)四个翻页组合键Ctrl+b f u d
整页翻页,向后Ctrl+b 向前 Ctrl+f
半页翻页,向后Ctrl+u 向前 Ctrl+d
(4)两种删除文字按键 大小写的x dd
小写x,后面往前面删除,按一下删一个(前面定住,后面删除)
比如abcd,光标在b,结果为acd
大写X,后面往前面删除,按一下删一个(后面定住,前面删除,相当于Windows记事本的删除键功能)
比如abcd,光标在b,结果为bcd
如果需要删除多少个字符(一个汉字是2个字符),就在前面加数字,比如要删10个字,按10x,10X
dd:删除光标所在行;
数字+dd则删除所在行开始的后几行,比如3dd则删本行和后2行。
(5)复制yw yy和粘贴 p
yw:复制光标处到字尾(第一次被空格或标点隔开的地方),
数字+yw则复制所在行开始的后几个字符,比如4yy则复制本字符和后3个字符,相当于复制2个汉字。
yy:复制光标所在行,
数字+yy则复制所在行开始的后几行,比如3yy则复制本行和后2行。
p:光标处粘贴
比如,abcd光标在a,输入1yw复制了a,然后光标到d,输入p,结果为abcda
(6)查找 ?和n
?关键字,回车,开始查找,然后按n到下一个
三、整体操作命令
在命令模式下
: w 文件名
将内容保存为文件名的文件,相当于另存为
: wq
存盘并退出vi
: q!
不存盘强制退出vi