綠色(sè)資源網:您身(shēn)邊(biān)最放心(xīn)的安全(quán)下載(zǎi)站! 最新軟件|熱(rè)門排行|軟件分類|軟件專題|廠商大全

綠色資源網

技術教程(chéng)
您的位置:首頁操作係統(tǒng)linux → CentOS係統Vi工作(zuò)模式及常用命令(lìng)使(shǐ)用用(yòng)法

CentOS係統Vi工作模式(shì)及常用命令(lìng)使用用(yòng)法

我要評論 2013/04/04 20:47:07 來源:綠色資(zī)源網(wǎng) 編(biān)輯:www.itseasyglobal.com [ 小(xiǎo)] 評(píng)論:0 點擊:113次

VI的工作模式
 

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

指令(lìng)模式(Command Mode) 下輸入 a、i、o進(jìn)入文本輸入模式(Input Mode)
文本輸入模式(Input Mode)下按 ESC 進入指令模式(Command Mode)
指令模式(Command Mode)下輸入 : 進入末行(háng)模式(Last line Mode)
末行模(mó)式(Last line Mode)下指令錯誤則返回(huí)指令模式(Command Mode)

VI命(mìng)令常用用法

這裏(lǐ)介紹的都是最基本最常用的(de)vi命令~折騰vps夠用了,比如退出vi的(de)命(mìng)令等等~
 

0、進入(rù)vi的命令

vi filename :打(dǎ)開或新建文件(jiàn),並將(jiāng)光(guāng)標(biāo)置(zhì)於第(dì)一行(háng)首
vi n filename :打開文(wén)件,並(bìng)將光標置於第n行首
vi filename :打開文件,並將光標置於一(yī)行(háng)首
vi /pattern filename:打開(kāi)文件,並將光標置於第一個與pattern匹配的(de)串(chuàn)處
vi -r filename :在上次(cì)正(zhèng)用vi編(biān)輯時發生係統崩潰,恢複filename
vi filename....filename :打開多個文件,依次進行編輯

1、指令(lìng)模式(Command Mode)
PageDn ----- 向下移動(dòng)一(yī)頁(yè)
PageUp ----- 向上移動(dòng)一(yī)頁
0  -----光標移(yí)動至行(háng)首
h  -----光(guāng)標左移一格(gé)
l  -----光標右移一格
j  -----光標(biāo)下移一行
k  -----光標上(shàng)移(yí)一行
$+A-----將光標(biāo)移動到該行最後
d+方向鍵 -----刪除文字
dd -----刪除整行
pp -----整行複(fù)製
r  -----修改光標所在的字符
S  -----刪除光標(biāo)所在的列(liè),並進入輸(shū)入模式

2、文(wén)本輸入模式(shì)(Input Mode)
a -----在光標後開始插入
A -----在行尾開始(shǐ)插入
i -----從光(guāng)標所在(zài)位置前麵開(kāi)始插入
I -----從光標(biāo)所在列的第一(yī)個非空白字元前麵(miàn)開(kāi)始插入(rù)
o -----在(zài)光(guāng)標(biāo)所在列下新增一列並進入輸入(rù)模式
O -----在光標所(suǒ)在列上方新增一列並進入輸入模式(shì)
ESC -----返回命(mìng)令(lìng)行模式

3、末行(háng)模式(Last line Mode)
:q -----結束Vi程序,如果文件有過修改(gǎi),先保(bǎo)存文件(jiàn)
:q! -----強製退出Vi程(chéng)序(不保存修改)
:wq  -----保存修改(gǎi)並退出程序(xù)
ZZ-----保存修改並(bìng)退(tuì)出程(chéng)序(在沒有開啟(qǐ)Caps Lock時按住Shift鍵再按兩個z鍵)
:set num -----設置行號

搬移與複製
==========
利用 delete 及 put 指令可完成資料(liào)搬移之目的(de)。
利用(yòng) yank 及 put 指令可完成資料複製之目的(de)。
yank 和 delete 可將指定的資料複製(zhì)到記(jì)憶體緩(huǎn)衝區,而(ér)藉由 put 指(zhǐ)令
可將緩衝區內(nèi)的資(zī)料複製到(dào)螢幕上。
例:
搬移一行 .在(zài)該行(háng)執行 dd
.遊標移至目(mù)的地
.執行 p
複製一行(háng) .在該行(háng)執行 yy
.遊標移至(zhì)目的地
.執行 p
.指令重複
=========
在指令模式中,可(kě)在指(zhǐ)令前麵加入一數字 n,則此(cǐ)指令動作會重複執行 n
次。
例:
刪除10行 .10dd
複製(zhì)10行 .10yy
.遊標移至目的地(dì)
.p
指標往下移10行(háng) .10j
..取(qǔ)消前一動作(Undo)
===================
即複原執行上一(yī)指令前的內容。
u 恢複最後一個指令之前的(de)結(jié)果。
U 恢複(fù)遊標該行之(zhī)所(suǒ)有改變。
..搜尋
=====
在vi中可搜尋某一字(zì)串,使遊(yóu)標移至該處。
/字串 往遊標(biāo)之後尋找該字串。
?字串(chuàn) 往(wǎng)遊標之前尋找該字串。
n 往下繼續尋找(zhǎo)下一個相(xiàng)同的(de)字串(chuàn)。
N 往上繼續尋找下一個(gè)相同的字(zì)串。
..資料(liào)的連接(jiē)
===========
J 句子的(de)連接。將遊標所在之(zhī)下一(yī)行連(lián)接至遊(yóu)標該行的後麵。
若某(mǒu)行資料太長亦可將其分成兩行,隻要將遊(yóu)標移至分開(kāi)點,進入輸入模式(shì)
(可利(lì)用(yòng) a、i等指(zhǐ)令)再按(àn)《Enter》即可。

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

