技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費(fèi)軟件下載基地!

當(dāng)前位置:主頁 > 教程 > 服務(wù)器類 >

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

來源:技術(shù)員聯(lián)盟┆發(fā)布時(shí)間:2019-03-31 12:15┆點(diǎ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)下指令錯誤則返回指令模式(Command Mode)

  VI命令常用用法

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

  0、進(jìn)入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編輯時(shí)發(fā)生系統(tǒng)崩潰,恢復(fù)filename

  vi filename....filename :打開多個文件,依次進(jìn)行編輯

  1、指令模式(Command Mode)

  PageDn ----- 向下移動一頁

  PageUp ----- 向上移動一頁

  0 -----光標(biāo)移動至行首

  h -----光標(biāo)左移一格

  l -----光標(biāo)右移一格

  j -----光標(biāo)下移一行

  k -----光標(biāo)上移一行

  $+A-----將光標(biāo)移動到該行最后

  d+方向鍵 -----刪除文字

  dd -----刪除整行

  pp -----整行復(fù)制

  r -----修改光標(biāo)所在的字符

  S -----刪除光標(biāo)所在的列,并進(jìn)入輸入模式

  2、文本輸入模式(Input Mode)

  a -----在光標(biāo)后開始插入

  A -----在行尾開始插入

  i -----從光標(biāo)所在位置前面開始插入

  I -----從光標(biāo)所在列的第一個非空白字元前面開始插入

  o -----在光標(biāo)所在列下新增一列并進(jìn)入輸入模式

  O -----在光標(biāo)所在列上方新增一列并進(jìn)入輸入模式

  ESC -----返回命令行模式

  3、末行模式(Last line Mode)

  :q -----結(jié)束Vi程序,如果文件有過修改,先保存文件

  :q! -----強(qiáng)制退出Vi程序(不保存修改)

  :wq -----保存修改并退出程序

  ZZ-----保存修改并退出程序(在沒有開啟Caps Lock時(shí)按住Shift鍵再按兩個z鍵)

  :set num -----設(shè)置行號

  搬移與復(fù)制

  ==========

  利用 delete 及 put 指令可完成資料搬移之目的。

  利用 yank 及 put 指令可完成資料復(fù)制之目的。

  yank 和 delete 可將指定的資料復(fù)制到記憶體緩沖區(qū),而藉由 put 指令

  可將緩沖區(qū)內(nèi)的資料復(fù)制到螢?zāi)簧稀?/p>

  例:

  搬移一行 .在該行執(zhí)行 dd

  .游標(biāo)移至目的地

  .執(zhí)行 p

  復(fù)制一行 .在該行執(zhí)行 yy

  .游標(biāo)移至目的地

  .執(zhí)行 p

  .指令重復(fù)

  =========

  在指令模式中,可在指令前面加入一數(shù)字 n,則此指令動作會重復(fù)執(zhí)行 n

  次。

  例:

  刪除10行 .10dd

  復(fù)制10行 .10yy

  .游標(biāo)移至目的地

  .p

  指標(biāo)往下移10行 .10j

  ..取消前一動作(Undo)

  ===================

  即復(fù)原執(zhí)行上一指令前的內(nèi)容。

  u 恢復(fù)最後一個指令之前的結(jié)果。

  U 恢復(fù)游標(biāo)該行之所有改變。

  ..搜尋

  =====

  在vi中可搜尋某一字串,使游標(biāo)移至該處。

  /字串 往游標(biāo)之後尋找該字串。

  ?字串 往游標(biāo)之前尋找該字串。

  n 往下繼續(xù)尋找下一個相同的字串。

  N 往上繼續(xù)尋找下一個相同的字串。

  ..資料的連接

  ===========

  J 句子的連接。將游標(biāo)所在之下一行連接至游標(biāo)該行的後面。

  若某行資料太長亦可將其分成兩行,只要將游標(biāo)移至分開點(diǎn),進(jìn)入輸入模式

  (可利用 a、i等指令)再按《Enter》即可。

  ..環(huán)境的設(shè)定

  ===========

 ?。簊et nu 設(shè)定資料的行號。

 ?。簊et nonu 取消行號設(shè)定。

 ?。簊et ai 自動內(nèi)縮。

 ?。簊et noai 取消自動內(nèi)縮。

  自動內(nèi)縮(automatic indentation)

  在編輯文件或程式時(shí),有時(shí)會遇到需要內(nèi)縮的狀況,『:set ai』即提供自

  動內(nèi)縮的功能,用下例解釋之:

  .vi test

  .(進(jìn)入編輯視窗後)

  this is the test for auto indent

  《Tab》start indent ← :set ai (設(shè)自動內(nèi)縮)

  《Tab》data

  《Tab》data

  《Tab》data ← :set noai (取消自動內(nèi)縮)

  the end of auto indent.

  .注: 可刪除《Tab》字元。

  從當(dāng)前位置刪除到行尾

  d$

  從當(dāng)前位置復(fù)制到行尾

  y$ 如果要粘貼到其他地方 p 就可以了

  13.

  :%s/old_word/new_word/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)移到某地,按下 ‘ap 即可,以此類推,b,c........寄存器等

  在當(dāng)前屏幕中

  H 跳到第一行

  M 跳到中間一行

  L 跳到最后一行

  15.

  表8-2 刪除命令

  刪除命令操作

  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)容

  替換命令

  替換命令操作

  s 將當(dāng)前字符替換為一個或多個字符

  S 將當(dāng)前行替換為一個或多個字符

  5 s 將從當(dāng)前字符開始的5個字符替換為一個或多個字符

  vi替換使用規(guī)則:

  :g/s1/s/s2/s3/g

  第一個g表示對每一個包括s1的行都進(jìn)行替換,第二個g表示對每一行包括s1的行所有的s2都用s3替換

  s表示替換,s2是要被替換的字符串,他可以和s1相同(如果相同的話用//代替),s3是替換字符串