快速插入
  • 直接插入

    i		# 在光标前面一个位置插入
    a		# 在光标后面一个位置插入
    I		# 从当前行第一个非空字符的前一个位置插入
    A		# 在当前行尾插入
    o		# 在光标所在行的下面新插入一行
    O		# 在光标所在行的上方新插入一行
    gi             # 从当前缓冲区buffer上次结束输入模式的地方开始插入 
    gI             # 从当前行的第一列的位置开始插入 
    
  • 先删除,再插入,并结合文本对象使用

    s		# 删除光标所在字符,并插入;先按数字可向前删除多个字符
    S		# 删除光标所在行,并在行首插入
    
    C		# 删除光标光标位置到本行行尾,并进入插入模式
    c$		# 同C
    cc		# 删除光标所在行,并在行首插入,等同于S
    m,nc	        # 按回车,删除m到n行的文本,并进入插入模式
    caw		# 从光标所在单词开始向前删除一个单词(包括空格),并插入;先按数字可删除多个单词
    ciw		# 向前删除单词(不包括空格,空格单独算一个单词),并插入;先按数字可删除多个单词
    cw		# 从光标所在字符开始向前删除一个单词(包括空格),并插入;先按数字可删除多个单词
    cb		# 从光标所在字符开始向后删除一个单词(包括空格),并插入;先按数字可删除多个单词
    ci{
    ci<
    ci(
    ct,		# 从光标所在字符开始删除字符串,直到找到逗号为止(逗号不删除),并插入。原理是命令t为行内搜索移动
    cf,		# 从光标所在字符开始删除字符串,直到遇到逗号为止(逗号也删除),并插入。原理是命令f为行内搜索移动
    

    c操作符(operator)表示删除并插入,后面接的动作(motion)表示c操作的范围。

  • 重复输入模式
    在进入输入模式之前传递一个计数参数实现复制输入。比如5i,之后输入文本Hello VIM,Vim会重复输入这段文本5次。对进入输入模式的命令均有效,比如i, I, a, A, o, O等。

快速纠错/删除
ctrl+h		# 删除前一个字符
ctrl+w		# 删除前一个单词
ctrl+u		# 删除当前行光标前的所有字符

此外,这些快捷键也支持在命令模式和Ex模式(命令行命令)下使用。

用寄存器进行输入
  • 举例
    # 普通模式下,将文本保存到寄存器
    "ayiw
    

    "a 告诉Vim你的下一个动作的目标地址是寄存器a
    yiw复制一个内词(inner word)

    # 输入模式(插入模式),将文本从寄存器复制到当前文件buffer
    ctrl-r a
    
执行普通模式的命令
  • 使用方法:在插入模式下,按下ctrl-o,进入insert-normal子模式,可以执行普通模式下命令。
  • 举例
    ctrl-o 'a     # 跳转到标志'a处
    ctrl-o dtx    # 从当前位置开始删除文本,直到遇到字母x
    ctrl-o D      # 从当前位置开始删除文本,直到行末
    ctrl-o zz     # 居中窗口
    
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