可能重复:
vim 退格离开 ^?
我的 VimBackspace工作不正常。当我按下它时,它会打印出来^?
。我发现了一些关于如何修复它的其他建议,例如添加set backspace=indent,eol,start
到 .vimrc。但这似乎无法正常工作。有没有人对如何解决这个问题有任何其他想法?
谢谢!
可能重复:
vim 退格离开 ^?
我的 VimBackspace工作不正常。当我按下它时,它会打印出来^?
。我发现了一些关于如何修复它的其他建议,例如添加set backspace=indent,eol,start
到 .vimrc。但这似乎无法正常工作。有没有人对如何解决这个问题有任何其他想法?
谢谢!
perreal 的回答告诉您如何更改 Linux 控制台以匹配 vim 的当前设置,但您也可以选择更改 vim 的设置以匹配 Linux 控制台。相关的选项是t_kb
和t_kD
告诉 vim 当你分别按下 Backspace 和 Delete 键时终端会生成什么字符。首先查询当前设置,以便查看它们的设置:
:set t_kb? t_kD?
然后像这样改变它们:
:set t_kb=XXX t_kD=XXX
代替 XXX,您应该键入Ctrl-V后跟Backspace第一个,然后Ctrl-V后跟Del第二个。
您可能会问另一个问题,关于为什么一开始没有正确检测到这些设置。如果您有兴趣对此进行调查,我们需要查看您的$TERM
变量和相应的 terminfo 数据库条目,您可以通过以下方式获得:
echo $TERM
infocmp | egrep 'kdch1|kbs'
来自 vim-docs :help fixdel
关于 Linux 的注意事项:默认情况下,退格键产生 CTRL-?,这是错误的。您可以通过将此行放入 rc.local 中来修复它:
echo "keycode 14 = BackSpace" | loadkeys