西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

首頁(yè)西西教程操作系統(tǒng) → CentOS系統(tǒng)Vi工作模式及常用命令使用用法

CentOS系統(tǒng)Vi工作模式及常用命令使用用法

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:西西整理時(shí)間:2013/4/3 22:32:09字體大。A-A+

作者:西西點(diǎn)擊:0次評(píng)論:0次標(biāo)簽: CentOS

  • 類型:遠(yuǎn)程監(jiān)控大小:4.6M語(yǔ)言:中文 評(píng)分:5.6
  • 標(biāo)簽:
立即下載

VI的工作模式

Vi有三種基本的工作模式:
1.指令模式(Command Mode):指令模式主要使用方向鍵移動(dòng)光標(biāo)位置進(jìn)行文字的編輯
2.文本輸入模式(Input Mode) :在指令模式下(Command Mode)按a/A鍵、i/I鍵、o/O鍵進(jìn)入文本模式
3.行末模式(Last line Mode) :末行模式主要進(jìn)行一些文字編輯輔助功能,比如字串搜索、替代、保存文件等操作

指令模式(Command Mode) 下輸入 a、i、o進(jìn)入文本輸入模式(Input Mode)
文本輸入模式(Input Mode)下按 ESC 進(jìn)入指令模式(Command Mode)
指令模式(Command Mode)下輸入 : 進(jìn)入末行模式(Last line Mode)
末行模式(Last line Mode)下指令錯(cuò)誤則返回指令模式(Command Mode)

VI命令常用用法

這里介紹的都是最基本最常用的vi命令~折騰vPS夠用了,比如退出vi的命令等等~

0、進(jìn)入vi的命令

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

1、指令模式(Command Mode)
PageDn ----- 向下移動(dòng)一頁(yè)
PageUp ----- 向上移動(dòng)一頁(yè)
0  -----光標(biāo)移動(dòng)至行首
h  -----光標(biāo)左移一格
l  -----光標(biāo)右移一格
j  -----光標(biāo)下移一行
k  -----光標(biāo)上移一行
$+A-----將光標(biāo)移動(dòng)到該行最后
d+方向鍵 -----刪除文字
dd -----刪除整行
pp -----整行復(fù)制
r  -----修改光標(biāo)所在的字符
S  -----刪除光標(biāo)所在的列,并進(jìn)入輸入模式

2、文本輸入模式(Input Mode)
a -----在光標(biāo)后開(kāi)始插入
A -----在行尾開(kāi)始插入
i -----從光標(biāo)所在位置前面開(kāi)始插入
I -----從光標(biāo)所在列的第一個(gè)非空白字元前面開(kāi)始插入
o -----在光標(biāo)所在列下新增一列并進(jìn)入輸入模式
O -----在光標(biāo)所在列上方新增一列并進(jìn)入輸入模式
ESC -----返回命令行模式

3、末行模式(Last line Mode)
:q -----結(jié)束Vi程序,如果文件有過(guò)修改,先保存文件
:q! -----強(qiáng)制退出Vi程序(不保存修改)
:wq  -----保存修改并退出程序
ZZ-----保存修改并退出程序(在沒(méi)有開(kāi)啟Caps Lock時(shí)按住Shift鍵再按兩個(gè)z鍵)
:set num -----設(shè)置行號(hào)

搬移與復(fù)制
==========
利用 delete 及 put 指令可完成資料搬移之目的。
利用 yank 及 put 指令可完成資料復(fù)制之目的。
yank 和 delete 可將指定的資料復(fù)制到記憶體緩沖區(qū),而藉由 put 指令
可將緩沖區(qū)內(nèi)的資料復(fù)制到螢?zāi)簧稀?br /> 例:
搬移一行 .在該行執(zhí)行 dd
.游標(biāo)移至目的地
.執(zhí)行 p
復(fù)制一行 .在該行執(zhí)行 yy
.游標(biāo)移至目的地
.執(zhí)行 p
.指令重復(fù)
=========
在指令模式中,可在指令前面加入一數(shù)字 n,則此指令動(dòng)作會(huì)重復(fù)執(zhí)行 n
次。
例:
刪除10行 .10dd
復(fù)制10行 .10yy
.游標(biāo)移至目的地
.p
指標(biāo)往下移10行 .10j
..取消前一動(dòng)作(Undo)
===================
即復(fù)原執(zhí)行上一指令前的內(nèi)容。
u 恢復(fù)最後一個(gè)指令之前的結(jié)果。
U 恢復(fù)游標(biāo)該行之所有改變。
..搜尋
=====
在vi中可搜尋某一字串,使游標(biāo)移至該處。
/字串 往游標(biāo)之後尋找該字串。
?字串 往游標(biāo)之前尋找該字串。
n 往下繼續(xù)尋找下一個(gè)相同的字串。
N 往上繼續(xù)尋找下一個(gè)相同的字串。
..資料的連接
===========
J 句子的連接。將游標(biāo)所在之下一行連接至游標(biāo)該行的後面。
若某行資料太長(zhǎng)亦可將其分成兩行,只要將游標(biāo)移至分開(kāi)點(diǎn),進(jìn)入輸入模式
(可利用 a、i等指令)再按《Enter》即可。

