淺談vim使用

vim常用命令總結

2013年10月12日 ? 綜合 ? 共 3264字 ? 字號 ?  評論關閉       

vim 選擇文本,刪除,復制,粘貼  

文本的選擇,對于編輯器來說,是很基本的東西,也經常被用到,總結如下:

v    從光標當前位置開始,光標所經過的地方會被選中,再按一下v結束。 

V    從光標當前行開始,光標經過的行都會被選中,再按一下V結束。 

Ctrl + v   從光標當前位置開始,選中光標起點和終點所構成的矩形區域,再按一下Ctrl + v結束。 

ggVG 選中全部的文本, 其中gg為跳到行首,V選中整行,G末尾

選中后就可以用編輯命令對其進行編輯,如 
d   刪除 

y   復制 (默認是復制到"寄存器) 

p  粘貼 (默認從"寄存器取出內容粘貼) 


"+y    復制到系統剪貼板(也就是vim的+寄存器) 

"+p   從系統剪貼板粘貼 

=============================================================

vim命令總結

1.刪除字符
  
要刪除一個字符,只需要將光標移到該字符上按下"x"

2.刪除一行
  
刪除一整行內容使用"dd"命令。刪除后下面的行會移上來填補空缺。

3.刪除換行符
  
Vim中你可以把兩行合并為一行,也就是說兩行之間的換行符被刪除了:命令是"J"。

4.撤銷
  
如果你誤刪了過多的內容。顯然你可以再輸入一遍,但是命令"u" 更簡便,它可以撤消上一次的操作。

5.重做
  
如果你撤消了多次,你還可以用CTRL-R(重做)來反轉撤消的動作。換句話說,它是對撤消的撤消。撤消命令還有另一種形式,"U"命令,它一次撤消對一行的全部操作。第二次使用該命令則會撤消前一個"U"的操作。"u"CTRL-R你可以找回任何一個操作狀態

6.追加
  "i"
命令可以在當前光標之前插入文本。
  "a"
命令可以在當前光標之后插入文本。
  "o"
命令可以在當前行的下面另起一行,并使當前模式轉為Insert模式。
  "O"
命令(注意是大寫的字母O)將在當前行的上面另起一行。

7.使用命令計數
  
假設你要向上移動9行。這可以用"kkkkkkkkk""9k"來完成。事實上,很多命令都可以接受一個數字作為重復執行同一命令的次數。比如剛才的例子,要在行尾追加三個感嘆號,當時用的命令是"a!!!"。另一個辦法是用"3a!"命令。3說明該命令將被重復執行3次。同樣,刪除3個字符可以用"3x"。指定的數字要緊挨在它所要修飾的命令前面。

8.退出
  
要退出Vim,用命令"ZZ"。該命令保存當前文件并退出Vim

9.放棄編輯
  
丟棄所有的修改并退出,用命令":q!"。用":e!"命令放棄所有修改并重新載入該文件的原始內容。

10.Word為單位的移動
  
使用"w"命令可以將光標向前移動一個word的首字符上;比如"3w"將光標向前移動3words。"b"命令則將光標向后移動到前一個word的首字符上。
  "e"
命令會將光標移動到下一個word的最后一個字符。命令"ge",它將光標移動到前一個word的最后一個字符上。、

11.移動到行首或行尾
  "$"
命令將光標移動到當前行行尾。如果你的鍵盤上有一個鍵,它的作用也一樣。"^"命令將光標移動到當前行的第一個非空白字符上。"0"命令則總是把光標移動到當前行的第一個字符上。鍵也是如此。"$"命令還可接受一個計數,如"1$"會將光標移動到當前行行尾,"2$"則會移動到下一行的行尾,如此類推。"0"命令卻不能接受類似這樣的計數,命令"^"前加上一個計數也沒有任何效果。

12.移動到指定字符上
  
命令"fx"在當前行上查找下一個字符x(向右方向),可以帶一個命令計數"F"命令向左方向搜索。"tx"命令形同"fx"命令,只不過它不是把光標停留在被搜索字符上,而是在它之前的一個字符上。提示:"t"意為"To"。該命令的反方向版是"Tx"。這4個命令都可以用";"來重復。以","也是重復同樣的命令,但是方向與原命令的方向相反。

13.匹配一個括號為目的移動
  
用命令"%"跳轉到與當前光標下的括號相匹配的那一個括號上去。如果當前光標在"("上,它就向前跳轉到與它匹配的")"上,如果當前在")"上,它就向后自動跳轉到匹配的"("上去.

14.移動到指定行
  
"G"命令指定一個命令計數,這個命令就會把光標定位到由命令計數指定的行上。比如"33G"就會把光標置于第33行上。沒有指定命令計數作為參數的話, "G"會把光標定位到最后一行上。"gg"命令是跳轉到第一行的快捷的方法。
  
另一個移動到某行的方法是在命令"%"之前指定一個命令計數比如"50%"將會把光標定位在文件的中間. "90%"跳到接近文件尾的地方。
  
命令"H","M","L",分別將光標跳轉到第一行,中間行,結尾行部分。

15.告訴你當前的位置
  
使用CTRL-G命令。"set number"在每行的前面顯示一個行號。相反關閉行號用命令":set nonumber"。":set ruler"Vim窗口的右下角顯示當前光標位置。

16.滾屏
  CTRL-U
顯示文本的窗口向上滾動了半屏。CTRL-D命令將窗口向下移動半屏。一次滾動一行可以使用CTRL-E(向上滾動)CTRL-Y(向下滾動)。要向前滾動一整屏使用命令CTRL-F。另外CTRL-B是它的反向版。"zz"命令會把當前行置為屏幕正中央,"zt"命令會把當前行置于屏幕頂端,"zb"則把當前行置于屏幕底端.

17.簡單搜索
  "/string"
命令可用于搜索一個字符串。要查找上次查找的字符串的下一個位置,使用"n"命令。如果你知道你要找的確切位置是目標字符串的第幾次出現,還可以在"n"之前放置一個命令計數。"3n"會去查找目標字符串的第3次出現。
  "?"
命令與"/"的工作相同,只是搜索方向相反."N"命令會重復前一次查找,但是與最初用"/""?"指定的搜索方向相反。
  
如果查找內容忽略大小寫,則用命令"set ignorecase", 返回精確匹配用命令"set noignorecase" 。

18.在文本中查找下一個word
  
把光標定位于這個word上然后按下"*"鍵。Vim將會取當前光標所在的word并將它作用目標字符串進行搜索。"#"命令是"*"的反向版。還可以在這兩個命令前加一個命令計數:"3*"查找當前光標下的word的第三次出現。

19.查找整個word
  
如果你用"/the"來查找Vim也會匹配到"there"。要查找作為獨立單詞的"the"使用如下命令:"/the\>"。"\>"是一個特殊的記法,它只匹配一個word的結束處。近似地,"\<"匹配到一個word的開始處。這樣查找作為一個word"the"就可以用:"/\"

20.高亮顯示搜索結果
  
開啟這一功能用":set hlsearch",關閉這一功能:":set nohlsearch"。如果只是想去掉當前的高亮顯示,可以使用下面的命令:":nohlsearch"(可以簡寫為noh)。

21.匹配一行的開頭與結尾
   ^ 
字符匹配一行的開頭。$字符匹配一行的末尾。
   
所以"/was$"只匹配位于一行末尾的單詞was,所以"/^was"只匹配位于一行開始的單詞was。

22.匹配任何的單字符
  .
這個字符可以匹配到任何字符。比如"c.m"可以匹配任何前一個字符是c,后一個字符是m的情況,不管中間的字符是什么。

23.匹配特殊字符
  
放一個反斜杠在特殊字符前面。如果你查找"ter。",用命令"/ter\。"

24.使用標記
  
當你用"G"命令從一個地方跳轉到另一個地方時,Vim會記得你起跳的位置。這個位置在Vim中是一個標記。使用命令" “ "可以使你跳回到剛才的出發點。
  “
命令可以在兩點之間來回跳轉。CTRL-O命令是跳轉到你更早些時間停置光標的位置(提示:O意為older). CTRL-I則是跳回到后來停置光標的更新的位置(提示:I在鍵盤上位于O前面)。
    
:使用CTRL-I 與按下鍵一樣。

原創文章,作者:root,如若轉載,請注明出處:http://www.www58058.com/33318

(0)
rootroot
上一篇 2016-08-12 09:02
下一篇 2016-08-12 09:02

相關推薦

  • 詳解LVM邏輯卷

       LVM邏輯卷管理 當os6中partprobe 命令不能同步分區完的分區信息,及用ll /dev/sd*、cat /proc/partation、lsblk看的設備分區內容和用fdisk -l 看到的信息不同步 所以用partx -a 設備名或者用partx -a –nr 分區號 設備名 其中表示n是設備名,r 是ran…

    Linux干貨 2016-08-29
  • web服務介紹二)

    apache指令說明:http://httpd.apache.org/docs/2.2/mod/directives.html Listen 172.18.100.67:8081  監聽某個指定地址和端口啟動前檢查一下語法:    httpd -t 如果要監聽多個端口,要多行寫    Listen 80&nb…

    Linux干貨 2017-04-20
  • nginx反向代理負載均衡集群配置詳解

    反向代理負載均衡集群配置詳解 反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的連接請求,然后將請求轉發給內部網絡上的服務器,并將從服務器上得到的結果返回給internet上請求連接的客戶端,此時站在服務器角度來看,代理服務器對外就表現為一個反向代理服務器。 對反向代理服務器的攻擊并不會使得后端內網Web服務器上網頁信息遭到…

    Linux干貨 2016-11-07
  • 計算機基礎知識

    計算機系統 計算機系統組成的兩大部分 硬件系統     主機         中央處理器CPU{運算器,控制器}         內存儲器{ROM,RAM} &…

    Linux干貨 2016-08-04
  • DNS實驗

    本實驗需的注意問題:      1、運營商的服務器需要更改根指向服務器地址      2、根服務器上的配置文件/etc/named.conf需要將"."根區域禁用;      3、更改區域數據庫文件的屬組為named;c…

    Linux干貨 2016-12-12

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-12 09:51

    態度要端正哦。寫出自己的東西,自己總結的才是自己的,別人的只能用作參考。

欧美性久久久久