1 简介
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和 底线命令模式(Last line mode)。
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下 i
,并不会输入一个字符,i
被当作了一个命令。
以下是常用的几个命令:
i
切换到输入模式,以输入字符;x
删除当前光标所在处的字符;:
切换到底线命令模式,以在最底一行输入命令。
若想要编辑文本:启动Vim,进入了命令模式,按下 i
,切换到输入模式。
命令模式(也称基本模式)只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。下面几乎都在基本模式操作。
2 详解
2.1 移动
2.2 快速退出
普通模式下输入Shift+zz
即可保存退出vim,不保存推出 :q!
2.3 进入插入模式
i
在当前光标处进行编辑I,A
在行首/末插入a
在光标后插入编辑o,O
在当前行后/前插入一个新行cw
删除一个单词,同时进入插入模式
2.4 文档编辑
文档编辑的所有命令全部符合一个规律,[操作]+[行号]+定位
,三个部分完成一个动作比如:删除操作代码为d
,重复操作代码代表操作当前行dd
,则删除2行就是 d2d
;操作和行号也可以互换位置 2dd
,可以省略行号dd
代表删除一行,多数时候可以不要操作则代表定位 5G
代表移动到第五行。
删除x
反退格键(delete键) X
退格键dw
删除一个单词(不适用中文)类似于上一节说的 cw
,只是删除后还在普通模式d$
删除至行尾, d^
删除至行首dG
删除到文档结尾处d1G
删至文档首部
前缀(操作) :d代表删除
中缀:行号
后缀(定位):d代表行,G代表尽头, $代表行尾,^代表行首,w代表单词
2.5 重复命令
普通模式下输入dd
,删除一行,输入 .
(小数点)会再次删除一行,除此之外也可以重复其他任意操作
使用 dw
删除一个单词,然后用 .
命令重复删除单词操作
2.6 游标
游标跳转位置,不过是没有去掉操作后输入的命令。nG(n Shift+g)
游标移动到第 n 行(如果默认没有显示行号,请先进入命令模式,输入 :set nu
以显示行号)gg
游标移动到到第一行G(Shift+g)
到最后一行G
代表尽头, $
代表行尾,^
代表行首,w
代表下一个单词,b
上一个单词,e
当前单词末尾f+字母
向后搜索 字母并跳转到第一个匹配的位置F+字母
向前搜索 字母并跳转到第一个匹配的位置
2.7 复制与粘贴
复制为y
,后可以接定位符,yy
复制游标所在的整行(3yy
表示复制3行)y^
复制至行首,或 y0
, 不含光标所在处字符。y$
复制至行尾。含光标所在处字符。yw
复制一个单词。y2w
复制两个单词。yG
复制至文本末。y1G
复制至文本开头
使用 p
粘贴p
(小写) 代表粘贴至光标后(下)P
(大写) 代表粘贴至光标前(上)
2.8 剪切
我们上面在删除那学到的 d
操作,其实就是剪切,我们使用 ddp
就可以交换上下行。
3 小结
到这里是不是文档操作可以直接脱离鼠标了!
移动:h,l,j,k,w,b
跳转:G nG f/F+字母
定位:G代表尽头, $代表行尾,^代表行首,w代表下一个单词,b上一个单词,e当前单词末尾
操作:y d p