我使用 vi,当我处于插入模式时,它将打印^?
而不是实际删除文本。
我提到这个vim 退格离开 ^? 但这并不能解决我的问题。
我在 /u/myname 目录中创建了 .vimrc 文件。
.vimrc 是否需要在某个位置?
在 .vimrc 中,我有
set backspace=2
set backspace=indent,eol,start
.vimrc 文件中需要什么?
我使用 vi,当我处于插入模式时,它将打印^?
而不是实际删除文本。
我提到这个vim 退格离开 ^? 但这并不能解决我的问题。
我在 /u/myname 目录中创建了 .vimrc 文件。
.vimrc 是否需要在某个位置?
在 .vimrc 中,我有
set backspace=2
set backspace=indent,eol,start
.vimrc 文件中需要什么?
尝试以下一些修复。这是来自:fixdel
帮助。
*:fix* *:fixdel*
:fix[del] Set the value of 't_kD':
't_kb' is 't_kD' becomes
CTRL-? CTRL-H
not CTRL-? CTRL-?
(CTRL-? is 0177 octal, 0x7f hex) {not in Vi}
If your delete key terminal code is wrong, but the
code for backspace is alright, you can put this in
your .vimrc:
:fixdel
This works no matter what the actual code for
backspace is.
If the backspace key terminal code is wrong you can
use this:
:if &term == "termname"
: set t_kb=^V<BS>
: fixdel
:endif
Where "^V" is CTRL-V and "<BS>" is the backspace key
(don't type four characters!). Replace "termname"
with your terminal name.
If your <Delete> key sends a strange key sequence (not
CTRL-? or CTRL-H) you cannot use ":fixdel". Then use:
:if &term == "termname"
: set t_kD=^V<Delete>
:endif
Where "^V" is CTRL-V and "<Delete>" is the delete key
(don't type eight characters!). Replace "termname"
with your terminal name.
*Linux-backspace*
Note about Linux: By default the backspace key
produces CTRL-?, which is wrong. You can fix it by
putting this line in your rc.local:
echo "keycode 14 = BackSpace" | loadkeys
*NetBSD-backspace*
Note about NetBSD: If your backspace doesn't produce
the right code, try this:
xmodmap -e "keycode 22 = BackSpace"
If this works, add this in your .Xmodmap file:
keysym 22 = BackSpace
You need to restart for this to take effect.
如果这可行,只需添加fixdel
到您的 vimrc。