..環(huán)境的設(shè)定
===========
:set nu 設(shè)定資料的行號(hào)。
:set nonu 取消行號(hào)設(shè)定。
:set ai 自動(dòng)內(nèi)縮。
:set noai 取消自動(dòng)內(nèi)縮。
自動(dòng)內(nèi)縮(automatic indentation)
在編輯文件或程式時(shí),有時(shí)會(huì)遇到需要內(nèi)縮的狀況,『:set ai』即提供自
動(dòng)內(nèi)縮的功能,用下例解釋之:
.vi test
.(進(jìn)入編輯視窗後)
this is the test for auto indent
《Tab》start indent ← :set ai (設(shè)自動(dòng)內(nèi)縮)
《Tab》data
《Tab》data
《Tab》data ← :set noai (取消自動(dòng)內(nèi)縮)
the end of auto indent.
.注:<Ctrl><d> 可刪除《Tab》字元。

從當(dāng)前位置刪除到行尾
d$
從當(dāng)前位置復(fù)制到行尾
y$ 如果要粘貼到其他地方 p 就可以了

13.
:%s/old_word/new_word/g
這個(gè)指令是于在整個(gè)文件中替換特定字符串
14.光標(biāo)控制
k:上移 nk 上移n行
j:下移 nj 下移n行

將光標(biāo)移到第n行,按下 mk
將光標(biāo)移到第m行,按下 "ay'k
即將第n到m的行存到a寄存器,以此類推,b,c........寄存器等
這樣就可以將你常用的需要復(fù)用的內(nèi)容粘貼到不同的寄存器中以備用

想粘貼到某處,直接將光標(biāo)移到某地,按下 ‘a(chǎn)p 即可,以此類推,b,c........寄存器等
在當(dāng)前屏幕中
H 跳到第一行
M 跳到中間一行
L 跳到最后一行
15.
表8-2 刪除命令
刪除命令操作
d l 刪除當(dāng)前字符(與x命令功能相同)
d 0 刪除到某一行的開(kāi)始位置
d ^ 刪除到某一行的第一個(gè)字符位置(不包括空格或TA B字符)
d w 刪除到某個(gè)單詞的結(jié)尾位置
d 3 w 刪除到第三個(gè)單詞的結(jié)尾位置
d b 刪除到某個(gè)單詞的開(kāi)始位置
d W 刪除到某個(gè)以空格作為分隔符的單詞的結(jié)尾位置
d B 刪除到某個(gè)以空格作為分隔符的單詞的開(kāi)始位置
d 7 B 刪除到前面7個(gè)以空格作為分隔符的單詞的開(kāi)始位置
d) 刪除到某個(gè)語(yǔ)句的結(jié)尾位置
d 4) 刪除到第四個(gè)語(yǔ)句的結(jié)尾位置
d( 刪除到某個(gè)語(yǔ)句的開(kāi)始位置
d } 刪除到某個(gè)段落的結(jié)尾位置
d { 刪除到某個(gè)段落的開(kāi)始位置
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)前行所開(kāi)始的5行內(nèi)容
d L 刪除直到屏幕上最后一行的內(nèi)容
d H 刪除直到屏幕上第一行的內(nèi)容
d G 刪除直到工作緩存區(qū)結(jié)尾的內(nèi)容
d 1 G 刪除直到工作緩存區(qū)開(kāi)始的內(nèi)容

替換命令
替換命令操作
s 將當(dāng)前字符替換為一個(gè)或多個(gè)字符
S 將當(dāng)前行替換為一個(gè)或多個(gè)字符
5 s 將從當(dāng)前字符開(kāi)始的5個(gè)字符替換為一個(gè)或多個(gè)字符

vi替換使用規(guī)則:
:g/s1/s/s2/s3/g
第一個(gè)g表示對(duì)每一個(gè)包括s1的行都進(jìn)行替換,第二個(gè)g表示對(duì)每一行包括s1的行所有的s2都用s3替換
s表示替換,s2是要被替換的字符串,他可以和s1相同(如果相同的話用//代替),s3是替換字符串

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過(guò)難過(guò)
    • 5 囧
    • 3 圍觀圍觀
    • 2 無(wú)聊無(wú)聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)