No.1活下去
模式:
- Normal
- Insert
ESC
返回至Normal模式
i
进入Insert
在Normal活下去
i
:进入Insert模式,按ESC
返回Normal模式
x
:删除当前光标所在的一个字符
:wq
:存盘+退出(:w
存盘,:q
退出)(:w
后可以跟文件名)
dd
:删除当前行,并将删除的行存入剪贴板(相当于剪切)
p
:粘贴剪贴板
hjkl
:移动光标,h
左移,j
下移,k
下移,l
右移
:help <command>
:显示相关命令的帮助,:q
退出帮助
No.2感觉良好
- 插入模式
a
:在光标后插入o
:在当前行后插入一个新行O
:在当前行前插入一个新行cw
:替换从光标所在位置厚道到一个单词结尾的字符
- 移动光标
0
:到行头^
:到本行第一个不是blank字符(空格、Tab、换行、回车)的位置$
:到行尾g_
:到本行最后一个不是blank字符的位置/pattern
:搜索pattern
,若出现多个匹配,可按n
到下一个
- 拷贝/粘贴
p
:粘贴P
:粘贴到当前位置之前yy
:拷贝当前行(相当于ddP
)
- Undo/Redo
u
:undo<C-r>
:(Ctrl+r)redo
- 打开/保存/退出/改变文件(Buffer)
:e <path/to/file>
:打开一个文件:w
:保存:saveas <path/to/file>
:另存为:x
,ZZ
,:wq
:保存并退出:q!
:退出不保存:qa!
:强制退出所有文件:bn
,:bq
:打开多个文件,使用该命令切换上一个或下一个文件
No.3 更好,更强,更快
.
:重复上次的命令N<command>
:重复某个命令N次NG
:光标跳至第N行gg
:第一行G
:最后一行w
:下一个单词(程序变量名)的开头e
:下一个单词的结尾W
,E
:以blank字符作为分隔符%
:匹配括号移动包括(
[
{
,(需先将光标移到括号上)*
,#
:匹配光标当前所在的单词(*
是下一个,#
是上一个)
<start osition>
<command>
<end position>
:复合命令
例如0y$
意味着:
0
:行头
y
:拷贝
$
:拷贝至本行最后一个字符ye
:从当前位置拷贝至本单词的最后一个字符y2/foo
:拷贝两个foo
之间的字符串d
:删除v
:可视化选择gU
:变大写gu
:变小写