2.如何移动光标
序号 | 模式 | 键盘输入 | 说明 |
1 | 命令模式 | h,j,k,l | 由右手掌握的这四个键可以在命令模式下完成对光标的移动。h在左边,l在右边,j(Japanese在下面)向下,k(korea在上面)向上。为了强迫自己熟悉它们,不要使用上下左右箭头完成移动。 |
2 | NUMBERh/j/k/l | 可以指定移动光标数量 | |
3 | w,b,e | w,从左至右移动到单词词首;b,从右至左移动到单词词尾;e,从左至右移动到单词词尾。 |
|
4 | NUMBERw/b/e | 同上。 | |
5 | 0 ^ $ |
在光标所在行进行快速跳转到行首或者行尾。 显然0,^代表跳转到行首(区别在于绝对行首和非空白字符行首);$代表跳转到行尾。 |
|
6 | NUMBER G G |
NUMBER G表示跳到指定G行出,而G表示直接跳到最后一行。 | |
7 | 末行模式 | NUMBER $ |
同上。 |
3.如何进行翻屏操作
我们知道less命令:
space 表下一屏
b表示上一屏
那么VIM?
CTRL+f 下一屏
CTRL+b 上一屏
4.编辑操作
序号 |
模式 | 键盘输入 | 说明 |
1 | 命令模式 | x |
delete单个字符 |
NUMBERx | deleteNUMBER个字符 | ||
d0 d^ d$ |
d0,d^表示delete从指定光标开始到行首 d$表示delete从指定光标开始到行尾 |
||
dd NUMBERdd |
dd表示delete光标所在的行 NUMBERdd表示delete从光标所在的行开始的NUMBER行 |
||
dw db de NUMBERdw NUMBERdb NUMBERde |
我们在WINDOWS上使用文本编辑器时,经常使用shift+上下左右箭头实现文本的部分选中,然后进行delete,复制操作,VIM同样可以。 | ||
末行模式 | :START,ENDd :START,+LENGTHd |
在末行模式下,我们可以delete指定范围的行数据。 注意一些特殊表示法,如.当前光标所在行,$表示行尾。($-1表示倒数第二行) |
|
命令模式 | P p |
表示粘贴命令。注意,对LINUX而言,delete或者复制文本实际上是保存到了内存,从而可以实现粘贴操作。 那么,p和P有什么区别呢?其实就是一个粘贴的方向不同,是在光标所在的字符的前面还是后面,是光标所在行的前面还是光标所在行的后面。【根据规律,小写的,一般是向后,向下的】 |
|
yy yw yb ye y0 y^ y$ NUMBER也支持 |
复制命令,用法其实如同命令d。 | ||
末行模式 | :START,ENDy :START,+LENGTHy |
复制命令,用法如同d | |
命令模式 | cc | delete光标所在行,并转入输入模式【相当于dd+i】 |
5.小结
通过上面的学习,可以初步了解vim的强大。模式,命令繁杂,如何快速为我所用?
第一: 如果我们想d,复制y,粘贴p一段内容,首选在命令模式下。 原因:我们知道在末行模式下,也可以实现***,粘贴,但是末行模式下,无法实现粒度小的,只能按行进行。 第二: 实际中,我们需要快速移动光标到指定位置然后进行编辑操作。在末行模式下,只能实现行的跳转,而命令模式可以粒度更小的跳转。因此首选也是命令模式。 第三: 如果,我们要进行键盘输入改变文件内容,那么进入输入模式。 |
经过总结,也就是说,如果想delete,复制,粘贴,移动,那么就命令模式吧。
本文转自zfz_linux_boy 51CTO博客,原文链接:http://blog.51cto.com/zhangfengzhe/1421783,如需转载请自行联系原作者