普通模式下,差不多每个字母代表一个命令。为了好记,字母和命令多是对应的。
比如 移到单词尾(end) 是 e;向后(backward)移则是 b;下一个(next) 则是 n 这样。
删除(delete) 是 d,插入(insert) 是 i,粘贴(paste/put) 是 p。(其实 vim 用的是 unix 的惯用语 put,意思是往里放。Windows 用的术语是 paste,好在都是 p 开头)
而复制(copy) 和 修改(change) 都是 c 开头,这就要有点取舍。vim 是用 c 表示 change 的。用 y 表示 yank(拉)来做为复制。拉这个动作正好粘贴用的那个 put (有点推的意思)相反,所以就这么拿来用了。
其实还有不少这样单词重了的情况,vim 都巧妙的换了个术语把这种情况避开了,比如 diff 里的 get(获得),后来 vim 用的是 obtain(也是获得)。
曾经也在找看看有没有快捷的方法全选,但是网上很多都是重复,并且错误的,比如:
1,$y,这是什么?要写也要写成:1,$y,但是我告诉你,写成:1,$y是全部复制,不是全选
dG,这个就更加误导人了,这是删除光标所在行到最后一行的内容(包括光标所在行的内容)
上面这里都扯到哪里去了。全选正确的答案是:
ggVG
稍微解释一下上面的命令
gg 让光标移到首行,在vim才有效,vi中无效
V 是进入Visual(可视)模式
G 光标移到最后一行