vim - 为什么`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 只允许删除您在进入插入模式后输入的字符。它不允许在您开始插入之前删除字符。此行为是从原始 Vi 继承的。
为了改变这一点,Vim 有选项'backspace'
. 它配置了<Backspace>
、<Del>
和<c-w>
工作方式<c-u>
。将以下内容添加到您的代码中_vimrc
,Vim 将按照您的预期运行:
set backspace=indent,eol,start
然后你可以在自动缩进、插入开始和行尾上退格。
见:help 'backspace'
。
推荐阅读
- angular - 在 AoT 编译的 Angular 应用程序中访问窗口属性
- python - 在python中的赋值错误之前引用的变量
- android - 在回收站视图中运行时遇到一些问题
- ansible - 如何替换ansible中的特殊字符
- sql-server - JPA + SQL:在 setMaxResults 中使用百分比查询
- python - Python在文件中查找连字符数字的范围
- python - 多特征因果 CNN - Keras 实现
- android - Android手动选择布局文件夹
- svg - 来自 PNG 的 SVG 图标
- snakemake - 总是报告错误:'str' 对象在我的 RNA-seq 工作流程的 snakemake 中不可调用