部分參考http://www.cnblogs.com/yangjig/p/6014198.html
h 光標左移動
j 光標下移一行
k 光標上移一行
l 光標右移動
$ 光標到行末
^ 光標到行首第一個非空字母
0 光標到行首
dw 刪除光標後第一個單詞
db 刪除光標前第一個單詞
dd 刪除當前一行
y 複製選中的內容
% 查找“(”,“)”,“{”,“}”的配對符
:reg 查看當前複製的內容(寄存器內容)
"ay 複製內容到a字母寄存器
"ap 粘貼將a字母寄存器中的內容
* 向前查詢光標後的一個單詞
# 身後查詢光標後的一個單詞
o(字母) 在下一行首插入
O(字母) 在當前行前一行插入,並把當前行下移動一行
a 將可在光標之後插入文本
A 當前行最後插入
- 光標到上一行開頭
+ 光標到下一行開頭
G 最後一行
nG 第n行
. 回到上一次地方
u 撤消
ctrl-r 重做
ctrl-ww 切換窗口
M 移至視窗的中間那行
H 移至視窗的第一行
L 移至視窗的最後一行
CTRL-U 顯示文本的窗口向上滾動了半屏
CTRL-D 命令將窗口向下移動半屏
ctrl-e 向上滾動
ctrl-y 向下滾動
zz 把當前行置爲屏幕正中央
zt 把當前行置於屏幕頂端
zb 則把當前行置於屏幕底端
ctrl-f 下翻頁一頁
ctrl-b 上翻頁一頁
ctrl-n 光標下一行
ctrl-p 光標上一行
( 光標前移一句
) 光標後移一句
{光標前移一段
}光標後移一段
n% 到文件n%的位置
v 從光標位置開始選中
V 從光標行開始選中
viw 選中當前所在單詞
b 移動到上個字的第一個字母
w 移動到下個字的第一個字母
e 移動到下個字的最後一個字母
f{char} 移動到當前行下一個{char}出現的位置
F{char} 移動到上一個{char}出現的位置
t{char} 移動到當前行下一個{char} 出現的位置之前
T{char} 移動到當前行前一個{char}出現的位置之後
; 繼續向後匹配
, 向前匹配
ctrl-G 查看當前行行數,到文檔總行數的百分比
/ 向下查找
? 向上查找
n 下一個匹配
N 上一個匹配
ctrl-o 光標回到上一個位置
ctrl-i 光標回到下一個位置
:s/thee/the 只改變光標所在行的第一個匹配
:s/thee/theg 是替換全行的匹配串
:#,#s/old/new/g 其中 #,# 代表的是替換操作的若干行中首尾兩行的行號。
:%s/old/new/g 則是替換整個文件中的每個匹配串。
:%s/old/new/gc 會找到整個文件中的每個匹配串,並且對每個匹配串提示是否進行替換。
:! 然後緊接着輸入一個外部命令可以執行該外部命令 如:!ls
:r FILENAME 向當前文件中插入另外的文件的內容
使用標記可以快速移動。到達標記後,可以用Ctrl+o返回原來的位置。 Ctrl+o和Ctrl+i 很像瀏覽器上的 後退 和 前進 。
m{a-z}: 標記光標所在位置,局部標記,只用於當前文件。
m{A-Z}: 標記光標所在位置,全局標記。標記之後,退出Vim, 重新啓動,標記仍然有效。
`{a-z}: 移動到標記位置。
'{a-z}: 移動到標記行的行首。
`{0-9}:回到上[2-10]次關閉vim時最後離開的位置。
``: 移動到上次編輯的位置。''也可以,不過``精確到列,而''精確到行 。如果想跳轉到更老的位置,可以按C-o,跳轉到更新的位置用C-i。
`": 移動到上次離開的地方。
`.: 移動到最後改動的地方。
:marks 顯示所有標記。
:delmarks a b -- 刪除標記a和b。
:delmarks a-c -- 刪除標記a、b和c。
:delmarks a c-f -- 刪除標記a、c、d、e、f。
:delmarks! -- 刪除當前緩衝區的所有標記。
:help mark-motions 查看更多關於mark的知識。
宏
. --重複上一個編輯動作
qa:開始錄製宏a(鍵盤操作記錄)
q:停止錄製
@a:播放宏a
顯示行數
:set nu 或者 :set number
隱藏行數
:set nonu 或者 :set nonumber