Vi的使用:
范例一:
使用Vi进入一般模式:
[root@dsetl lp]# vi test1.txt
范例二:按下i键进入编辑模式,开始编辑文字
-- INSERT –
范例三:按下【ESC】键回到一般模式
范例四:在一般模式下按下 :wq保存后离开Vi
注意:如果文件权限不对,例如为-r--r--r--,可能无法写入,使用 :wq!多加一个叹号进行强制写入.
范例5:vi命令设置行号
[root@dsetl lp]# cp /etc/man.config .
[root@dsetl lp]# vi man.config
:set nu – 设置行号
:set nonu --取消行号
范例6:vi命令删除所在行
D或者d按两次 删除光标所在行
范例7:vi命令查找字串
/text 从光标位置往下找字串text ?text 从光标位置往上找字串text
n 继续找下一个字串(在输入上面的寻找指令之后使用)
N 继续向上找一个字符串(在输入上面的寻找指令之后使用)
范例8:vi命令移动光标
Ctrl+f 向下移动一页
Ctrl+b 向上移动一页
0 移动到这一行的最前面处
$ 移动到这一行的最后面字符处
G移动到这个文件的最后一行
nG移动到这个文件的第n行。10G移动到这个文件的第10行
gg移动到这个文件的第1行
n<Enter> 光标向下移动n行。
40 + 向右箭头
范例8:vi命令搜索与替换(一般模式)
%表示整个文件,$从当前行到文件尾。s表示替换操作。
g放在命令末尾,表示对指定行的搜索字符串的每次出现进行替换;
不加g,表示支队指定行的搜索字符串的首次出现进行替换。
:%s/text1/text2/g 将各行的text1替换为text2
:1,$s/ str1/ str2/g 用字符串str2替换所有出现的字符串str1
:.,$s/ str1/ str2/g 用字符串str2替换正文当前行到末尾所有出现的字符串str1
:1,$s/ str1/ str2/gc 用字符串str2替换所有出现的字符串str1,进行询问
范例8:vi命令删除、复制、粘贴(一般模式)
删除:
x为向后删除一个字符,X为向前删除一个字符。
dd 删除光标所在的那一整行,ndd,例如3dd删除向下的3行。
复制
yy表示复制光标所在的哪一行
nyy :n为数字。复制光标所在的向下n行,例如20yy则是复制20行。
yw 将光标所在单词拷入剪贴板
y$ 将光标至行尾的字符拷入剪贴板
粘贴:
p :把粘贴到的数据粘贴到光标的下一行,
P则为贴在光标的上一行。
范例9:复原操作与重做操作
u表示复原前一个操作,【Ctrl】+r表示重做上一个操作。
. 小数点,意思是重复前一个动作。如果想重复删除,重复粘贴,按下“.”就可以。
Vi命令的使用练习: