Vim簡易教程(2)
Vim簡易教程(1)
http://www.2cto.com/os/201303/193905.html
第二課 更快速的編輯
這一回將介紹些上一次沒有講到的基本的操作命令。
快速的移動光標 www.2cto.com
將光標移動到下一個單詞的開始:w
將光標移動到上一個單詞的開始:b
類似的,2w 表示向後移動兩個單詞。
移動到一行的結尾:$
移動到一行的開始:<Home>
移動到一行的第一個非空白字符:^
(熟悉正則表達式的朋友肯定對 $和^不會陌生。)
向下移動2行自然就是:2$
一行中查找一個字符
從當前位置向後查找第一次出現x的位置,並將光標移過去:fx
從當前位置向前查找第一次出現x的位置,並將光標移過去:Fx
如果沒有找到x,不移動光標
類似的還有一對命令t與T。與f和F類似,不過它會停在查找到的字符之前一個字符。
移動光標到指定的行
移動到指定的行n:nG
比如移動到第3行:3G
移動到最後一行:G
顯示行號
顯示行號::set number
隱藏行號::set nonumber
給出當前光標所在的行、列信息:CTRL-G
翻頁
向上滾動半屏文字:CTRL-U
向下滾動半屏文字:CTRL-D
刪除文字
前面已經介紹過刪除一行:dd
從當前位置刪除到當前單詞結束,並將後面的空格也刪除掉:dw
W命令是將光標移動到下一個單詞的開始位置,dw 是將光標移動的過程中路過的那些字符都刪掉,當然最後光標移動到的那個位置上的字符不刪除。
類似,刪除3個單詞:3dw 或 d3w
實際上,d命令後面可以跟著任意的光標移動命令,比如 dfi 表示從當前位置一直刪到第一次出現i為止。當然,如果當前行沒有找到i則上面的命令就什麼都不做,因為這時光標沒有移動。
重復上一次的命令
重復上一次執行的命令:. (一個句號)
比如上次執行的是 dd,那麼. (一個句號) 就等效於 dd。
將兩行合並
將當前行與下一行合並為一行:J
替換當前字符
將當前字符替換為x:rx (replace)
改變大小寫
改變當前字符的大小寫:~
改變完大小寫後將光標向後移動一位。但是是在行內移動,不會到下一行。
錄制一段鍵盤宏操作
我們可以將一系列操作錄制成一個宏: q 命令
宏的名字是一個小寫字母。下面還是舉個例子:
假設我們的文件中有如下幾行。
stdio.h
fcntl.h
unistd.h
stdlib.h
我們希望將其編輯為:
#include “stdio.h”
#include ”fcntl.h”
#include ”unistd.h”
#include ”stdlib.h”
首先將光標移動到第一行的開始。
然是輸入如下的命令:
qa
^
i#include “
$
a”
j
q
這樣就錄好了一段宏,宏名為a。
之後執行3次這個宏:3@a