編輯利器vim學習筆記 【for_wind】

來源:互聯網
上載者:User

//一會兒用vim,一會兒用emacs,把大神器的命令都記糊塗了。。for_wind


vimtutor 教程

初學者必看哦。

vim tutor

最基本命令

插入:i

儲存退出::wq

不儲存退出::q!  忽略修改強行退出 vi的基本概念    

基本上vi可以分為三種狀態,分別是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能區分如下:     

1) 命令列模式command mode)    

控制螢幕游標的移動,字元、字或行的刪除,移動複製某區段及進入Insert mode下,或者到 last line mode。     

2) 插入模式(Insert mode)    

只有在Insert mode下,才可以做文字輸入,按「ESC」鍵可回到命令列模式。     

3) 底行模式(last line mode)    

又稱ex模式。

將檔案儲存或退出vi,也可以設定編輯環境,如尋找字串、列出行號……等。 Command mode命令模式

(1)i、a、o切換進入Insert mode。[超級常用]  

(2)移動游標  

vi可以直接用鍵盤上的游標鍵來上下左右移動,但正規的vi是用小寫英文字母  h、j、k、l,分別控制游標左、下、上、右移一格。  

按Ctrl+B:螢幕往後移動一頁。[常用]

按Ctrl+F:螢幕往前移動一頁。[常用]  

按Ctrl+U:螢幕往後移動半頁。  

按Ctrl+D:螢幕往前移動半頁。 

按 w:游標跳到下個word的開頭。[常用]  

按 e:游標跳到下個word的字尾。  

按 b:游標回到上個word的開頭。 

按 $:移到游標所在行的行尾。[常用]  

按 ^:移到該行第一個非空白的字元。  

按 0:移到該行的開頭位置。[常用]  

按 #:移到該行的第#個位置,

[[:這是一個雙字元指令,將游標前移到第一個 { 。

]]:與前一個命令相似,不同之處是它向後移動,將游標後移到第一個 { 。

(3)刪除文字  
x:每按一次刪除光所在位置的後面一個字元。[超常用]

#x:例如,6x 表刪除游標所在位置的後面6個字元。[常用]  

X:大字的X,每按一次刪除游標所在位置的前面一個字元。 

#X:例如,20X 表刪除游標所在位置的前面20個字元。  

dd:刪除游標所在行。[超常用] 

#dd:例如,6dd表刪除從游標所在的該行往下數6行之文字。[常用]  

(4)複製  

yw:將游標所在處到字尾的字元複製到緩衝區中。 (想在和#x、#X的功能相反)  

p:將緩衝區內的字元粘貼到游標所在位置(指令‘yw’與‘p必須搭配使用)。  

yy:複製游標所在行。[超常用]  

p:複製單行到您想粘貼之處。(指令‘yy’與‘p’必須搭配使用)  

#yy:如:6yy表示拷貝從游標所在的該行往下數6行之文字。[常用]  

p:複製多行到您想粘貼之處。(指令‘#yy’與‘p’必須搭配使用)  

“ayy:將複製行放入buffer a, vi提供buffer功能,可將常用的資料存在buffer  

“ap:將放在buffer a的資料粘貼。 

 “b3yy:將三行資料存入buffer b。  

“b3p:將存在buffer b的資料粘貼  

(5)取代  
r: 取代游標所在處的字元:[常用]  

R:取代字元直到按Esc為止。  

(6)複原(undo)上一個指令  
u:假如您誤操作一個指令,可以馬上按u,回複到上一個操作。撤銷。[超常用]  

.: .可以重複執行上一次的指令。 

(7)更改  

C:刪除當前行自游標之後的所有內容,然後進入插入模式。

c{motion}:根據motion的內容從當前游標處刪除文字,然後進入插入模式。

cw:更改游標所在處的word到該word尾$處,並切換到插入模式。 

c#w:例如,c3w代表更改3個word。

(8)跳至指定行  
Ctrl+G:列出游標所在行的行號。  
#G:例如,15G,表示移動游標至文章的第15行行首。[常用]   Last line mode下

指令簡介:請記得先按Esc鍵確定您已經處於Command mode下後,再按冒號“:”進入Last line mode。 

1.列出行號  
set nu: 輸入“set nu”後,會在文章的每一行前面列出行號。  

2.跳到文章的某一行 

#:井號代表一個數字,在Last line mode提示符號“:”前輸入數字,再按Enter就會跳到該行了, 如:15[Enter]就會跳到文章的第15行。[常用]

3.尋找字串  
/關鍵字:先按/,再輸入您想尋找的字,如果第一次找的關鍵字不是您相儘可能的,可以一直按n會往下尋找到您要的關鍵字為止。  。關鍵字:先按。,再輸入您想尋找的字,如果第一次找的關鍵字不是您想要的,可以按n會往前尋找到您要的關鍵字為止。  

4.取代字串  
1,$s/string/replace/g:在last line mode輸入“1,$s/string/replace/g”會將全文的string字串取代為replace字串, 其中1,$s就是指搜尋區間為文章從頭至尾的意思,g則是表示全部取代不必確認。 %s/string/replace/c:同樣會將全文的string字串取代為replace字串,和上面指令不同的地方是,%s和1,$s是相同的功能, c則是表示要替代之前必須再次確認是否取代。 1,20s/string/replace/g:將1至20行間的string替代為relpace字串。

:s/search/replacement/flags

 5.存檔案 
 w:在last line mode提示符號“:”前按w即可將檔案存起來。[超常用]  

#,# w filename:如果您想摘取文章的某一段,存成另一個檔案,可用這個指令#代表行號,例如30,50 w nice,  將您正在編輯文章的第30~50行存成nice這個檔案。  

6.離開  
q:按q就離開,有時如果無法離開vi,可搭配。:強置離開vi,如“q。”  

qw:一般建議離開時,搭配w一起使用,如此離開時還可存檔案。 

  插入模式(Insert mode)

ctrl+N / ctrl+P:填充已在文檔中出現過的單詞。ctrl+N按鍵組合找後一個匹配詞,ctrl+P按鍵組合找前一個匹配詞。

ctrl+T / ctrl+D:通過shiftwidth的設定向左或向右轉換當前行。

 

正則式:

*:自動產生對當前游標處的word的搜尋,通過n可以上下移動。
把 游標移動到你要搜尋的詞(變數名、函數名等)上,比如“test”,然後按“*”,Vim 將自動產生一個對“\<test\>”(參見“:help /\<”和“:help /\>”)的搜尋,也就是說,搜尋完整的單詞“test”。不要小看這個技巧,它經常可以大幅度地提高搜尋的速度。



 

相關文章

聯繫我們

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