從當前位置刪(shān)除到行尾
d$
從當(dāng)前位(wèi)置複製到行(háng)尾
y$ 如果要粘貼到其他地方(fāng) p 就可(kě)以了

13.
:%s/old_word/new_word/g
這個指令是於在(zài)整個文件中替換特定字(zì)符串
14.光標控製
k:上移 nk 上(shàng)移n行
j:下移 nj 下移n行

將光標移到第n行,按下 mk
將光標移到第(dì)m行(háng),按(àn)下 "ay'k
即將第n到m的行(háng)存到a寄存器,以此類推,b,c........寄存器等(děng)
這樣就可(kě)以將你常用的需要複用的內容粘貼到不(bú)同的(de)寄存器中以備用

想粘(zhān)貼到(dào)某處,直接將光標移到某地,按下 ‘ap 即(jí)可,以此類推(tuī),b,c........寄存(cún)器等
在(zài)當前屏(píng)幕中(zhōng)
H 跳到第一行
M 跳到中間(jiān)一行
L 跳到最後一(yī)行
15.
表8-2 刪除命令(lìng)
刪除命令操作
d l 刪除當(dāng)前字符(與x命令功能相同(tóng))
d 0 刪除到某一行的開(kāi)始位置
d ^ 刪除到(dào)某一行的第一個字符(fú)位置(不包(bāo)括空格(gé)或TA B字符)
d w 刪除到(dào)某個單詞的結尾位置
d 3 w 刪除到第(dì)三個單詞的結尾位置
d b 刪除到某個單詞(cí)的開始位置
d W 刪除到某個以空格作(zuò)為(wéi)分(fèn)隔符的單詞的結尾位置
d B 刪除到某(mǒu)個以空格作為分隔符的單詞的開始位置
d 7 B 刪除到前麵7個以空(kōng)格作為分隔(gé)符的單詞的開(kāi)始位置
d) 刪除(chú)到某個語句的結尾位置
d 4) 刪除到第四(sì)個語(yǔ)句的結尾位(wèi)置
d( 刪(shān)除到某個(gè)語句的開始位置
d } 刪除到某個段落的結尾位置
d { 刪除到某個段落的開始位置
d 7 { 刪除到當前(qián)段(duàn)落起始位置之(zhī)前的第7個(gè)段落位置(zhì)
d d 刪除(chú)當前行(háng)
d /t e x t 刪除從文本(běn)中(zhōng)出現“ t e x t”中所指定(dìng)字(zì)樣的(de)位(wèi)置,一(yī)直向前直到(dào)下一個(gè)該字樣所出現的
位置(zhì)(但不包括該(gāi)字樣)之間的(de)內容
d fc 刪除從文本(běn)中(zhōng)出現(xiàn)字符“c”的位置,一直向前直到下一(yī)個(gè)該(gāi)字符所(suǒ)出現的(de)位置(zhì)(包括(kuò)
該字符)之(zhī)間的內容
d tc 刪除當前(qián)行直到下一個字符(fú)“ c”所出現位置之(zhī)間的內(nèi)容(róng)
D 刪除到(dào)某(mǒu)一行的結尾
d $ 刪除到某一(yī)行的結尾
5 d d 刪除從當前行所(suǒ)開始(shǐ)的5行內容
d L 刪除直到屏幕上最(zuì)後一行的內容
d H 刪除直到屏幕上第一行的內容
d G 刪除直到工作緩(huǎn)存區結(jié)尾的(de)內容
d 1 G 刪除直到工作緩存區開始的內容

替換命(mìng)令
替換命(mìng)令操作
s 將當前(qián)字符替(tì)換為一(yī)個(gè)或多個字符
S 將(jiāng)當前行替換為一個或多(duō)個(gè)字符
5 s 將從(cóng)當前字符開(kāi)始的5個字(zì)符替換為一個或多個(gè)字(zì)符

vi替換使用規則(zé):
:g/s1/s/s2/s3/g
第一個g表示(shì)對每(měi)一個包括s1的行都進行替換,第(dì)二(èr)個g表示對每一行(háng)包括(kuò)s1的行所有的s2都用s3替換
s表示替換,s2是(shì)要被替換的字符(fú)串,他可以和s1相(xiàng)同(如果相同的(de)話用//代替),s3是替換字符串

關鍵詞:CentOS

閱讀本文後您有什麽感想? 已有 人給(gěi)出評價!

  • 0 歡迎喜歡(huān)
  • 0 白癡
  • 0 拜托
  • 0 哇
  • 0 加(jiā)油
  • 0 鄙視