綠色資源網(wǎng):您身邊最放心的安全下載站! 最新軟件|熱門排行|軟件分類|軟件專題|論壇轉(zhuǎn)帖|廠商大全

綠色資源網(wǎng)

技術(shù)教程
您的位置:首頁操作系統(tǒng)linux → CentOS系統(tǒng)Vi工作模式及常用命令使用用法

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

我要評論 2013/04/04 20:47:07 來源:綠色資源網(wǎng) 編輯:sonlywya.cn [ ] 評論:0 點擊:113次

VI的工作模式
 

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

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

VI命令常用用法

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

0、進入vi的命令

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

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

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

3、末行模式(Last line Mode)
:q -----結(jié)束Vi程序,如果文件有過修改,先保存文件
:q! -----強制退出Vi程序(不保存修改)
:wq  -----保存修改并退出程序
ZZ-----保存修改并退出程序(在沒有開啟Caps Lock時按住Shift鍵再按兩個z鍵)
:set num -----設置行號

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

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

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

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

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

想粘貼到某處,直接將光標移到某地,按下 ‘ap 即可,以此類推,b,c........寄存器等
在當前屏幕中
H 跳到第一行
M 跳到中間一行
L 跳到最后一行
15.
表8-2 刪除命令
刪除命令操作
d l 刪除當前字符(與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 { 刪除到當前段落起始位置之前的第7個段落位置
d d 刪除當前行
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 刪除當前行直到下一個字符“ c”所出現(xiàn)位置之間的內(nèi)容
D 刪除到某一行的結(jié)尾
d $ 刪除到某一行的結(jié)尾
5 d d 刪除從當前行所開始的5行內(nèi)容
d L 刪除直到屏幕上最后一行的內(nèi)容
d H 刪除直到屏幕上第一行的內(nèi)容
d G 刪除直到工作緩存區(qū)結(jié)尾的內(nèi)容
d 1 G 刪除直到工作緩存區(qū)開始的內(nèi)容

替換命令
替換命令操作
s 將當前字符替換為一個或多個字符
S 將當前行替換為一個或多個字符
5 s 將從當前字符開始的5個字符替換為一個或多個字符

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

關(guān)鍵詞:CentOS

閱讀本文后您有什么感想? 已有 人給出評價!

  • 0 歡迎喜歡
  • 0 白癡
  • 0 拜托
  • 0 哇
  • 0 加油
  • 0 鄙視