vi編輯器常用操作

一、基本輸入及模式轉換

# vim [options] [/path/to/somefile]

默認模式:命令模式,編輯模式  
輸入模式:    
末行模式:

模式轉換:  
   編輯模式 --> 輸入模式:    
       i: insert, 實現在當前光標所在處字符前面轉換爲輸入模式;    
       a: append, 實現在當前光標所在處字符後面轉換爲輸入模式;    
       o: 實現在當前光標所在行的下方新建一個空白行並轉換爲輸入模式;    
       I: 在當前光標所在行的行首轉爲輸入模式;    
       A: 在當前光標所在行的行尾轉爲輸入模式;    
       O: 在當前光標所在行的上方新建一行,並轉爲輸入模式;

   輸入模式 --> 編輯模式:  
       按下Esc鍵;

   編輯模式 --> 末行模式:  
       鍵入:

   末行模式 --> 編輯模式:  
       Esc, Esc

二、光標跳轉:  
   字符間跳轉:    
       h: 左    
       l: 右    
       j: 下    
       k: 上

       #h: 向左側跳#個字符;

   單詞間跳轉:  
       w: 後一個單詞的詞首    
       e: 跳至當前或下一個單詞啓尾;    
       b: 跳至當前或前一個單詞啓首;

   句子間跳轉:  
       ): 下一句;    
       (: 前一句;

   段落間跳轉:  
       }: 下一段;    
       {: 前一段;

   行間跳轉:  
       1G, gg:    
       G:    
       #G:

   行內跳轉:  
       ^: 行首的第一個非空白字符    
       $: 絕對行尾    
       0: 絕對行首

三、保存與打開文件:  
   在末行模式下:    
       :w 保存    
       :q 退出    
       :! 強制    
       :wq    
       : q!    
       : x    
   在編輯模式下:    
       ZZ:保存退出;

       qall

打開文件:  
   vim [options] /path/to/file

   vim +# /path/to/file

   打開多個文件:  
       next 下一個;    
       last 最後一個;    
       first 第一個;    
       prev 前一個

   -O: 垂直分割窗口  
   -o:水平分割窗口

四、編輯命令:  
   x: 刪除單個字符    
   #x:

   d: 刪除命令  
   dw:    
   db:    
   de:    
   d^    
   d$

   dd: 刪除光標所在行;  
   #dd: 刪除光標所在行及向下#行;

   在末行模式下使用d命令  
       末行模式地址定界:    
           起始地址,結束地址    
               $: 最後一行;    
               .: 當前光標所在行;    
               %: 全文

               1,7d  
               %: 全文    
               1,$:    
               1,+6    
               1,$-2    
               .,+3

編輯操作可撤消:  
   u: vim默認會最近50次的操作,u命令可逐一撤消此前的編輯操作;

   撤消此前的撤消:Ctrl+r:

粘貼操作:p  
   paste, put    
   p

   刪除的是整行:  
       p: 在當前光標所在行的下方粘貼;    
       P:在當前光標所在行的上方粘貼

   刪除的不是整行:  
       p: 在當前光標所在處字符的後方粘貼;    
       P:在當前光標所在處字符的前方粘貼;

複製:y, yank  
   yy    
   #yy    
   y$    
   y^

   複製的是整行:  
       p: 在當前光標所在行的下方粘貼;    
       P:在當前光標所在行的上方粘貼

   複製的不是整行:  
       p: 在當前光標所在處字符的後方粘貼;    
       P:在當前光標所在處字符的前方粘貼;

五、文本搜索:  
   /keyword: 從當前光標所在處向文件尾部查找    
   ?keyword:從當前光標所在處向文件首部查找    
       n: 下一個,跟查找命令相同的方向    
       N:前一個,跟查找命令相反的方向

六、vim可視化模式    
       visual模式    
           v: 選中光標劃過的字符    
           V:選中光標劃過的行,整行選取

       Esc, Esc:回到編輯模式

   同一文檔窗口分割:  
       Ctrl+w,s: 水平分割    
       Ctrl+w,v: 垂直分割

       Ctrl+w, 箭頭

   窗口屬性定義:  
       顯示行號:    
           set number, set nu    
           set nonumber, set nonu

       自動縮進  
           set autoindent, set ai    
           set noai

       不區分字符大小寫  
           set ignorecase, set ic    
           set noic

       獲取幫助:    
           set

       顯示匹配的括號:  
           set showmatch, set sm    
           set nosm

       語法着色:  
           syntax on    
           syntax off

       搜索高亮顯示  
           set hlsearch    
           set nohlserach

vim的配置文件:  
   全局:/etc/vimrc    
   個人:~/.vimrc

七、查找替換:  
   :地址定界s/查找模式/替換成的內容/gi      #如使用斜線則輸入模式時易混亂可替換爲其他符號作爲分割符如以下例子 gi爲

       global  
       ignorecase

%s/\/dev\/null/\/tmp\/a.txt/g  

   :地址定界s@查找模式@替換成的內容@gi

%s@/dev/null@/tmp/a.txt@g

一個有用的例子:

爲指定範圍內的行的行首添加#;

1,10s@^@#@g


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