VIM은 백스페이스 키 대신 ^를 사용합니까?

VIM은 백스페이스 키 대신 ^를 사용합니까?

VIM에 백스페이스를 입력할 때 마다 편집자는 ^?내가 편집한 내용을 삽입합니다 . 작동하지 않았습니다..vimrcset backspace=indent,eol,startset backspace=2

/etc/X11/...에서 XTerm 파일을 편집해야 한다고 읽었는데 폴더와 파일이 존재하지 않습니다.

이전에 제안한 솔루션을 이미 시도했지만 작동하지 않았기 때문에 이것은 중복이 아닙니다.

답변1

/etc/X11/app-defaults/XTerm편집은 가능하지만 파일이 없다면 다른 터미널을 사용하고 있는 것일 수도 있습니다.

문제는 에서 사용하는 설정이 아니라 vim터미널 설명과 "백스페이스"가 전송하는 터미널의 불일치입니다.

일반적으로 "백스페이스"는 값과 동일합니다 . 예를 들어 stty erase을 사용하여 볼 수 있습니다 .stty -a

~ (101) stty -a
speed 38400 baud; rows 40; columns 80; 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
-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

stty이것이 표시 ^H되고 터미널이 실제로 전송하는 경우 ^?(ASCII DEL 또는 127) vim혼란스러울 수 있습니다 .

vim의 도움말 파일에는 다음과 같이 명시되어 있습니다.

:fixdel

귀하의 경우 .vimrc에는옳은 일을 해라:

: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.   

관련 정보