標籤:
hjkl 左下上右
b/B 向前移動一個單詞
w/W 向後移動一個單詞
e/E 向後移動一個單詞
0 移動到第一個非空字母
^ 移動到行首
$ 移動到行尾
i/I insert
cc/C change
o/O 在下/上一行插入空行並開始編輯
r/R replace
s/S substitude
a/A append
~ 轉換大小寫
d/dd/D 刪除
x/X 刪除 當前/游標前 字元
p/P 將buffer中的內容放到游標後/前
y/yy/Y copy text
. 重複上一個命令
u/U undo
Ctrl+r redo
J 將兩行合并成一行
(command)(number)(text object)
(number)(command)(text object)
Command 編輯命令,如c,d,y,
Text object 移動命令,如w,e
4dd, d4w, 5w, 2yy, d/info
Ctrl+f 向後翻屏(forward)
Ctrl+b 向前翻屏(backward)
Ctrl+d 向後翻半屏(down)
ctrl+u 向前翻半屏(up)
Shift+g 到最後一行
z enter 把當前行放到螢幕頂部
z. 把當前行放到螢幕中央
z- 把當前行放到螢幕底部
nH 游標移到螢幕頂部
M 游標移到螢幕中間
nL 游標移到螢幕底部
gg 游標移到螢幕第一行行首
+/ENTER 移到下一行行首
- 移到上一行行首
(/) 移動到句首/句尾(以.!?等做分隔)
{/} 移動到段首/段尾(以空行做分隔)
[[/]] 移動到章節的首/尾(troff)
G Go to(88G,145G)
Ctrl+G 顯示當前行在檔案中位置的比例
% 移動到匹配的括弧
/ 向後搜尋
? 向前搜尋
n 重複上一個搜尋
N 反方向重複上一個搜尋
vim file1.txt file2.txt
:rew rewind
:n next
:prev previous
:args 顯示所有檔案清單
Ctrl+6 切換至上一個檔案
與buffer結合
:160,224ya a
:pu a
vim –p file1.txt file2.txt
:tabn/gt 下一個標籤
:tabp/gT 上一個標籤
:tabnew 建立標籤
:tabc 關閉當前標籤
:tabo 關閉其它所有標籤
:tabs 列出所有標籤
:tabfirst 第一個標籤
:tablast 最後一個標籤
:tabm n 移動當前標籤
:tabf /dir 搜尋dir開啟檔案
同時在一個螢幕上顯示多個檔案
1:對比檔案
2:copy和paste
3:參考其它檔案
vim提供的多視窗:
縱向或者橫向分屏
vim -o file1 file2 按檔案數橫向分屏
vim -o5 file1 file2 將螢幕橫向分為5分
^w+r 對調上下視窗的位置
^w+x 對調左右視窗的位置
^w hjkl 上下左右移動
^w HJKL 將當前視窗移動到最旁邊
:new ^ws :split 橫向
:vnew ^wv :vsplit 建立視窗
^w +-= 上下調整視窗大小
^w<>| 左右調整視窗大小
^wT window變tab
VIM一些用法