《vimtutor》note
Vim常用命令(vimtutor)
移動命令
h (左移) j (下行) k (上行) l (右移)
b (上個單詞) w(下個單詞)
^(跳到行首) $(跳到行末)
gg(跳到第一行) G(跳到最后一行) nG(跳到第N行)
插入
i光標后插入
I光標前插入
o下一行插入
O上一行插入
刪除命令
dw 可以從光標處刪除至一個單字/單詞的末尾。
d$ 從光標處刪至當前行尾部
dd刪除整行
-
x刪除第一個字母
輸入u可以撤銷刪除命令,輸入U可以修正整行
刪除命令 d 的格式如下︰[number] d object 或者 d [number] object
其意如下︰
number - 代表執行命令的次數(可選項,缺省設置為 1 )。
d - 代表刪除。
object - 代表命令所要操作的對象(下面有相關介紹)。
一個簡短的對象列表︰
w - 從當前光標當前位置直到單字/單詞末尾,包括空格。
e - 從當前光標當前位置直到單字/單詞末尾,但是不包括空格。
$ - 從當前光標當前位置直到當前行末。
撤銷命令
- u來撤銷最后一次執行的命令
- U修正本行
- ctrl + u撤銷掉撤銷
替換命令
- p 在使用d命令刪除后,刪除的內容會進入緩沖區,在你準備插入的位置*上方輸入p,會將緩沖區內容粘貼
- r 輸入后替換當前光標所在的字符
- cw 改變單詞的全部
- c 和d指令一樣,變為插入
- o在光標下插入新的一行
- a 在光標之后插入字符
- A 在hang末插入
定位及文件狀態
- ctrl + g顯示當前文件的狀態(行號)
- 行號+shift + g 跳到文件中的指定行
- /'string' 搜索當前字符 n為下一個 shift+n為上一個
- ?‘string’反向查找
- % 識別括號),],}
- :s/old/new/g 可以當前行內替換 old 為 new
- :%s/old/new/g 文中全部 old 替換為 new
運行命令
- :#,# w documentMane 保存指定位置為新文件
- :r documentNme 提取文件
設置命令的選項
:set xxx
技巧
:E = vim一個文件
:pwd - 查看當前目錄
緩沖區buffer
其實,你用:E 瀏覽打開的文件都沒有被關閉,這些文件都在緩沖區中。你可以用下面的命令來查看緩沖區:
:ls 可以用:buffer x切換文件
vim分屏
啟動分屏
- 使用大寫的O參數來垂直分屏。
vim -On file1 file2 ... - 使用小寫的o參數來水平分屏。
vim -on file1 file2 ... - 上下分割當前打開的文件。
Ctrl+W s - 上下分割,并打開一個新的文件。
:sp filename - 左右分割當前打開的文件。
Ctrl+W v
關閉
Ctrl + W c
移動光標
- 把光標移到右邊的屏。
Ctrl+W l - 把光標移到左邊的屏中。
Ctrl+W h - 把光標移到上邊的屏中。
Ctrl+W k - 把光標移到下邊的屏中。
Ctrl+W j - 把光標移到下一個的屏中。.
Ctrl+W w
屏幕尺寸
- 讓所有的屏都有一樣的高度。
Ctrl+W = - 增加高度。
Ctrl+W + - 減少高度。
Ctrl+W -
分屏瀏覽
:Te
gt – 到下一個頁
gT - 到前一個頁
{i} gt – i是數字,到指定頁,比如:5 gt 就是到第5頁
代碼補全
- 【Ctrl +N】 - 當你按下這它時,你會發現Vim就開始搜索你這個目錄下的代碼,搜索完成了就會出現一個下拉列表
- 【Ctrl + P】 – 接下來你可以按這個鍵,于是回到原點,然后你可以按上下光標鍵來選擇相應的Word。
其他
字符相關
【guu 】 – 把一行的文字變成全小寫。或是【Vu】
【gUU】 – 把一行的文件變成全大寫。或是【VU】
按【v】鍵進入選擇模式,然后移動光標選擇你要的文本,按【u】轉小寫,按【U】轉大寫
【ga】 – 查看光標處字符的ascii碼
【g8】 – 查看光標處字符的utf-8編碼
【gf】 - 打開光標處所指的文件 (這個命令在打到#include頭文件時挺好用的,當然,僅限于有路徑的)
【*】或【#】在當前文件中搜索當前光標的單詞
縮進相關
【>>】向右給它進當前行 【<<】向左縮進當前行
【=】 - 縮進當前行 (和上面不一樣的是,它會對齊縮進)
【=%】 – 把光標位置移到語句塊的括號上,然后按=%,縮進整個語句塊(%是括號匹配)
【G=】 或是 【gg=G】 - 縮進整個文件(G是到文件結尾,gg是到文件開頭)
復制粘貼相關
按【v】 鍵進入選擇模式,然后按h,j,k,l移動光標,選擇文本,然后按 【y】 進行復制,按 【p】 進行粘貼。
【dd】剪切一行(前面加個數字可以剪切n行),【p】粘貼
【yy】復制一行(前面加個數字可以復制n行),【p】粘貼
光標移動相關
【Ctrl + O】向后回退你的光標移動
【Ctrl + I 】向前追趕你的光標移動
這兩個快捷鍵很有用,可以在Tab頁和Windows中向前和向后trace你的光標鍵,這也方便你跳轉光標。
讀取Shell命令相關
【:r!date】 插入日期
上面這個命令,:r 是:read的縮寫,!是表明要運行一個shell命令,意思是我要把shell命令的輸出讀到vim里來。