使用git时pull了一下代码,然后在终端里出现了让我输入commit信息的界面,开始有点不知所措,后来才知道需要使用vim的命令去编辑,第一次使用VIM,会觉得无所适从,他并不像记事本,你敲什么键就显示什么,理解VIM的需要明白他的两种模式: - 命令模式 (Command Mode) - 编辑模式 (Insert Mode)
命令模式下,可以做移动、编辑操作;编辑模式则用来输入。键入i
,o
,s
,a
等即可进入编辑模式,后面解释原因。
模式的设计是VIM和其他编辑器最不同的地方,优势和劣势也全基于此而生。
基本操作
以下介绍的键盘操作,都是大小写敏感的,并且要在命令模式下完成,需注意:
以字为单位的移动
h
向左移动一个字j
向下移动一行k
向上l
向右
这四个键在右手最容易碰到几个位置,最为常用。
以词为单位的移动
w
下一個word w(ord)W
下一個word(跳过标点)b
前一個word b(ackward)B
前一个word(跳过标点)e
跳到当前word的尾端 e(nd)
行移动
0
跳到当前行的开头^
跳到当前行第一个非空字符$
跳到行尾
助记:0(第0个字符),^
和$
含义同正则表达式
段落移动
{
上一段(以空白行分隔)}
下一段(以空白行分隔)%
跳到当前对应的括号上(适用各种配对符号)
跳跃移动
/xxxx
搜索xxxx,然后可以用n
下一个,N
上一个移动#
向前搜索光标当前所在的字*
向后搜索光标当前所在的字fx
在当前行移动到光标之后第一个字符x的位置 f(ind)xgd
跳到光标所在位置词(word)的定义位置 g(o)d(efine)gg
到文档顶部G
到文档底部:x
跳到第x行(x是行号)ctrl+d
向下翻页 d(down)ctrl+u
向上翻页 u(p)
基本编辑
修改
i
在光标当前位置向前插入 i(nsert)I
在本行第一个字符前插入a
在光标当前位置向后插入 a(fter)A
在本行末尾插入o
向下插入一行O
向上插入一行:w
保存:q
退出:wq
保存并退出
删除
x
删除当前字符dd
删除当前行 d(elete)dw
删除当前光标下的词 d(elete)w(ord)
复制粘贴
yy
复制当前行 y(ank)yw
复制当前光标下的词 y(ank)w(ord)p
粘贴 p(aste)P
粘贴在当前位置之前