普通模式下快速移动及块选择——光标、单词间、行首行尾、行间搜索、页面移动
可能使用vim好几年的开发者,在移动光标的时候,还是使用上下左右键,而不是去使用h/j/k/l。确实,hjkl有点反人类,很难去适应。自己在开始的时候也是完全的不适应。但是如果你熟练掌握形成肌肉记忆之后,将会大大提高的你速度。
光标移动
在普通模式下移动光标请使用hjkl来替代上下左右方向键。这里有个好的方法,去玩游戏,哈哈,我当初就是这么练习的。在线游戏地址如下:
其中第一关就是使用hjkl来完成的。
在单词间移动
因为在单词间移动的效率要比光标移动效率高,所以,在单词间移动是日常中用的比较多的。下面介绍几个在单词间移动的按键及说明:
- w移动到下一个单词开始处
- W移动到下一个单词空白符处
- e移动到单词结尾(注意他和w的区别)
- b与w相反
- B与W相反
行间搜索移动
其实,在行内移动最快的办法是搜索一个指定字符,然后快速移动到该字符上面。下面介绍几个相关的按键及说明:
- f{char} 向后搜索字符char,并将光标移动到该字符上面。
- F{char} 向前搜索字符char,并将光标移动到该字符上面。
- t{char} 搜索字符char,并将光标移动到该字符前一个字符上面。
- ; 下一个字符所在处
- , 上一个字符所在处
行首行尾移动
上面所说的行间搜索只能搜索光标后面的字符,如果向前搜索则不能完成需求。这个时候需要使用F来向前搜索或结合行首移动,先将光标移动到行首,然后再搜索。
- 0 数字0将光标移动到行首
- ^ 将光标移动到行首非空白处
- $ 将光标移动到行尾
这里教大家一个小技巧,可以使用0+w来移动到行首非空白字符处。
页面移动
- gg 移动到首行
- G 移动到尾行
- nG 移动到指定行
- H/M/L 视图最上面/中间/下面
- ctrl+u 上翻页
- ctrl+f 下翻页
- zz 使光标居中
块选择
我们知道,使用vim编辑器,鼠标是没有作用的,不能用鼠标来选定一段字符。下面我们来介绍块选择,有了它再结合光标移动,即可完成一段字符的选择。
- v 选择多个字符
- V 选择行
- ctrl+v 块选择
- y 复制
- d 删除
- p 粘贴