Vim 解決問題的方式
<CR>
- - 書中表示回車
技巧1 結識 .
命令
-
.
命令 - - 重複上次的修改 -
u
- - 撤銷上述修改 -
j
- - 光標移到下一行 -
dw
- - 刪除光標下的字符 (整個詞 - 這裏的詞是值用 空格 或者tab 或者 換行區分的) -
x
- - 刪除光標下的字符 (單個) -
>G
- - 增加從當前行到文檔末尾處的縮進層級,即當前行到最後行 縮進增加1級
.
命令是一個微型的宏 (macro)
技巧2 不要自我重複
-
例如:給多行代碼的最後添加
;
號 -
$
- - 光標移動到改行末尾 -
a
- - 在當前光標之後添加內容,會把普通模式變爲插入模式 -
A
- - 在當前行的結尾添加內容,會把普通模式變爲插入模式,相當於對$a
進行了封裝。
上述例子的操作:
雖然上述做法對於簡短的例子來說很好用,但是如果給50行代碼添加;
,即便每個修改輸一次 j.
,看起來也是一項很繁重的工作。
更通用的做法如下圖:
一箭雙鵰
符合命令 | 等效的長命令 | 命令解釋 |
---|---|---|
C |
c$ |
刪除一整行,並在改行起始位置切換到插入模式 |
s |
cl |
等同於 x 刪除一個字符,但會切換到插入模式 |
S |
^c |
文本解釋 |
I |
^i |
文本解釋 |
A |
$a |
文本解釋 |
o |
A<CR> |
文本解釋 |
O |
ko |
文本解釋 |
思考上面命令的共同點。它們都會從普通模式切換到插入模式,仔細想想這一點,並想想這對
.
命令可能產生的影響。