vim 백스페이스 키가 제대로 작동하지 않습니다

vim 백스페이스 키가 제대로 작동하지 않습니다

요점은 및 in이 Backspace예상대로 작동하지 않는다는 것입니다. 키 역할을 하고 삭제 키가 문자를 삭제하는 것인데 대신 뭔가 이상한 일이 벌어지고 있습니다. 그러나 지금은 일의 열쇠를 얻기 위해 애쓰고 있습니다.vimviDeleteBackspace

Google에서 unix.se를 검색하여 몇 가지 해결책을 시도했지만 아무 도움이 되지 않았습니다. 추가해 보았습니다

:map~ ^? ^H

보관소 .exrc. 또한 다음 기능을 추가해 보았습니다.이 링크, 나중에 주어진 올바른 키 시퀀스를 매핑했지만 그것조차도 문제를 해결하는 데 도움이 되지 않았습니다.

func Backspace()
  if col('.') == 1
    if line('.')  != 1
      return  "\<ESC>kA\<Del>"
    else
      return ""
    endif
  else
    return "\<Left>\<Del>"
  endif
endfunc

vim세부 사항

VIM - Vi IMproved 7.0 (2006 May 7, compiled Jun 12 2009 07:09:20)

기계

$ cat /etc/*release
Red Hat Enterprise Linux Server release 5.5 (Tikanga)

노트:

  1. 저는 퍼티 연결 관리자를 사용하여 원격 UNIX 시스템에 연결하고 있습니다.
  2. Shift+는 왼쪽에 있는 문자를 삭제하는 Backspace일반 키와 동일한 기능을 수행합니다 .Backspace

답변1

백스페이스 모드를 설정해 보셨나요? :help bs다음을 확인 하고 시도해 보세요.

set bs=indent,eol,start

:fixdel해당 도움말 섹션에는 "<BS> 또는 <Del> 키가 원하는 대로 작동하지 않는 경우" 사용에 대한 참고 사항도 있습니다 .

"호환되지 않음"(WRT를 vi로)으로 설정해야 할 수도 있습니다 :set nocp.

답변2

PuTTY에 대한 Gert의 의견 외에도 세 번째 기사는이 스레드PuTTY 설정에 대한 추가 참고사항:

터미널->키보드 섹션 아래에 "발신자 순서 변경:"이라고 표시된 블록이 있습니다. 첫 번째 블록은 백스페이스 키입니다. Control-H 또는 Control-?여야 합니다. 현재 설정과 반대로 변경하면 제대로 작동합니다.

답변3

골디락스 답변도움이 되었습니다. 그가 보여준 대로 구성을 설정한 후 아래 단계에 따라 문제를 해결했습니다.

xterm을 TERM다음으로 설정하세요.

$ TERM=xterm; export TERM

.bashrc그런 다음 파일 에 다음 내용을 추가합니다 .

stty erase ^H

관련 정보