首页 > 解决方案 > 为什么`ctrl -h`在插入模式下不起作用?(版本gvim 8.1.1)

问题描述

在“Practical Vim”(第二版)中,作者说<c-h>可以删除回一个字符。我已经在 git bash 中尝试过,它确实有效。但是,它在 win10 中的 gvim 中无法正常工作。

当我在插入模式下输入内容时,我可以在离开插入模式之前使用<c-h>, 。当我在不输入任何内容的情况下切换到插入模式时,,并且不起作用。<c-w><c-u><c-h><c-w><c-u>

请注意,<c-h>未映射(:map <c-h>打印No mapping found)。

标签: vim

解决方案


默认情况下,Vim 只允许删除您在进入插入模式后输入的字符。它不允许在您开始插入之前删除字符。此行为是从原始 Vi 继承的。

为了改变这一点,Vim 有选项'backspace'. 它配置了<Backspace><Del><c-w>工作方式<c-u>。将以下内容添加到您的代码中_vimrc,Vim 将按照您的预期运行:

set backspace=indent,eol,start

然后你可以在自动缩进、插入开始和行尾上退格。

:help 'backspace'


推荐阅读