Vi指令详解ITeye - 亚美娱乐

Vi指令详解ITeye

2019年02月27日08时04分20秒 | 作者: 昌黎 | 标签: 光标,文件,指令 | 浏览: 2480

发动Vi
vi  不指定文件名,在保存文件时需求指定文件名
vi filename  该文件可所以已存在的文件也可所以新建的
vi +n filename  进入vi,光标停在第n行开端处
vi + filename  进入vi,光标停在文件最终一行开端处
vi +/ 字符串 文件名  进入vi,光标停在第一个字符串处


保存文件和退出
指令形式下,输入两次 Z ,将保存文件并退出vi
在指令形式下,输入:x,将保存文件并退出vi
:w  保存文件内容
:x 文件名  将当时文件的内容保存由“文件名”指定的文件中,若文件存在则发生过错,不退出vi
:w! 文件名  将当时文件的内容保存由“文件名”指定的文件中,若文件存在则掩盖原有文件
:q  退出vi,若文件有改动未保存,则发生过错,不退出vi
:q!  强行退出vi,若有修正未保存,则不保存
:wq  退出并保存文件
:wq!  强行保存退出
:set nu/:set number  显现行号
:set nonu/:set nonumber  撤销行号的显现


光标移动  
方向键下  移动到下一行,列不变
方向键上  移动到上一行,列不变
方向键左  移动到前一列,行不变
方向键右  移动到后一列,行不变
0  移动到当时行的行首
$  移动到当时行的行尾
nw  右移n个字,n为数字,光标处于第n个字的字首,w上forword中的w
w  右移一个字,光标处于下一个字的字首
nb  左移n个字,n为数字,光标处于第n个字的字首,b上back中的w
b  左移一个字,光标处于下一个字的字首
(  移动到本句的句首,若现已处于本句的句首,则移动前一句的句首
)  移动到下一句的句首
{  移动到本段的段首,若现已处于本段的段首,则移动前一段的段首
}  移动到下一段的段首
1G  移动到文件首行的句首
G  移动到文件末行的行首
nG  移动到文件第n行的行首
ctrl +g  陈述光标地点的方位,方位信息显现在vi的最终一行
遇到"."、"?"或"!",vi认为是一句的完毕,vi以空白行来作为段的开端和完毕


文本的删去
x  删去光标地点的方位的一个字符
nx  删去光标开端的n个字符
dw  删去光标地点方位的一个字,d是delete的首字母
ndw  删去光标开端的n个字
db  删去光标前的一个字
ndb  删去光标前的n个字
d0  删去光标到行首一切字符
d$  删去光标到行尾一切字符
dd  删去当时行
ndd  删去当时行开端的n行
d(  删去光标到句首一切字符
d)  删去光标到句尾一切字符
d{  删去光标到段首一切字符
d}  删去光标到段尾一切字符
若要撤销前一次操作,能够按u,u是undo的首字母


文本查找和替换
?string Enter   在指令形式与输入?和要查找的字符串"string"并回车即可
n  向文件头方向重复前一个查找指令
N  向文件尾方向重复前一个查找指令
:s/oldstr/newstr  在当时行用newstr替换oldstr,只替换一次,s是substitue的首字母
:s/oldstr/newstr/g  在当时行用newstr替换一切的oldstr
:1,10s/oldstr/newstr/g  在1-10行用newstr替换一切的oldstr
:1,$s/oldstr/newstr/g  在整个文件顶用newstr替换一切的oldstr


文本的仿制和张贴
yw  将光标地点方位到字尾的字符仿制到缓冲区中,y是yank的首字母
nyw  将光标地点方位到n个字尾的字符仿制到缓冲区中,y是yank的首字母
yb  从光标开端向左仿制一个字
nyb  从光标开端向左仿制n个字
y0  从光标开端仿制到行首
y$  从光标开端仿制到行尾
yy  仿制当时行
nyy  仿制当时行开端n行
p  在光标地点方位后张贴复的内容
P  在光标地点方位前张贴复的内容
np  在光标地点方位后张贴复的内容,张贴n次
nP  在光标地点方位前张贴复的内容,张贴n次
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表亚美娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章