CentOS系統Vi工作模式及常用命令使用用法

來源:互聯網
上載者:User

   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編輯時發生系統崩潰,恢複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 -----結束Vi程式,如果檔案有過修改,先儲存檔案

  :q! -----強制退出Vi程式(不儲存修改)

  :wq -----儲存修改並退出程式

  ZZ-----儲存修改並退出程式(在沒有開啟Caps Lock時按住Shift鍵再按兩個z鍵)

  :set num -----設定行號

  搬移與複製

  ==========

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

  利用 yank 及 put 指令可完成資料複製之目的。

  yank 和 delete 可將指定的資料複製到記憶體緩衝區,而藉由 put 指令

  可將緩衝區內的資料複製到螢幕上。

  例:

  搬移一行 .在該行執行 dd

  .遊標移至目的地

  .執行 p

  複製一行 .在該行執行 yy

  .遊標移至目的地

  .執行 p

  .指令重複

  =========

  在指令模式中,可在指令前面加入一數字 n,則此指令動作會重複執行 n

  次。

  例:

  刪除10行 .10dd

  複製10行 .10yy

  .遊標移至目的地

  .p

  指標往下移10行 .10j

  ..取消前一動作(Undo)

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

  即複原執行上一指令前的內容。

  u 恢複最後一個指令之前的結果。

  U 恢複遊標該行之所有改變。

  ..搜尋

  =====

  在vi中可搜尋某一字串,使遊標移至該處。

  /字串 往遊標之後尋找該字串。

  ?字串 往遊標之前尋找該字串。

  n 往下繼續尋找下一個相同的字串。

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

  ..資料的串連

  ===========

  J 句子的串連。將遊標所在之下一行串連至遊標該行的後面。

  若某行資料太長亦可將其分成兩行,只要將遊標移至分開點,進入輸入模式

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

  ..環境的設定

  ===========

  :set nu 設定資料的行號。

  :set nonu 取消行號設定。

  :set ai 自動內縮。

  :set noai 取消自動內縮。

  自動內縮(automatic indentation)

  在編輯檔案或程式時,有時會遇到需要內縮的狀況,『:set ai』即提供自

  動內縮的功能,用下例解釋之:

  .vi test

  .(進入編輯視窗後)

  this is the test for auto indent

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

  《Tab》data

  《Tab》data

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

  the end of auto indent.

  .註: 可刪除《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........寄存器等

  這樣就可以將你常用的需要複用的內容粘貼到不同的寄存器中以備用

  想粘貼到某處,直接將游標移到某地,按下 ‘ap 即可,以此類推,b,c........寄存器等

  在當前螢幕中

  H 跳到第一行

  M 跳到中間一行

  L 跳到最後一行

  15.

  表8-2 刪除命令

  刪除命令操作

  d l 刪除當前字元(與x命令功能相同)

  d 0 刪除到某一行的開始位置

  d ^ 刪除到某一行的第一個字元位置(不包括空格或TA B字元)

  d w 刪除到某個單詞的結尾位置

  d 3 w 刪除到第三個單詞的結尾位置

  d b 刪除到某個單詞的開始位置

  d W 刪除到某個以空格作為分隔字元的單詞的結尾位置

  d B 刪除到某個以空格作為分隔字元的單詞的開始位置

  d 7 B 刪除到前面7個以空格作為分隔字元的單詞的開始位置

  d) 刪除到某個語句的結尾位置

  d 4) 刪除到第四個語句的結尾位置

  d( 刪除到某個語句的開始位置

  d } 刪除到某個段落的結尾位置

  d { 刪除到某個段落的開始位置

  d 7 { 刪除到當前段落起始位置之前的第7個段落位置

  d d 刪除當前行

  d /t e x t 刪除從文本中出現“ t e x t”中所指定字樣的位置,一直向前直到下一個該字樣所出現的

  位置(但不包括該字樣)之間的內容

  d fc 刪除從文本中出現字元“c”的位置,一直向前直到下一個該字元所出現的位置(包括

  該字元)之間的內容

  d tc 刪除當前行直到下一個字元“ c”所出現位置之間的內容

  D 刪除到某一行的結尾

  d $ 刪除到某一行的結尾

  5 d d 刪除從當前行所開始的5行內容

  d L 刪除直到螢幕上最後一行的內容

  d H 刪除直到螢幕上第一行的內容

  d G 刪除直到工作緩衝區結尾的內容

  d 1 G 刪除直到工作緩衝區開始的內容

  替換命令

  替換命令操作

  s 將當前字元替換為一個或多個字元

  S 將當前行替換為一個或多個字元

  5 s 將從當前字元開始的5個字元替換為一個或多個字元

  vi替換使用規則:

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

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

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.