vim入門小技巧

序言

Vim有着非常陡峭的學習曲線,要掌握它需要長時間的練習。打算記錄一些Vim的常用基礎鍵,方便後期查閱,幫助入門的新手。


第一講

第一節:移動光標

         ^
         k
   < h       l >
         j
         v

h 的鍵位於左邊,每次按下就會向左移動。
l 的鍵位於右邊,每次按下就會向右移動。
j 鍵看起來很象一支尖端方向朝下的箭頭。

提示:光標鍵應當也能正常工作的。但是使用hjkl鍵,在習慣之後你就能夠更地在屏幕內四處移動光標。

第二節:Vim的進入和退出

vim filename    用vim打開fliename

:q! 強制退出。
這種退出編輯器的方式會丟棄你進入編輯器以來所做的改動。

:wq 以保存文件並退出。
這種退出編輯器的方式會保存你進入編輯器以來所做的改動,將其寫入到文件中。

第三節:文本編輯之插入,添加

在正常模式下,可以按下 i 鍵來插入文本。

在正常模式下,可以按 A 鍵輸入必要的添加內容。

在正常模式下輸入 o 將在光標的下方打開新的一行並進入插入模式。

第四節:文本編輯之刪除

正常(Normal)模式下,可以按下 x 鍵來刪除光標所在位置的字符,按下X可以刪除光標所在的前字符。

輸入 dw 可以從光標處刪除至一個單詞的末尾。

輸入de刪除到本單詞末尾。

輸入dE刪除到本單詞末尾包括標點在內。

輸入db刪除到前一個單詞。

輸入dB刪除到前一個單詞包括標點在內。

輸入 ndw 刪除以當前字符開始的n個字。

輸入d0 刪至行首。

輸入 d$ 從當前光標刪除到行末。

輸入 dG從當前行刪除至最末。

輸入 dd 刪除一行。

輸入 ndd 刪除以當前行開始的n行。

輸入d) 刪除到下一句的開始。

輸入d} 刪除到下一段的開始。

在vim中許多改變文本的命令都由一個操作符和一個動作構成。即命令與對象。
使用刪除操作符 d 的刪除命令的格式如下:

d   motion

其中:
d - 刪除操作符。
motion - 操作符的操作對象(在下面列出)。

一個簡短的動作列表:

w - 從當前光標當前位置直到下一個單詞起始處,不包括它的第一個字符。
e - 從當前光標當前位置直到單詞末尾,包括最後一個字符。
$ - 從當前光標當前位置直到當前行末。

因此輸入 de 會從當前光標位置刪除到單詞末尾。

第五節:文本編輯之撤銷

輸入 u 來撤消最後執行的命令,輸入 U 來撤消對整行的修改。

多次輸入 CTRL-R (先按下 CTRL 鍵不放開,接着按 R 鍵),這樣可以重做被撤消的命令,也就是撤消掉撤消命令。


第二講

第一節:使用計數制定動作

在正常模式下輸入 2w 可以使光標向前移動兩個單詞。

輸入 3e 可以使光標向前移動到第三個單詞的末尾。

輸入 0 (數字零) 可以移動光標到行首。

使用操作符時輸入數字可以使它重複那麼多次。如第一講第三節中的刪除命令d,可以在組合動作之前插入一個數字以刪除更多:

d   number(數字)   motion

如輸入d2w可以刪除兩個大寫字母單詞。

在正常模式下修改命令的格式是:

operator   [number]   motion

 其中:
   operator - 操作符,代表要做的事情,比如 d 代表刪除
   [number] - 可以附加的數字,代表動作重複的次數
   motion   - 動作,代表在所操作的文本上的移動,例如 w 代表單詞(word), $ 代表行末等等。

第二節:文本編輯之複製

使用操作符 y 複製文本,使用 p 粘貼文本

輸入 p可將最後一次刪除的內容置入光標之後。

第三節:文本編輯之替換

輸入 r 和一個字符替換光標所在位置的字符。

輸入大寫的 R 可連續替換多個字符。

要改變文本直到一個單詞的末尾,輸入 ce

更改類操作符可以與刪除中使用的同樣的動作配合使用。其操作格式是:

c    [number]   motion

動作參數(motion)也是一樣的,比如 w 代表單詞,$代表行末等等。


第三講

第一節:定位及文件狀態

輸入 CTRL-G 顯示當前編輯文件中當前光標所在行位置以及文件狀態信息。按下 CTRL 鍵不放開然後按 g 鍵。你會看到頁面最底部出現一個狀態信息行,顯示的內容是當前編輯的文件名和文件中光標位置。

輸入大寫 G 可以使得當前光標直接跳轉到文件最後一行。

輸入 gg 可以使得當前光標直接跳轉到文件第一行。

輸入曾停留的行號,然後輸入大寫 G。這樣就可以返回到第一次按下CTRL-G 時所在的行了。

第二節:搜索類命令

輸入 / 加上一個字符串可以用以在當前文件中查找該字符串。

要查找同上一次的字符串,只需要按 n 鍵。要向相反方向查找同上一次的字符串,輸入N即可。

如果想逆向查找字符串,用 ? 代替 / 進行。

要回到之前的位置按 CTRL-O (按住 Ctrl 鍵不放同時按下字母 o)。重複按可以回退更多步。CTRL-I 會跳轉到較新的位置。

第三節:配對括號的查找

輸入 % 可以查找配對的括號 )、]、}。

把光標放在配對的括號處然後按 % 鍵,即可跳轉到配對的括號處。

再次按 % 就可以跳回配對的第一個括號處。

第四節:替換命令

輸入 :s/old/new/g 可以替換 old 爲 new。

輸入 :s/old/new。該命令只改變光標所在行的第一個匹配串。

輸入 :s/old/new/g 則是替換全行的匹配串,該行中所有的 “old” 都會被改變。

要替換兩行之間出現的每個匹配串,請:

 輸入   :#,#s/old/new/g   其中 #,# 代表的是替換操作的若干行中首尾兩行的行號。
 輸入   :%s/old/new/g     則是替換整個文件中的每個匹配串。
 輸入   :%s/old/new/gc    會找到整個文件中的每個匹配串,並且對每個匹配提示是否進行替換。

第四講

第一節:在 VIM 內執行外部命令的方法

輸入 :! 然後緊接着輸入一個外部命令可以執行該外部命令。

提示:所有的外部命令都可以以這種方式執行,包括帶命令行參數的那些。

第二節:關於保存文件

要將對文件的改動保存到文件中,請輸入 :w FILENAME 。該命令會以 TEST 爲文件名保存整個文件。

要保存文件的部分內容,請輸入 v motion :w FILENAME。
按 v 鍵進入可視模式,選擇要保存的文本,然後按: 字符。你將看到屏幕底部會出現:’<,’> 。

然後輸入 w TEST,這時 Vim 會把選中的行寫入到以 TEST 命名的文件中去。

第三節:提取和合並文件

要向當前文件中插入另外的文件的內容,輸入:r FILENAME。

:r FILENAME    可提取磁盤文件 FILENAME 並將其插入到當前文件的光標位置。

第四節:設置類命令的選項

設置可使查找或者替換可忽略大小寫的選項。

輸入: :set ic,可忽略大小寫查找單詞。要禁用忽略大小寫,可輸入: :set noic

提示:如果你想要僅在一次查找時忽略字母大小寫,可以使用 \c: /ignore\c

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章