Vim退格不工作

时间:2012-07-26 16:43:33

标签: vim

  

可能重复:
  vim backspace leaves ^?

我的Vim Backspace 无效。当我按下它时,会打印出^?。我找到了一些关于如何修复它的其他建议,例如将set backspace=indent,eol,start添加到.vimrc。但这似乎不正常。有没有人对如何解决这个问题有任何其他想法?

谢谢!

2 个答案:

答案 0 :(得分:8)

perreal的回答告诉您如何更改Linux控制台以匹配vim的当前设置,但您也可以选择更改vim的设置以匹配Linux控制台。相关选项为t_kbt_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