歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux管理 >> Linux維護 >> vi編輯命令

vi編輯命令

日期:2017/3/2 10:45:18   编辑:Linux維護

  重復執行命令

  數字N+命令     重復執行命令N次,如刪除15行,就在命令狀態下輸入15dd

  .              重復執行上一條命令

  vi命令使用的一些選項及含義

  -c sub-command 在對指定的文件編輯前,先執行指定的命令 sub-command .

  -r filename 恢復指定的文件filename .

  -R 將指定的文件以只讀的方式放入編輯器中,這樣不會保存對文件的任何修 改。

  -y number 將編輯窗口的大小設為number行。

  光標移動

  命令模式下,在同一行上移動的子命令:

  h   將光標左移一格

  l   將光標右移一格

  j   將光標下移一格

  k   將光標上移一格

  w   將光標移到下一個小字的前面

  W  將光標移到下一個大字的前面

  b   將光標移到前一個小字的前面

  B   將光標移到前一個大字的前面

  e   將光標移到下一個小字的後面

  E   將光標移到前一個大字的後面

  fc  把光標移到同一行的下一個c字符處

  Fc  把光標移到同一行的前一個c字符處

  tc  把光標移到同一行的下一個字符c的前一格

  Tc  把光標移到同一行的前一個字符c的後一格

  number|把光標移到遞number列上

  命令模式下在行間移動的子命令:     

  +或Enter   把光標移至下一行第一個非空白字符

  -   把光標移至上一行第一個非空白字符 

  0   把光標移到當前行的第一個字符處

  $   把光標移到當前行的最後一個字符處

  H   把光標移到屏幕最頂端一行

  L   把光標移到屏幕最底端一行

  M  把光標移到屏幕中間

  :number 光標移動到第number行

  :$  光標移動到最後以行

  屏幕翻滾類命令

  Ctrl+u   向文件首翻半屏

  Ctrl+d   向文件尾翻半屏

  Ctrl+f   向文件尾翻一屏

  Ctrl+b  向文件首翻一屏

  nz     將第n行滾至屏幕頂部,不指定n時將當前行滾至屏幕頂部

  插入文本

  I   在光標前

  I   在當前行首

  a   光標後

  A   在當前行尾

  o   在當前行之下新開一行

  O  在當前行之上新開一行

  r   替換當前字符

  R   替換當前字符及其後的字符,直至按ESC鍵

  s   從當前光標位置處開始,以輸入的文本替代指定數目的字符

  S   刪除指定數目的行,並以所輸入文本代替之

  ncw或nCW  修改n個單詞

  nCC修改指定數目的行

  刪除

  x       刪除光標所指的一個字母

  X      刪除光標左邊的一個字母

  dd     刪除光標所在的一行文字,同時本行文字會放到緩存中

  d0     刪至行首

  d$     刪至行尾

  D      刪除本行光標右邊的所有文字,包括光標位置的字母

  d$     刪除本行光標右邊的所有文字,包括光標位置的字母

  dw     刪除光標右邊的一個單詞

  ndw    刪除n個單詞

  d1G       刪除光標所在行以上的所有行

  dG     刪除光標所在行及光標以下所有行

  復制

  yy          復制本行文字到緩存中

  number yy   復制number行到緩存中

  粘貼

  p      把緩存中的行粘貼到光標所在的下一行,

  P      把緩存中的行粘貼到光標所在的上一行

  替換

  :s/pattern1/pattern2/g    把光標當前行的pattern1替換為pattern2

  :%s/pattern1/pattern2/g   把所有行的pattern1替換為pattern2

  :g/parttern1/s//parttern2  把所有行的pattern1替換為pattern2

  :num1,num2 s/pattern1/pattern2/g     把num1到num2的partten1替換為partten2

  被替換的文字用^表示行首,$表示行尾,如:%s/^/111/g就表示在每一行的行首插入111

  文件

  :r filename   把文件filename的內容粘貼在光標以下行

  :w         保存當前編輯的文件名

  :w filename  當filename不存在時,把修改後的文件存為文件filename ,當文件filename

  存在時,報錯。

  !w filename  如果文件filename存在時,把修改後的文件保存為文件filename

  :q         退出vi ,若文件被修改,系統不會讓用戶使用q命令退出

  q!         不保存退出

  x          保存退出

  wq         保存退出

  在多個文件之間切換

  :n開始編輯vi激活的文件列表中的下一個文件

  :n filenames 指定將被編輯的新的文件列表

  在當前文件和另外一個文件間切換:

  :e filename  使用filename激活vi(在vi中裝入另一個文件filename)

  e!         重新裝入當前文件,若當前文件有改動,則丟棄以前的改動

  :e+filename  使用filename激活vi ,並從文件尾部開始編輯

  :e+number filename  使用filename激活vi ,並在第number行開始編輯

  :e#        開始編輯另外一個文件

  查找

  /pattern     向後尋找指定的pattern ,若遇到文件尾,則從頭再開始。

  ?pattern   向前尋找指定的pattern ,若遇到文件頭,則從尾再開始。

  n          在上次指定的方向上,再次執行上次定義的查找。

  N         在上次指定的方向的相反方向上,再次執行上次定義的查找。

  /pattern/+number    將光標停在包含pattern的行後面第number行上。

  /pattern/-number     將光標停在包含pattern的行前面第number行上。

  %                移到匹配的"()"或"{}"上。

  選項設置

  all         列出所有選項設置情況

  term        設置終端類型

  ignorance   在搜索中忽略大小寫

  list         顯示制表位(Ctrl+I)和行尾標志($)

  number    顯示行號

  report       顯示由面向行的命令修改過的數目

  terse       顯示簡短的警告信息

  warn        在轉到別的文件時若沒保存當前文件則顯示NO write信息

  nomagic     允許在搜索模式中,使用前面不帶“\”的特殊字符

  nowrapscan 禁止vi在搜索到達文件兩端時,又從另一端開始

  mesg       允許vi顯示其他用戶用write寫到自己終端上的信息

Copyright © Linux教程網 All Rights Reserved