vim編輯技巧

來源:互聯網
上載者:User

標籤:style   blog   http   io   ar   使用   java   sp   strong   

   算上大學上課linux接觸四年了,可惜除了工作接觸的那些,其他地方還是很水的,都不精通,今日翻來看了看以前過目即忘的vim技巧,發現,如無幾年操作經驗,這些技巧很難領悟的。這裡寫下來,以備後查。

 

區塊選擇v                                  字元選擇,會將游標經過癿地方反白選擇!V(大寫)                          行選擇,會將游標經過癿行反白選擇!(常用,配合上下左右鍵,進列區域選擇,很爽)[Ctrl]+v                        區塊選擇,可以用長方形癿方式選擇資料y                                  將反白癿地方複製起來 d 將反白癿地方刪除掉 地區選取項目如果配合下文的c命令就省的刪除再貼上區了。 刪除操作對字元操作:
x, X                 在一行字當中,x 為向後刪除一個字元 (相當亍 [del] 按鍵), X 為向前刪除一個字元(相當亍 [backspace] 亦即是退格鍵) (常用)nx                   n 為數字,連續向後刪除 n 個字元。丼例來說,我要連續刪除 10 個字元, 『10x』。d$                   刪除遊標所在處,到該行行尾的所有字元d0                   刪除遊標所在處 ,到該行行首的所有字元
 對行操作:dd                    刪除遊標所在的那一整列(常用)ndd                  n 為數字。刪除游標所在的行向下n行,例如 20dd 則是刪除 20行 (常用)d1G                 刪除游標所在到第一行的所有資料dG                   刪除游標所在到最後一行的所有資料 與移動相關

行範圍

移動到行首:gg

移動到行尾 :字元$

       小注:命令”G“前可以加上數字,在這裡,數位含義並不是倍數,而是你打算跳轉的行號。例如,你想跳轉到檔案的第1234行,只需輸入”1234G“。

字元0:第一個非Null 字元前

字元^:第一個非Null 字元上

上下左右:h, j, k, l

       小注:如同許多vim命令一樣,可以在這些鍵前加一個數字,表示移動的倍數。例如,”10j“表示向下移動10行;”10l“表示向右移動10列。

頁範圍

       小注:通常使用CTRL-BCTRL-F來進行翻頁,它們的功能等同於PageUp和PageDown。CTRL-BCTRL-F前也可以加上數字,來表示向上或向下翻多少頁

      小注: 在檔案中移動,你可能會迷失自己的位置,這時使用”CTRL-G“命令,查看一下自己位置。這個命令會顯示出游標的位置及其它資訊。為了避免迷失,你可以開啟行號顯示;使用”:set number“命令後,會在每一行前顯示出行號,可以更方便的定位的跳轉(:help ‘number’

移動到指定字元: 使用f, t, F, T命令。    

        小註:“f“命令移動到游標右邊的指定字元上,例如,”fx“,會把移動到游標右邊的第一個’x‘字元上。”F“命令則反方向尋找,也就是移動到游標左邊的指定字元上。

t“命令和”f“命令的區別在於,它移動到游標右邊的指定字元之前。例如,”tx“會移動到游標右邊第一個’x‘字元的前面。”T“命令是”t“命令的反向版本,它移動到游標右邊的指定字元之後。

這四個命令只在當前行中移動游標,游標不會跨越斷行符號分行符號。

可以在命令前面使用數字,表示倍數。例如,”3fx“表示移動到游標右邊的第3個’x‘字元上。

;“命令重複前一次輸入的f, t, F, T命令,而”,“命令會反方向重複前一次輸入的f, t, F, T命令。這兩個命令前也可以使用數字來表示倍數。

 與複製相關yy                 複製遊標所在癿那一行(常用)y1G               複製游標所在列到第一列癿所有資料yG                複製游標所在列到最後一列癿所有資料y0                複製游標所在癿那個字元到該行行首癿所有資料y$                複製游標所在癿那個字元到該行行尾癿所有資料 複原以及重做操作u 複原前一個勱作。(常用)[Ctrl]+r 重做上一個動作。(常用)替換模式

 

關鍵是 “R “ 取代模式,它可以快速的替換以及插入資料(類似於 word中的 即點即輸)的功能。

最後重點講下粘貼複製

vim這麼久 了,始終也不知道怎麼在vim中使用系統粘貼板,通常要在網上複製一段代碼都是先gedit開啟檔案,中鍵粘貼後關閉,然後再用vim開啟編輯,真的不 爽;上次論壇上有人問到了怎麼在vim中使用系統粘貼板,印象裡回複很多,有好幾頁的回複卻沒有解決問題,今天實在受不了了又在網上找辦法,竟意外地找到 了,貼出來分享一下。

如果只是想使用系統粘貼板的話直接在輸入模式按Shift+Inset(粘貼)就可以了,下面講一下vim的粘貼板的基礎知識,有興趣的可以看看,應該會有所收穫的。
vim協助文檔裡與粘貼板有關的內容如下:

  1. vim有12個粘貼板,分別是0、1、2、...、9、a、“、+;用:reg命令可以查看各個粘貼板裡的內容。在vim中簡單用y只是複製到“(雙引號)粘貼板裡,同樣用p粘貼的也是這個粘貼板裡的內容
  2. 要將vim的內容複製到某個粘貼板,需要退出編輯模式,進入正常模式後,選擇要複製的內容,然後按"Ny(注意帶引號)完成複製,其中N為粘貼板號(注意是按一下雙引號然後按粘貼板號最後按y),例如要把內容複製到粘貼板a,選中內容後按"ay就可以了,有兩點需要說明一下:
    • “號粘貼板(臨時粘貼板)比較特殊,直接按y就複製到這個粘貼板中了,直接按p就粘貼這個粘貼板中的內容;
    • +號粘貼板是系統粘貼板,用"+y將內容複製到該粘貼板後可以使用Ctrl+V將其粘貼到其他文檔(如firefox、gedit)中,同理,要把在其他地方用Ctrl+C或右鍵複製的內容複製vim中,需要在正常模式下按"+p;
  3. 要將vim某個粘貼板裡的內容粘貼進來,需要退出編輯模式,在正常模式按"Np,其中N為粘貼板號,如上所述,可以按"5p將5號粘貼板裡的內容粘貼進來,也可以按"+p將系統全域粘貼板裡的內容粘貼進來。

注意:在我這裡,只有vim.gtk或vim.gnome才能使用系統全域粘貼板,預設的vim.basic看不到+號寄存器。安裝vim.gnome使用apt-get install vim-gnome,然後vim自動會連結到vim.gnome。

下面是vim複製粘貼的基本命令:
yy複製遊標所在行整行。或大寫一個Y。 
2yy或y2y複製兩行。 ㄟ ,請舉一反三好不好! :-) 
y^複製至行首,或y0。不含遊標所在處字元。 
y$複製至行尾。含遊標所在處字元。 
yw複製一個word。 
y2w複製兩個字(單詞)。 
yG複製至檔尾。 
y1G複製至檔首。 
p小寫p代表貼至遊標後(下)。 
P大寫P代表貼至遊標前(上)。、

總結就是:

"(register)y(range) → 將要複製的內容放到指定的寄存器中。register 包括所有數字和字母;range 就是範圍,例如:w、y 等。也可以使用可視化操作選中要複製的內容後再複製。
"(register)(times)p → 將指定寄存器的內容粘貼到游標的後面。times 指定要粘貼多少次。

 

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.