vim技巧

HJKL:左下上右

i: 在光標前插入字符
a: 在光標後插入字符

x: 刪除當前光標所在字符
dd: 刪除光標所在行,並存到剪貼板裏
cw: 刪除從光標所在位置到行尾的字符,並存到剪貼板裏

p: 粘貼剪貼板(在光標之後插入)
P: 在光標之前插入

o: 在當前行後插入一行
O: 在當前行前插入一行

0:光標移動到所在行頭(第一個光標)
shift+$: 光標移動到所在行尾(最後一個光標)

shift+^: 到本行第一個不是blank字符的位置(所謂blank字符就是空格,tab,換行,回車等)
g+shift+_: 到本行最後一個不是blank字符的位置

/pattern: 搜索所有pattern的字符串(按n健可以定位下一個pattern字符串)

u: 撤銷更改undo
< C-r >: 反撤銷redo

:e <path/to/file> → 打開一個文件
:saveas <path/to/file> → 另存爲 <path/to/file>

:x/ZZ: 在需要的時候保存

:np/bp ->切換上一個或下一個文件(:n 1.txt)

N → 重複某個命令N次
100ilove [ESC] → 會寫下100個love
. → 重複上一個命令: 插入100個love
3. →重複上一個命令,每個命令只寫一個:比如插入3 個love

2G/:2 —> 定位到第二行
gg—>定位到第一行
G—>定位到最後一行

w → 到下一個單詞的開頭
e → 到下一個單詞的結尾

shift+% : 匹配括號移動
shift+*: 向下匹配單詞
shift+#: 向上匹配單詞

dt": 從光標處開始向後刪除,知道遇到第一個“號停止

fa: 以行爲單位,向下找第一個爲a的字符
3fa → 在當前行查找第三個出現的a
t, → 到逗號前的第一個字符
F/T和小寫功能類似,只不過查找是反方向來的

< start position >< command >< end position >
0yllp #光標向右移動兩個字符位置並插入行首位置的字符
ye # 從當前光標所在位置開始插入從這到行尾的所有字符
gu/gU # 變小寫/大寫
yy/Y: 拷貝當前行

區域選擇

(map (+) ("f**o**o")).而光標鍵在第一個 o 的位置
vi" → 會選擇 foo.
va" → 會選擇 "foo".
vi) → 會選擇 "foo".
va) → 會選擇("foo").
v2i) → 會選擇 map (+) ("foo")
v2a) → 會選擇 (map (+) ("foo"))
viw--->選擇一個單詞
vis--->選擇一個句子
vip--->選擇一個段落

塊操作

^+< C-v >+< C-d >+ I-- ESC

< C-p >或是< C-n >,自動補齊功能

宏錄製: qa 操作序列 q, @a, @@

 qa 把你的操作記錄在寄存器 a。
  於是 @a 會replay被錄製的宏。
 @@ 是一個快捷鍵用來replay最新錄製的宏。
 for example: 
 	qayy< C-a >q   #  錄製宏

可視化選擇: v, V, < C-v >

J → 把所有的行連接起來(變成一行)
< 或 > → 左右縮進
= → 自動給縮進 
for example:
< C-v > j $ A xx ESC  # 在所選那幾行後插入xx

分屏: :split 和 vsplit

:split → 創建分屏 (:vsplit創建垂直分屏)
<C-w><dir> : dir就是方向,可以是 hjkl 或是 ←↓↑→ 中的一個,其用來切換分屏。
<C-w>_ (或 <C-w>|) : 最大化尺寸 (<C-w>| 垂直分屏)
<C-w>+ (或 <C-w>-) : 增加尺寸

vimtutor: 查看vim教程
:help usr_02.txt

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章