vim退格离开^?

前端之家收集整理的这篇文章主要介绍了vim退格离开^?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Vim中,当我在插入模式下按下退格键时,它留下^?字符,并且不删除假设要删除的字符。

我在我的.vimrc中有以下

Syntax on
set number
set expandtab
set incsearch
set nocompatible
set backspace=indent,eol,start
fixdel

这也发生在命令模式。当我错误地键入W而不是w保存,我按退格键,它给我以下:

:W^?

任何想法什么是错的,如何解决它?

更新:在发布此问题到SO,我做了一个基本的google搜索,并尝试所有的建议,从搜索结果的第一页,但不成功。

@strcat我使用vim版本7.0.237,KDE控制台1.6.4,Linux 2.6.18 x86_64机器。

@graywh w.r.t cat -v,删除,我得到^ [[3〜和退格,我得到^?

stty -a的输出如下

speed 38400 baud; rows 38; columns 194; line = 0;
intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O;
min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts -cdtrdsr
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -ixon -ixoff -iuclc -ixany -imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke
^?是删除字符;退格字符为^ H。只有其中一个被您的终端识别为“擦除”,这由终端设置stty确定。 (bash和其他shell理解这是一个问题,做特殊的事情来识别两者)

如果你的终端模拟器(ssh,putty,xterm,任何)不同意你的终端设置,那么你会看到这种行为。通常它是正确的默认情况下,但很多时候人们会把stty命令在他们的.bashrc打破的东西。

你可能有一些像stty擦除^ H在你的bashrc。如果你这样做,摆脱它,或更改您的终端设置有退格发送^ H而不是DEL(^?)

你也可以通过vim映射来解决这个问题,但这是忽略了基本的问题。

原文链接:https://www.f2er.com/bash/390218.html

猜你在找的Bash相关文章