参考
Insert 模式
esc,退出Insert模式,进入Normal模式
Normal 模式
i,进入Insert模式x,删除当前光标所在位置的字符s,删除当前光标所在位置的字符并进入Insert模式w,保存,后面可以加文件名q,退出q!,强制退出,不保存修改内容:wq,保存 + 退出,w后面可以加文件名dd,删除当前行,并把删除的行存入剪切板内p,粘贴剪切板h, ←j, ↓k, ↑l, →:help <command>, 显示相关命令的帮助
各种插入模式
基本插入
i,在当前光标前插入I,在当前行第一个非空白符前插入gI,在当前行的开头插入a,在当前光标后插入A,在当前行末尾插入o,在当前行后插入一个新行O,在当前行前插入一个新行:r !date,在光标处插入当前日期时间:r !<command>可以将 shell 命令的输出插入当前文档
改写插入
cw,替换从光标所在位置后到一个单词结尾的字符c[n]w,替换光标所在位置后 n 个单词,与[n]cw作用相同cl,替换光标所在位置后的 1 个字符c[n]l,替换光标所在位置后 n 个字符,与[n]cl作用相同ch,替换光标所在位置前 1 个字符c[n]h,替换光标所在位置前 n 个字符,与[n]ch作用相同cc,替换光标所在行c[n]c,替换光标所在行及向下的共 n 行,与[n]cc作用相同s,替换光标所在位置的字符[n]s,替换光标所在位置及之后的共 n 个字符S,替换光标所在行[n]S,替换光标所在行及向下的共 n 行
移动光标
随机移动
hjkl,←↓→↑gj,移动到一段内的下一行gk,移动到一段内的上一行w,后移一个单词,到下一个单词开头W,后移一个单词,到下一个单词开头,会忽略一些标点符号e,类似w,不过是停留在下一个单词结尾E,类似E,不过是停留在下一个单词结尾b,前移一个单词,停留在开头B,前移一个单词,停留在开头,忽略一些标点符号ge,前移一个单词,停留在结尾gE,前移一个单词,停留在结尾,忽略一些标点符号(,前移一句),后移一句{,前移一段},后移一段+或<enter>,将光标移动到下一行的第一个非空白字符处-,将光标移动到上一行的第一个非空白字符处f[c],将光标移动到同一行的下一个c处F[c],将光标移动到同一行的上一个c处t[c],将光标移动到同一行的下一个c前T[c],将光标移动到同一行的上一个c后;,配合fFtT使用,重复一次刚刚的操作,,配合fFtT使用,反向重复一次刚刚的操作
匹配移动
/<pattern>,搜索pattern的字符串,语法为正则表达式,可以按n切换到下一个匹配位置,按N切换到上一个匹配位置0,到该行开头^,到该行第一个非空白字符处$,到该行末尾g_,到该行最后一个非空白字符处