巨大的建筑,总是由一木一石叠起来的,我们何妨做做这一木一石呢?我时常做些零碎事,就是为此。
这是对的,但是我没有说过这句话! —— 鲁迅
有人说vim难上手,那是因为一开始了解的东西太多了,要想把vim用起来,不是要了解它的所有功能,只需要先了解一下它最基本的功能,先用起来再说。
这里介绍一下vim下的最最最基本的快捷键,这些在所有vim模式下都可以使用。
这里说的vim模式,指的是一些其他的编辑器,IDE的一些vim插件,只要安装了,就可以用。
现在大部分IDE都有自己相应的vim插件,包括,idea,eclipse,vs,emacs,等等,都有.
但是也发现一款没有的,那就是Xcode,Xcode曾经也有过,后来更新后就不能用了,所以Xcode是我用过的,使用体验最最最差的IDE,没有之一.
ESC
Esc键是vim最最灵魂的一个按键,使用频率相当高,
无论你现在处在什么位置,什么情况下,什么模式下,或者按什么键什么键出错的情况下,
只要按了这个键,便回到了熟悉的Normal模式。
使用vim要有一个习惯,就是一旦手停下来了,就要使vim处于normal模式下。
也就是说任务编辑,编辑完了,就要习惯性的按一下 Esc键。
进入插入模式
从normal模式进入插入模式,初学者一般只知道 i ,但这只是一种方式,而且实际使用率并不算非常高。
下面列举一下常用的。
- i 进入插入模式,光标定位到当前字符之前。
- a 进入插入模式,光标定位到当前字符之后。
- I 进入插入模式,光标定位到当前行的最前面.
- A 进入插入模式,光标定位到当前行的最后面.
- o 进入插入模式,并在当前行后新建一行,光标定位到新建行的开头.
- O 进入插入模式,并在当前行前新建一行,光标定位到新建行的开头.
移动光标
最简单的移动光标。
- j 向下移动。
- k 向上移动.
- h 向左移动。
- l 向右移动.
- w 向右移动一个word,一般是下一个单词的开头.
- e 移动到当前单词的末尾.
- f+X 先按f键,再按任意一个键,是光标定位到当前行,目前光标后面的按的那个键上面,比如:fa ,当前行下一个a的位置.
- gg 跳转到文档开始
- G 跳转到文档结算
操作符+范围
vim中有一些操作符,输入这些操作符,就是告诉vim,我想要进行一个操作,你要注意了。
操作符
基本操作符如下:
- c 编辑,change,输入c之后,告诉vim,我要修改东西了,具体修改什么,要看后面接的范围,比如cw,就是修改一个单词。
- d 删除,比如dw就是删除一个单词
- y 复制,比如yw就是复制一个单词
范围
跟上面的移动光标差不多,可能更广一些
操作举例
有两个中间变量用的比较多,i是in的意思,就是不包含,a就是包含。
- ciw 删除当前单词,并进入到插入模式,等待数据,就是用你输入的词单体当前词
- ci( 删除小括号内的,并进入插入模式,等待数据。
- ci{ 删除大括号内的 ,并进入插入模式
- ca[ 删除中括号,以及中括号内的,并进入插入模式,等待数据。
- da{ 删除大括号以及大括号内的,停留在normal模式。
- yw 复制当前字符后面的当前单词。
- yy 复制当前行
- dd 删除当前行。
- p 粘贴,将寄存器中的粘贴下来,简单的说,就是把复制的或者删除的粘贴下来
.
重复上一次操作,这个稍微有点复杂,就是上一次操作是什么,这次还重复上一次操作.
怎样判断是否是一次操作,主要是看从修改开始,到结束修改,回到normal模式,算一次修改。
进入命令模式
按:则进入命令模式,接下来会等待输入一个命令
- :w 保存 write
- :q 退出 quit
- :wq 保存并退出
- :normal xxxx 执行normal命令 比如::normal A; 在所有行后面都增加一个分号(A是将光标定位到最后并插入状态,;就是插入的值)
网友评论