vi 編輯參考

[語法]:vi [-wn] [-R]  文件...

   [說明]:  vi 是一個基於行編輯器 ex 上的全屏幕編輯器,可以在vi 中使用 ex,ed的全部命令,vi選項中 -wn 指將編輯窗口大小置爲n行,-R 爲將編輯的文件置爲只讀模式, vi 工作模式分爲命令模式和輸入模式,一般情況下在命令模式下,可敲入vi命令,進入輸入模式下時可以編輯要編輯的文本,命令 a  A  i  I  o  O  c  C  s  S  R 可進入輸入模式,在輸入模式下按 ESC 鍵可推出輸入模式,回到命令模式,在命令模式中敲入: 命令,則可進入ex方式,在屏幕底部出現提示符 : ,此時可使用任意ex命令,屏幕底行也用來作/ ? ! 命令的提示行,大多數命令可以在其前面加數字,表示命令執行的重複次數,下面簡單介紹一下vi 的命令集,^ 表示(CTRL)鍵

   ^B          退回前一頁,前面加數字表示重複次數,每次換頁時

                     保留上一頁的兩行

   ^D          在命令模式下,表示下滾屏幕的一半,在輸入模式下,表示回退至

                     左邊的自動縮進處

   ^E          顯示屏幕底線之下的一行

   ^F          前進一頁,前面加數字表示重複次數,每次換頁時

                     保留上一頁的兩行

   ^G          顯示當前文件名,當前行號和文件總行數,並用百分號當前行在

                     整個文件中的位置

   ^H(退格) 在命令模式下,光標左移一格;在輸入模式下,刪去前面的字符

   ^I(TAB)  在輸入模式下,產生一串空格

   ^J(LF)           光標下移一行

   ^L           刷新屏幕,即將屏幕重新顯示

   ^M(回車)       在命令模式下,光標移動至下行開頭

                 在輸入模式下,開闢一新行

   ^N          光標下移一行

   ^P          光標上移一行      

   ^Q          在輸入模式下,將其後的非打印字符作爲正文插入

   ^R          刷新屏幕

   ^U          屏幕上滾一半,前面加數字時表示上滾的行數,此數字對

                       以後的^D ^U 命令有效

   ^V          在輸入模式下,將其後的非打印字符作爲正文插入

   ^W         在輸入模式下,使光標回退一個字

   ^Y          顯示屏幕底線之上的一行

   ^Z          暫停編輯,退回上層Shell

   ^[(ESC)  退出輸入模式,回到命令模式

   !             暫時退出編輯,執行Shell命令

   "(雙引號)       用於標誌有名緩衝區,編號緩衝區1-9用於保存被刪去的正文,字

                 母名緩衝區a-z供用戶存放自定義的正文

   $            將光標移動到當前行尾,前加數字則表示前移行數,如2$表示移動

                 到下一行行尾

   %           將光標移動到配對的小括號()或大括號{}上去

   (             退回句子開頭

   )             前移到句子開頭

   -             退到上一行第一個非空格字符

   .             重複上一次改變緩衝區內容的命令

   / 模式           向前搜索模式,將光標移動到模式出現處,模式是一個正規

                 表達式,(參看 grep)

   :           在屏幕底部提示:,其後可使用ex命令

   ?           功能同 / ,但方向是向前查找

   [[            光標回退至前一節分界處

   \             轉意符

   ]]            光標前移至節分界處

   ^(不是CTRL)       光標移至當前行第一個非空字符上

   '             連續兩個''表示將光標移至其移動前的位置,'後跟字母表示光標字

                 母標記的行首(參看 m 命令)

   A            在行尾插入正文,進入輸入模式

   B            光標回退一個字

   C            替換光標後的內容

   D            刪除光標後的內容

   E            光標前移到字尾

   F 字符          在當前行向左查找指定字符

   G           光標移動到其前面數字指定的行,若未指定則移動到最後一行

   H            光標移動到屏幕頂行,若前面有數字,則移動到屏幕上該數字

                 指定的行

   I             在行開頭插入正文

   J            連接兩行,若前面有數字則連接數字指定的行

   L            光標移動到屏幕底行,若前面有數字,則移動到屏幕底線往上數該

                 數字指定的行

   M           光標移動到屏幕中線

   N            使用模式查找/或?時,重複找下一個匹配的模式,但方向與上次相

                 反,其功能同 n ,但方向相反

   O           在當前行上開闢一新行

   P            將上次被刪除的正文插入光標前面,可在其前面加緩衝區編號,編

                 號1-9用於保存被刪去的正文,字母名緩衝區a-z供用戶存放自定

                 義的正文

   Q           從vi 推出進入ex命令狀態

   R            替換字符串

   S            替換整行

   T 字符          向左查找字符

   U            將當前行恢復至第一次修改前的狀態

   W           光標移至下一個字首

   X            刪除光標前的字符

   Y            將當前行存入無名緩衝區,前面加數字表示存入的行數,也可用有

                 名緩衝區來保存,以後可用命令p或P將其取出

   ZZ          存盤退出vi

   a            光標後插入正文

   b            光標回退至上一個字首

   cw          替換當前字

   c)           替換當前句子

   dw          刪除一個字

   dd          刪除一行

   e            光標移到下一個字末

   f  字符  在當前行向前查找字符

   h            光標左移一格

   i             在光標前插入正文

   j             光標下移一行

   k            光標上移一行

   l             光標右移一格

   m 字母          用字母標記當前行,以後可用 '字母使光標移動到當前行,

                 (參看'命令)

   n            重複上次 / 或 ? 命令

   o            在當前行下開闢一新行

   p            將用戶緩衝區內容放到光標位置(參看P命令)

   r             替換當前字符

   s            用一串字符替換當前字符

   t 字符           光標移動至字符前

   u            取消上次操作

   w            光標移至下一字首

   x            刪除當前字符

   yw          將當前字存入無名緩衝區,前面可加"x,表示存入名字爲x的有名

                 緩衝區(x爲a-z),也可加數字表示存入的字數,以後可用P或p命

                 令取出

   yy           將當前行存入無名緩衝區,用法參看yw

   {             光標移動至前一段開頭

   |             光標移至行首,若前面加數字,則移到數字指定行的行首

   }             光標移至下一段開頭

在:提示符下,常用命令如下:

          :w 當前文件存盤

          :w!       強制存盤

          :w  文件     將內容寫入指定文件

          :w! 文件     強制寫入指定文件

          :x,y w 文件            將 x至 y 行寫入指定文件中

          :r  文件      將文件讀到光標位置

          :r  ! 命令   將系統命令的輸出讀到光標位置

          :q  退出編輯

          :q! 強制退出

          :x  與命令ZZ相同

          :e 文件名   編輯另一文件

          :e !       重新編輯文件,放棄任何改變

          :sh       執行sh,結束後回到編輯

          :! 命令 執行命令後回到編輯

          :n  編輯下一文件

          :n  文件表  重新定義待編輯文件表

          :set   設置 vi 的選項,例如 set nu 表示每行前顯示行號,在選項前

                   加no則表示清除該選項,例如 set  nonu  表示每行前不顯示行

                   號,下面是一些常用的選項:

                 ai            自動縮進

                 aw          編輯下一文件前自動存盤

                 ic            查找字符串時不區分大小寫

                 nu          每行前顯示行號

                 sm          輸入)及}時顯示與之配對的( 或 {

                 slow              插入時延遲屏幕刷新

                 ws          使查找能繞過文件尾從頭進行

                 wa          寫文件之前不作對文件的檢查

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章