一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

vi命令一覽表及高級技巧

 jollyme 2006-02-25


TagVIM                                          

進入vi的命令

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

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

h :光標(biāo)左移一個字符
l  :光標(biāo)右移一個字符
space:光標(biāo)右移一個字符
Backspace:光標(biāo)左移一個字符
k或Ctrl+p:光標(biāo)上移一行
j或Ctrl+n :光標(biāo)下移一行
Enter :光標(biāo)下移一行
w或W :光標(biāo)右移一個字至字首
b或B :光標(biāo)左移一個字至字首
e或E :光標(biāo)右移一個字至字尾
) :光標(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時將當(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個字
do:刪至行首
d$:刪至行尾
ndd:刪除當(dāng)前行及其后n-1行
x或X:刪除一個字符,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替換

選項設(shè)置

all:列出所有選項設(shè)置情況
term:設(shè)置終端類型
ignorance:在搜索中忽略大小寫
list:顯示制表位(Ctrl+I)和行尾標(biāo)志($)
number:顯示行號
report:顯示由面向行的命令修改過的數(shù)目
terse:顯示簡短的警告信息
warn:在轉(zhuǎn)到別的文件時若沒保存當(dāng)前文件則顯示NO write信息
nomagic:允許在搜索模式中,使用前面不帶“\”的特殊字符
nowrapscan:禁止vi在搜索到達文件兩端時,又從另一端開始
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進行編輯
:x:保存當(dāng)前文件并退出
:q:退出vi
:q!:不保存文件并退出vi
:!command:執(zhí)行shell命令command
:n1,n2 w!command:將文件中n1行至n2行的內(nèi)容作為command的輸入并執(zhí)行之,若不指定n1,n2,則表示將整個文件內(nèi)容作為command的輸入
:r!command:將命令command的輸出結(jié)果放到當(dāng)前行

寄存器操作

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

交換兩個字符位置
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)處。
我常用到的單個字符替換用r,覆蓋多個字符用R,用多個字符替換一個字符用s,整行替換用S
:%s/old_word/new_word/g
這個指令是于在整個文件中替換特定字符串
將光標(biāo)移到第n行,按下 mk
將光標(biāo)移到第m行,按下 "ay‘k
即將第n到m的行存到a寄存器,以此類推,b,c........寄存器等
刪除命令操作
d l 刪除當(dāng)前字符(與x命令功能相同)
d 0 刪除到某一行的開始位置
d ^ 刪除到某一行的第一個字符位置(不包括空格或TA B字符)
d w 刪除到某個單詞的結(jié)尾位置
d 3 w 刪除到第三個單詞的結(jié)尾位置
d b 刪除到某個單詞的開始位置
d W 刪除到某個以空格作為分隔符的單詞的結(jié)尾位置
d B 刪除到某個以空格作為分隔符的單詞的開始位置

刪除命令操作
d 7 B 刪除到前面7個以空格作為分隔符的單詞的開始位置
d) 刪除到某個語句的結(jié)尾位置
d 4) 刪除到第四個語句的結(jié)尾位置
d( 刪除到某個語句的開始位置
d } 刪除到某個段落的結(jié)尾位置
d { 刪除到某個段落的開始位置
d 7 { 刪除到當(dāng)前段落起始位置之前的第7個段落位置
d d 刪除當(dāng)前行
d /t e x t 刪除從文本中出現(xiàn)“ t e x t”中所指定字樣的位置,一直向前直到下一個該字樣所出現(xiàn)的
位置(但不包括該字樣)之間的內(nèi)容
d fc 刪除從文本中出現(xiàn)字符“c”的位置,一直向前直到下一個該字符所出現(xiàn)的位置(包括
該字符)之間的內(nèi)容
d tc 刪除當(dāng)前行直到下一個字符“ 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 修改到某個單詞的結(jié)尾位置
c 3 w 修改到第三個單詞的結(jié)尾位置
c b 修改到某個單詞的開始位置
c W 修改到某個以空格作為分隔符的單詞的結(jié)尾位置
c B 修改到某個以空格作為分隔符的單詞的開始位置
c 7 B 修改到前面7個以空格作為分隔符的單詞的開始位置
c 0 修改到某行的結(jié)尾位置
c) 修改到某個語句的結(jié)尾位置
c 4) 修改到第四個語句的結(jié)尾位置
c( 修改到某個語句的開始位置
c } 修改到某個段落的結(jié)尾位置
c { 修改到某個段落的開始位置
c 7 { 修改到當(dāng)前段落起始位置之前的第7個段落位置
c tc 修改當(dāng)前行直到下一個字符c所出現(xiàn)位置之間的內(nèi)容
C 修改到某一行的結(jié)尾
c c 修改當(dāng)前行
5 c c 修改從當(dāng)前行所開始的5行內(nèi)容


表8-4 替換命令
替換命令操作
s 將當(dāng)前字符替換為一個或多個字符
S 將當(dāng)前行替換為一個或多個字符
5 s 將從當(dāng)前字符開始的5個字符替換為一個或多個字符
fx
往右移動到 x 字符上
Fx
往左移動到 x 字符上
tx
往右移動到 x 字符前
Tx
往左移動到 x 字符后
(注意:以上四個命令中,其中x是鍵入的字符)
;
分號,配合 f 和 t 使用,重復(fù)一次 
,
逗號,配合 f 和 t 使用,反方向重復(fù)一次
追加到緩沖區(qū)
對于已經(jīng)有內(nèi)容的緩沖區(qū),可以繼續(xù)追加內(nèi)容在其后面,例如:
"Ad4w      刪除光標(biāo)后4個字,并附加到緩沖區(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ù)字表示行號,如1表示第一行,2表示第二行;$表示最后一行
范圍用,分隔
然后用命令
d表示刪除,y表示復(fù)制......大家都知道的

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

 

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    1024你懂的在线视频| 欧美美女视频在线免费看| 91国内视频一区二区三区| 东京不热免费观看日本| 欧美日韩精品一区免费 | 麻豆视传媒短视频在线看| 中文字幕亚洲在线一区| 亚洲av秘片一区二区三区| 成人国产一区二区三区精品麻豆| 国产老熟女超碰一区二区三区| 玩弄人妻少妇一区二区桃花| 国产三级欧美三级日韩三级 | 空之色水之色在线播放| 99精品人妻少妇一区二区人人妻| 亚洲欧美日韩国产综合在线| 日韩中文字幕视频在线高清版| 亚洲综合色婷婷七月丁香| 久久人人爽人人爽大片av| 亚洲精品日韩欧美精品| 国产综合香蕉五月婷在线| 九九热这里有精品20| 国产免费一区二区三区不卡| 亚洲国产av精品一区二区| 国产亚洲中文日韩欧美综合网| 深夜视频成人在线观看| 不卡在线播放一区二区三区| 深夜福利欲求不满的人妻| 日本成人中文字幕一区| 欧美日韩一级aa大片| 亚洲欧美一二区日韩高清在线| 午夜精品福利视频观看 | 成人午夜在线视频观看| 日本精品视频一二三区| 热情的邻居在线中文字幕| 人人妻在人人看人人澡| 婷婷开心五月亚洲综合| 97精品人妻一区二区三区麻豆| 国产精品美女午夜福利| 日韩免费av一区二区三区| 亚洲男女性生活免费视频| 欧美国产日本免费不卡|