XTerm에서 백스페이스 코드 바꾸기
XTerm에서 윈도로 SSH를 하면 백스페이스가 한 글자가 아니라 한 단어를 지워 버린다. 왜 그런지 이 글이 잘 설명해 주고 해결책을 제시한다. 다음 설정을 ~/.Xresources
에 추가하고 xrdb -merge ~/.Xresources
를 실행하면 된다.
XTerm*ttyModes: erase ^? XTerm*VT100.Translations: \ #override <Key>BackSpace: string(0x7f) \n\ <Key>Delete: string(0x1b) string("[3~")
이렇게 바꾸고 나면 Vim에서 백스페이스를 누를 때 ^?
만 출력된다. :h fixdel
에서 설명하는 다음의 설정을 ~/.vimrc
에 추가하면 된다.
if &term =~ 'xterm'
autocmd VimEnter * call timer_start(10, { -> execute('set t_kb=^? | fixdel') })
endif
Help에 있는 그대로 다음과 같이 입력하면 백스페이스 문제가 고쳐지지 않았다. ChatGPT에 따르면 Vim이 터미널과 연결될 때 termcap/terminfo를 다시 읽기 때문이라고 한다.
if &term =~ 'xterm'
set t_kb=^?
fixdel
endif