2011-09-28

vi / vim 指令整理‧速查

vi / vim 指令速查
下載『vi/vim指令速查.pdf』
進入編輯模式
  1. a  在游標位置之(後)進入(插入)編輯模式
  2. A  在游標所在行的行末進入(插入)編輯模式
  3. i  在游標位置之(前)進入(插入)編輯模式
  4. I  在游標行的行首進入(插入)編輯模式
  5. r  取代所在位置那個字元
  6. R  在游標所在位置進入(取代)編輯模式
  7. o  在游標上方新增一行,並進入編輯模式
  8. O  在游標下方新增一行,並進入編輯模式
  9. <Insert> 切換為--INSERT--或--REPLACE--模式
  10. <Esc>  退出編輯模式或取消指令

編輯環境設定
  1. :set nu  顯示行號
  2. :set nonu 不顯示行號
  3. :set ai  自動內縮
  4. :set noai 取消自動內縮

游標的移動
  1. gg  將游標移到第一行
  2. G  將游標移到最後一行
  3. 行號 G 將游標移到(行號)所在行
  4. 0  將游標移到所在行的行首
  5. $  將游標移到所在行的行末
  6. 字數<Space> 將游標向右移動(字數)個字元
  7. 行數<Enter> 將游標向下移動(行數)列


字串、行、區塊範圍的選取‧複製‧貼上‧刪除‧取消
  1. v  字串範圍的選取,搭配↑↓←→進行
  2. V  行範圍的選取,搭配↑↓←→進行
  3. v <Ctrl>+V 區塊範圍的選取,搭配↑↓←→進行
  4. d  刪除選取的範圍(是剪下還可以貼上)
  5. d0  刪除游標所在位置起到該行的行首
  6. d$  刪除游標所在位置起到該行的行末
  7. dd  刪除游標所在行(是剪下還可以貼上)
  8. 5dd  刪除游標所在行共5行
  9. D  從游標所在位置起刪除到該行的行末
  10. d1G 刪除游標所在行到第一行的內容
  11. dG  刪除游標所在行到最後一行的內容
  12. :%d  刪除編輯區域內的全部內容
  13. :15d  刪除第15行
  14. :11,29d  刪除第11-29行
  15. x  刪除游標所在位置的字元
  16. X  刪除游標所在位置的前一個字元
  17. y  複製選取的範圍
  18. y0  複製游標所在位置起到該行的行首
  19. y$  複製游標所在位置起到該行的行末
  20. yy  複製游標所在行
  21. y1G 複製游標所在行到第一行的內容
  22. yG  複製游標所在行到最後一行的內容
  23. p  在所在位置(或行)之前(或上一行)貼上
  24. P  在所在位置(或行)之後(或下一行)貼上
  25. u  恢復到上一個指令執行後的內容
  26. U  取消游標所在行的所有變更
  27. 2,6co9  將2-6行複製到第9行的後面
  28. 2,6mo9  將2-6行搬移到第9行的後面

搜尋與取代
:起始行,終止行s/搜尋字串/取代字串/gic
(g: 整行全部, i: 不分大小寫,c: 詢問)
(起始行,終止行) = (1,$) 代表所在檔案全部範圍
  1. :set ic  搜尋時不區分大小寫
  2. :set noic  搜尋時要區分大小寫
  3. /搜尋字串  在游標之後找搜尋字串
  4. ?搜尋字串  在游標之前找搜尋字串
  5. n  向下找下一個搜尋結果
  6. N  向上找上一個搜尋結果
  7. :%s/new/old/g  將編輯範圍中的new取代為old
  8. :1,9s/^/###/   在1-9行的行首加入三個#
  9. :1,$s/from/to/g  將檔案中所有的from取代為to

檔案功能
  1. :q  離開編輯程式
  2. :q!  不存檔強制離開編輯程式
  3. :w  存檔
  4. :w!  強制存檔(例:有擁有權沒寫入權)
  5. :w 新檔案名稱  另存新檔
  6. :wq  存檔並離開編輯程式
  7. :r  將指定的檔案內容加到游標行後面
  8. :e 檔案名稱  編輯另一個檔案
  9. :e!  還原到該檔案編輯前的狀態
  10. :n  切換到下一個目前開啟中的檔案
  11. :N  切換到上一個目前開啟中的檔案
  12. :f  目前開啟中的檔案名稱
  13. :files  列出目前開啟中的所有檔案
  14. :1,9w 檔案名稱  將1-9行的資料另存為指定的檔名
  15. :1,9w>>檔名  將1-9行的資料附加到指定檔案之後

多重視窗
  1. :new (檔名)  開水平視窗(並在新視窗開啟檔案)
  2. :vnew (檔名)  開垂直視窗(並在新視窗開啟檔案)
  3. <Ctrl>-w 方向鍵  切換視窗
  4. :only   只保留游標所在視窗
  5. vim -o2 t1 t2   以水平視窗的方式開啟t1,t2兩檔案

2 則留言: