可能重复:
vim backspace leaves ^?
我的Vim Backspace 无效。当我按下它时,会打印出^?
。我找到了一些关于如何修复它的其他建议,例如将set backspace=indent,eol,start
添加到.vimrc。但这似乎不正常。有没有人对如何解决这个问题有任何其他想法?
谢谢!
答案 0 :(得分:8)
perreal的回答告诉您如何更改Linux控制台以匹配vim的当前设置,但您也可以选择更改vim的设置以匹配Linux控制台。相关选项为t_kb
和t_kD
,告诉vim分别按退格键和删除键时终端生成的字符。首先查询当前设置,以便查看它们的设置:
: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'
答案 1 :(得分:3)
来自vim-docs :help fixdel
关于Linux的注意事项:默认情况下,退格键会产生CTRL- ?, 这是错的。您可以通过将此行放入您的行中来解决此问题 rc.local中:
echo "keycode 14 = BackSpace" | loadkeys