1.前言

关于VIM的使用入门,参考我的博客:

http://zhangfengzhe.blog.51cto.com/8855103/1421285


2.如何移动光标


序号模式键盘输入说明
1命令模式h,j,k,l由右手掌握的这四个键可以在命令模式下完成对光标的移动。h在左边,l在右边,j(Japanese在下面)向下,k(korea在上面)向上。为了强迫自己熟悉它们,不要使用上下左右箭头完成移动。
2
NUMBERh/j/k/l可以指定移动光标数量
3
w,b,ew,从左至右移动到单词词首;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单个字符


NUMBERxdeleteNUMBER个字符


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

命令模式ccdelete光标所在行,并转入输入模式【相当于dd+i】


5.小结

通过上面的学习,可以初步了解vim的强大。模式,命令繁杂,如何快速为我所用?

第一:

如果我们想d,复制y,粘贴p一段内容,首选在命令模式下。

原因:我们知道在末行模式下,也可以实现***,粘贴,但是末行模式下,无法实现粒度小的,只能按行进行。



第二:

实际中,我们需要快速移动光标到指定位置然后进行编辑操作。在末行模式下,只能实现行的跳转,而命令模式可以粒度更小的跳转。因此首选也是命令模式。


第三:

如果,我们要进行键盘输入改变文件内容,那么进入输入模式。


经过总结,也就是说,如果想delete,复制,粘贴,移动,那么就命令模式吧。


未完待续,参见我的下一篇博客~