本篇文章介紹 vim 的一些使用技巧:vim
在 vim 的插入模式下編輯文件,可能臨時須要執行某個命令來完成一些操做,例如要跳轉到第 100 行進行編輯。常見的作法是,按 Esc 鍵退出插入模式,執行 100G
命令跳轉光標到第 100 行,再按 i
命令從新進入插入模式,開始編輯。this
其實,有一個更快的方法是,在插入模式下,按 CTRL-O 鍵,以後就能夠輸入普通模式的命令,按回車執行該命令。執行命令後,仍是保持在插入模式下。code
注意:CTRL-O 鍵指的是同時按下 CTRL 鍵和小寫字母 o 鍵,不須要按 Shift 鍵。orm
在插入模式按下 CTRL-O 鍵後,能夠執行不帶冒號的命令,例如執行 100G
命令跳轉光標到第 100 行。也能夠執行帶冒號的命令,例如執行 :100
命令跳轉光標到第 100 行。it
具體能夠查看 :help usr_24
的 Normal mode commands 小節,部分說明以下:io
With CTRL-O {command} you can execute any Normal mode command from Insert mode. For example, to delete from the cursor to the end of the line: CTRL-O D You can execute only one Normal mode command this way.
也能夠查看 :help i_CTRL-o
的說明,具體描述以下:table
CTRL-O execute one command, return to Insert mode *i_CTRL-O*
即,CTRL-O 能夠在插入模式下執行一個命令,執行以後仍是保持在插入模式下。技巧
在 vim 中,有不少命令能夠用於快速轉換大小寫。查看 :help case
的說明,就會看到全部能夠轉換大小寫的命令。下面對經常使用的幾個命令進行說明。command
使用 gu{motion}
命令把 {motion}
選中的文本轉換爲小寫。{motion}
能夠是 vim 任意移動光標的操做。部分操做舉例說明以下。方法
使用 guu
命令把光標所在行都轉換成小寫。
注意:guu
的最後一個 u
不是前面提到的 {motion}
操做。gu{motion}
執行的是 gu
命令,{motion}
是移動光標的操做。而這裏的 guu
就是完整的命令。
使用 v
、V
、或者 CTRL-V
命令進入可視模式,選中部份內容後,輸入 u
則把選中的內容都轉換成小寫。
使用 gU{motion}
命令把 {motion}
選中的文本轉換爲大寫。{motion}
能夠是 vim 任意移動光標的操做。上面已經有部分說明。
使用 gUU
命令把光標所在行都轉換成大寫。
使用 v
、V
、或者 CTRL-V
命令進入可視模式,選中部份內容後,輸入 U
則把選中的內容都轉換成大寫。
能夠使用下面命令來切換大小寫,也就是把大寫轉成小寫,把小寫轉成大寫。
用列表形式總結經常使用的轉換大小寫命令以下。
命令 | 含義 |
---|---|
guw | 若是光標在單詞開頭,會轉換整個單詞成小寫 |
gUw | 若是光標在單詞開頭,會轉換整個單詞成大寫 |
guu | 把光標所在行都轉換成小寫 |
gUU | 把光標所在行都轉換成大寫 |
{Visual}u | 把可視模式選中的內容都轉換成小寫 |
{Visual}U | 把可視模式選中的內容都轉換成大寫 |
~ | 切換光標下字符的大小寫 |
g~~ | 切換光標所在行的大小寫 |