VIM 編輯器筆記

來源:互聯網
上載者:User

     Emacs 說, 我只要一個編輯器,你卻給了我一個作業系統。 它是屬於駭客的編輯器。我沒能力將Emacs 折騰成一個作業系統,那就要一個純粹的編輯器吧。 

     以下是 VIM 編輯器的常用命令:

     

      插入模式:  就是文本插入, 即最為熟悉的那種可見即可得的編輯狀態。 按下 i, a , o, shift+o 均可進入插入模式。 因為這個最易於接受,故將其放在最先。如果你對命令比較生疏,可以先用插入模式適應下,再學習各種命令逐步增強編輯能力。

     “正常”模式 : 按下ESC鍵後進入“正常”模式,其實一點都不“正常”,更準確地說,應該是“命令控制模式” ,因為在這個模式下你輸入命令,然後編輯器作出恰當反應,就像按下 組合修飾鍵一樣。 VIM  啟動進入時預設是該模式。 以下命令均必須在該模式下才會生效。 鍵入命令時, VIM 會在編輯器的最下面一行顯示你所鍵入的命令。

  

                  num-cmd-object : VIM命令模式, 表示對對象object 執行命令 cmd 有 num 次。 比如 3j  表示向下移三行。 非常強大!                

 

                   j  移至下一行 ; k 移至上一行; h 前一個字元位置 ; l 後一個字元位置。

                  x  刪除游標所在位置的單個字母 ;  dw 刪除游標所在位置的單個單詞;  d$ 刪除從游標所在位置到該行末的全部字元; dd 刪除游標所在的整行。

                  p 插入上一次刪除的內容。 與 dd 連用, 通常可起到 剪下/粘貼 的作用;  u 撤銷上次操作;  

                  r  替換模式,按下r 之後輸入的字元將替換游標所在位置的單個字母 ; Shift+r  : 按下 shift+r 之後輸入的字元將直接覆蓋游標所在的字元,可連續替換。

                

                 cw: 先刪除單詞,然後進入插入模式。

                    

                ctrl+g 在編輯器最下面顯示光線標所在的行資訊;   num + shift+g 跳轉至指定行 num 。     【定位】

                搜尋字串:  /要搜尋的字串;   要繼續搜尋按 n , 反方向搜尋按 shift+n             【搜尋/替換】

                替換字串: :s/oldstr/newstr 替換第一個匹配; :s/oldstr/newstr/ 替換所有匹配; 

                                         :#1,#2s/old/new/g 替換行#1與#2之間的所有匹配 ; :%s 在文本內進行替換

                 在括弧(),[],{} 處按  % 可跳轉至配對的括弧, 按兩次回到原括弧;

               
                 :q  編輯檔案時不儲存就退出,會有警告資訊;  :w  將內容寫入檔案,相當於儲存。  :wq 儲存檔案內容並退出。    【檔案操作】

                 :w filename  將檔案內容寫入檔案 filename ,相當於另存新檔; :#1,#2 w filename 將正在編輯的檔案的行#1與#2之間的內容寫入檔案 filename 中;

                :r filename 在游標處插入 filename 的內容  ;  :open filename 開啟指定檔案 filename

 

               :!外部命令名   : 調用外部命令, 比如 :!ls ;  

                o : 在游標所在行的下面插入一行,並進入插入模式; shift+o : 在游標所在行的上面插入一行並進入插入模式。  

                a : 在游標所在出的下一個位置進入插入模式; A : 在游標所在行的行末進入插入模式。

               :set ic  尋找/替換忽略大小寫;  :set hls is 高亮顯示尋找結果;  :set xxx 設定 xxx  選項。

              快速移動:

              num + [jklh] : 比如  10j 向下移動10行; 0 :  移動至行首 ; $ : 移動至行末;

              num + f + 字元: 向後移動到第 num 個指定字元處; 比如游標在行首,要移動到本行最後一個m 處, 只需要鍵入 4fm 即可。

              num + F + 字元: 向前移動到第 num 個指定字元處。 比如游標在行末,要移動到行首的 m 處,只需要鍵入 4Fm 即可。

              w : 移到下一單詞首; b 回到上一單詞首; e 移到下一單詞尾; ge 移到上一單詞尾。

              代碼塊縮排:

              ESC [進入普通模式] -> shift + v [進入可視模式] -> j,k 移動游標選擇代碼區塊範圍 ->  > 右縮排, < 左縮排 

             

             可視模式:  用途之一,就是選擇大量文字區塊,可用於複製/粘貼功能中。

             文本內剪貼/粘貼:  ESC ---> shift+v ---> j,k 移動游標選擇文字區塊 ---> d  (完成剪下功能) --> 游標移動到要插入的位置(不可有其它刪除操作)  --- > p

             文本外剪下/粘貼:   ESC ---> shift+v ---> j,k 移動游標選擇文字區塊 ---> w  tmp  (寫入檔案 tmp) ---> 轉到要插入的檔案的位置 ---> :r tmp 

           

             VIM 設定:   修改Vim根目錄下的設定檔 Vim/_vimrc

# 代碼編寫

set number
set nobackup
set autoindent
set smartindent
set tabstop=4
set shiftwidth=4
set showmatch
set ruler

## 解決中文亂碼

set encoding=utf-8
set incsearchg=utf-8

set termencoding=utf-8

set fileencoding=chinese

set fileencodings=ucs-bom,utf-8,chinese 

set langmenu=zh_CN.utf-8

source $VIMRUNTIME/delmenu.vim

source $VIMRUNTIME/menu.vim

language messages zh_cn.utf-8 

language messages zh_cn.utf-8  

            小結:

            VIM 編輯器的強大之處,在於其豐富的命令,可以控制編輯器作出各種反應。當然,需要對命令非常熟悉並且能靈活組合運用。 其實也並不像傳說中那麼困難。如果預設啟動模式是插入模式,也許會更易於接受。繼續學習中……

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.