VIM的强大就不多说了,虽然VIM的学习曲线很长很陡,但是坚持下来收获还是很大的。
告诉自己每天坚持学习1~2个命令,将来就会很得心应手。
今天讲讲几个普通模式(normal mode)下,移动的命令和小技巧,一对一对来记:
- w 和 b —— w 是向 后 移动一个单词,每次光标指在单词的首字母
b 是向 前 移动一个单词,每次光标指在单词的首字母
例如:I love Johnny, wherever he lives.
本来光标在love的l,按下“w”后,光标就移动到Johnny的J了。
同理,按下“b",光标就会向前移动,即回到love的l。
- e 和 ge —— 与上一对类似,担忧细小的区别。
e 是向 后 移动一个单词,每次光标指在单词的末字母
eg 是向 前 移动一个单词,每次光标指在单词的末字母
例如:I love Johnny, wherever he lives.
本来光标在love的e,按下“e”后,光标就移动到Johnny的y了。
同理,按下“b",光标就会向前移动,即回到love的e。
上面两种移动方法有3点要注意:
1. 若光标不在单词的首或末位置,那么命令将先移动到首末位置。
2. 命令默认将符号算成一个单词,若想按空格移动,请用命令的大写字母。
例如:I think “m” is a special word.
当光标在think的k,一次按下w,则移动的顺序为:k --> “ --> m --> “ --> i
若想将”w“看成一个单词,那么依次按下W(shift+w),则移动的顺序为:k --> ” --> i
同理可用于其他3个命令。
3. 命令前可加上数字,表示命令重复的次数,用以跨越移动。
例如 I love Johnny, wherever he lives.
本来光标在love的e,按下3w,就能跳至he的h了!神奇吧~实际上,VIM里的大多数命令都能用数字键重复,就是有时按数字几合适就看自己的感觉了!o(∩∩)o...哈哈
这样熟悉后,比hjkl能快不少呢,更方便补上括号......
最后讲两个小技巧:
一个是正常模式下的大写J!这可跟向下移动没关系啦,而是将两行合并成一行~刚在usr_02里看到的说....来看例子:
现在有两行:I am a line.
I am another line. We are one!
那么在第一行按下J,则变成:I am a line. I am another line. We are one!
虽然还是有个空格需要调整,但是省去了以前xxxxx了......
另一个是命令模式(冒号:)下的 :e!
在你不想保存当前文件,又想打开该文件的原始版,就用它吧!
好了,打完手工!