日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

vi命令一覽表及高級(jí)技巧

 jollyme 2006-02-25


TagVIM                                          

進(jìn)入vi的命令

vi  filename   :打開或新建文件,并將光標(biāo)置于第一行首
vi  +n filename  :打開文件,并將光標(biāo)置于第n行首
vi  + filename    :打開文件,并將光標(biāo)置于最后一行首
vi +/pattern filename:打開文件,并將光標(biāo)置于第一個(gè)與pattern匹配的串處
vi  -r filename :在上次正用vi編輯時(shí)發(fā)生系統(tǒng)崩潰,恢復(fù)filename
vi  filename....filename :打開多個(gè)文件,依次進(jìn)行編輯

移動(dòng)光標(biāo)類命令

h :光標(biāo)左移一個(gè)字符
l  :光標(biāo)右移一個(gè)字符
space:光標(biāo)右移一個(gè)字符
Backspace:光標(biāo)左移一個(gè)字符
k或Ctrl+p:光標(biāo)上移一行
j或Ctrl+n :光標(biāo)下移一行
Enter :光標(biāo)下移一行
w或W :光標(biāo)右移一個(gè)字至字首
b或B :光標(biāo)左移一個(gè)字至字首
e或E :光標(biāo)右移一個(gè)字至字尾
) :光標(biāo)移至句尾
( :光標(biāo)移至句首
}:光標(biāo)移至段落開頭
{:光標(biāo)移至段落結(jié)尾
nG:光標(biāo)移至第n行首
n+:光標(biāo)下移n行
n-:光標(biāo)上移n行
n$:光標(biāo)移至第n行尾
H :光標(biāo)移至屏幕頂行
M :光標(biāo)移至屏幕中間行
L :光標(biāo)移至屏幕最后行
0:(注意是數(shù)字零)光標(biāo)移至當(dāng)前行首
$:光標(biāo)移至當(dāng)前行尾

屏幕翻滾類命令

Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:將第n行滾至屏幕頂部,不指定n時(shí)將當(dāng)前行滾至屏幕頂部。

插入文本類命令

i :在光標(biāo)前
I :在當(dāng)前行首
a:光標(biāo)后
A:在當(dāng)前行尾
o:在當(dāng)前行之下新開一行
O:在當(dāng)前行之上新開一行
r:替換當(dāng)前字符
R:替換當(dāng)前字符及其后的字符,直至按ESC鍵
s:從當(dāng)前光標(biāo)位置處開始,以輸入的文本替代指定數(shù)目的字符
S:刪除指定數(shù)目的行,并以所輸入文本代替之
ncw或nCW:修改指定數(shù)目的字
nCC:修改指定數(shù)目的行

刪除命令

ndw或ndW:刪除光標(biāo)處開始及其后的n-1個(gè)字
do:刪至行首
d$:刪至行尾
ndd:刪除當(dāng)前行及其后n-1行
x或X:刪除一個(gè)字符,x刪除光標(biāo)后的,而X刪除光標(biāo)前的
Ctrl+u:刪除輸入方式下所輸入的文本

搜索及替換命令

/pattern:從光標(biāo)開始處向文件尾搜索pattern
pattern:從光標(biāo)開始處向文件首搜索pattern
n:在同一方向重復(fù)上一次搜索命令
N:在反方向上重復(fù)上一次搜索命令
:s/p1/p2/g:將當(dāng)前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:將第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:將文件中所有p1均用p2替換

選項(xiàng)設(shè)置

all:列出所有選項(xiàng)設(shè)置情況
term:設(shè)置終端類型
ignorance:在搜索中忽略大小寫
list:顯示制表位(Ctrl+I)和行尾標(biāo)志($)
number:顯示行號(hào)
report:顯示由面向行的命令修改過的數(shù)目
terse:顯示簡(jiǎn)短的警告信息
warn:在轉(zhuǎn)到別的文件時(shí)若沒保存當(dāng)前文件則顯示NO write信息
nomagic:允許在搜索模式中,使用前面不帶“\”的特殊字符
nowrapscan:禁止vi在搜索到達(dá)文件兩端時(shí),又從另一端開始
mesg:允許vi顯示其他用戶用write寫到自己終端上的信息

最后行方式命令

:n1,n2 co n3:將n1行到n2行之間的內(nèi)容拷貝到第n3行下
:n1,n2 m n3:將n1行到n2行之間的內(nèi)容移至到第n3行下
:n1,n2 d :將n1行到n2行之間的內(nèi)容刪除
:w :保存當(dāng)前文件
:e filename:打開文件filename進(jìn)行編輯
:x:保存當(dāng)前文件并退出
:q:退出vi
:q!:不保存文件并退出vi
:!command:執(zhí)行shell命令command
:n1,n2 w!command:將文件中n1行至n2行的內(nèi)容作為command的輸入并執(zhí)行之,若不指定n1,n2,則表示將整個(gè)文件內(nèi)容作為command的輸入
:r!command:將命令command的輸出結(jié)果放到當(dāng)前行

寄存器操作

"?nyy:將當(dāng)前行及其下n行的內(nèi)容保存到寄存器?中,其中?為一個(gè)字母,n為一個(gè)數(shù)字
"?nyw:將當(dāng)前行及其下n個(gè)字保存到寄存器?中,其中?為一個(gè)字母,n為一個(gè)數(shù)字
"?nyl:將當(dāng)前行及其下n個(gè)字符保存到寄存器?中,其中?為一個(gè)字母,n為一個(gè)數(shù)字
"?p:取出寄存器?中的內(nèi)容并將其放到光標(biāo)位置處。這里?可以是一個(gè)字母,也可以是一個(gè)數(shù)字
ndd:將當(dāng)前行及其下共n行文本刪除,并將所刪內(nèi)容放到1號(hào)刪除寄存器中。
********************************************
vi 高級(jí)技巧

交換兩個(gè)字符位置
xp
上下兩行調(diào)換
ddp
把文件內(nèi)容反轉(zhuǎn)
:g/^/m0/
保存后就加密
:X
上下兩行合并 
J
刪除所有行 
dG
從當(dāng)前位置刪除到行尾
d$
從當(dāng)前位置復(fù)制到行尾
y$ 如果要粘貼到其他地方 p 就可以了

在命令狀態(tài)下,nyy表示拷貝從光標(biāo)行起的下n行內(nèi)容,p表示paste,粘貼下來在光標(biāo)處。
我常用到的單個(gè)字符替換用r,覆蓋多個(gè)字符用R,用多個(gè)字符替換一個(gè)字符用s,整行替換用S
:%s/old_word/new_word/g
這個(gè)指令是于在整個(gè)文件中替換特定字符串
將光標(biāo)移到第n行,按下 mk
將光標(biāo)移到第m行,按下 "ay‘k
即將第n到m的行存到a寄存器,以此類推,b,c........寄存器等
刪除命令操作
d l 刪除當(dāng)前字符(與x命令功能相同)
d 0 刪除到某一行的開始位置
d ^ 刪除到某一行的第一個(gè)字符位置(不包括空格或TA B字符)
d w 刪除到某個(gè)單詞的結(jié)尾位置
d 3 w 刪除到第三個(gè)單詞的結(jié)尾位置
d b 刪除到某個(gè)單詞的開始位置
d W 刪除到某個(gè)以空格作為分隔符的單詞的結(jié)尾位置
d B 刪除到某個(gè)以空格作為分隔符的單詞的開始位置

刪除命令操作
d 7 B 刪除到前面7個(gè)以空格作為分隔符的單詞的開始位置
d) 刪除到某個(gè)語句的結(jié)尾位置
d 4) 刪除到第四個(gè)語句的結(jié)尾位置
d( 刪除到某個(gè)語句的開始位置
d } 刪除到某個(gè)段落的結(jié)尾位置
d { 刪除到某個(gè)段落的開始位置
d 7 { 刪除到當(dāng)前段落起始位置之前的第7個(gè)段落位置
d d 刪除當(dāng)前行
d /t e x t 刪除從文本中出現(xiàn)“ t e x t”中所指定字樣的位置,一直向前直到下一個(gè)該字樣所出現(xiàn)的
位置(但不包括該字樣)之間的內(nèi)容
d fc 刪除從文本中出現(xiàn)字符“c”的位置,一直向前直到下一個(gè)該字符所出現(xiàn)的位置(包括
該字符)之間的內(nèi)容
d tc 刪除當(dāng)前行直到下一個(gè)字符“ c”所出現(xiàn)位置之間的內(nèi)容
D 刪除到某一行的結(jié)尾
d $ 刪除到某一行的結(jié)尾
5 d d 刪除從當(dāng)前行所開始的5行內(nèi)容
d L 刪除直到屏幕上最后一行的內(nèi)容
d H 刪除直到屏幕上第一行的內(nèi)容
d G 刪除直到工作緩存區(qū)結(jié)尾的內(nèi)容
d 1 G 刪除直到工作緩存區(qū)開始的內(nèi)容
下載

表8-3 修改命令
修改命令操作
c l 更改當(dāng)前字符
c w 修改到某個(gè)單詞的結(jié)尾位置
c 3 w 修改到第三個(gè)單詞的結(jié)尾位置
c b 修改到某個(gè)單詞的開始位置
c W 修改到某個(gè)以空格作為分隔符的單詞的結(jié)尾位置
c B 修改到某個(gè)以空格作為分隔符的單詞的開始位置
c 7 B 修改到前面7個(gè)以空格作為分隔符的單詞的開始位置
c 0 修改到某行的結(jié)尾位置
c) 修改到某個(gè)語句的結(jié)尾位置
c 4) 修改到第四個(gè)語句的結(jié)尾位置
c( 修改到某個(gè)語句的開始位置
c } 修改到某個(gè)段落的結(jié)尾位置
c { 修改到某個(gè)段落的開始位置
c 7 { 修改到當(dāng)前段落起始位置之前的第7個(gè)段落位置
c tc 修改當(dāng)前行直到下一個(gè)字符c所出現(xiàn)位置之間的內(nèi)容
C 修改到某一行的結(jié)尾
c c 修改當(dāng)前行
5 c c 修改從當(dāng)前行所開始的5行內(nèi)容


表8-4 替換命令
替換命令操作
s 將當(dāng)前字符替換為一個(gè)或多個(gè)字符
S 將當(dāng)前行替換為一個(gè)或多個(gè)字符
5 s 將從當(dāng)前字符開始的5個(gè)字符替換為一個(gè)或多個(gè)字符
fx
往右移動(dòng)到 x 字符上
Fx
往左移動(dòng)到 x 字符上
tx
往右移動(dòng)到 x 字符前
Tx
往左移動(dòng)到 x 字符后
(注意:以上四個(gè)命令中,其中x是鍵入的字符)
;
分號(hào),配合 f 和 t 使用,重復(fù)一次 
,
逗號(hào),配合 f 和 t 使用,反方向重復(fù)一次
追加到緩沖區(qū)
對(duì)于已經(jīng)有內(nèi)容的緩沖區(qū),可以繼續(xù)追加內(nèi)容在其后面,例如:
"Ad4w      刪除光標(biāo)后4個(gè)字,并附加到緩沖區(qū)a
"Ay)       取樣從光標(biāo)到文件尾的內(nèi)容,并附加到緩沖區(qū)a
"K3yy      取樣從光標(biāo)所在行起的3行內(nèi)容,并附加到緩沖區(qū)k
刪除從當(dāng)前行開始到最后一行的所有內(nèi)容
:.,$d
在:命令行模式下,首先可以確定命令的范圍
.表示當(dāng)前行;數(shù)字表示行號(hào),如1表示第一行,2表示第二行;$表示最后一行
范圍用,分隔
然后用命令
d表示刪除,y表示復(fù)制......大家都知道的

最后說一句,%表示全文
:%d
是刪除全文

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多