iterm2에서 vim을 열었습니다. 먼저 다음과 같은 삽입 모드로 뭔가를 입력했습니다.
Hello
이 단계에서 삽입 모드를 종료하지 않으면 delete
키 입력이 작동하고 원할 경우 전체 단어를 삭제할 수 있습니다.
삽입 모드를 종료하고 다시 삽입 모드를 열면 키를 Hello
통해 delete
삭제할 수 없습니다. 단, 새로 입력한 내용은 삭제될 수 있습니다.
.vimrc의 이름을 바꿨는데 문제가 여전히 존재합니다.
쉘 명령줄에서 내 delete
키가 제대로 작동합니다.
원격 서버에서 일부 테스트를 수행했지만 iterm
동일한 문제가 발생하지 않았습니다.
이 문제의 원인은 무엇입니까? 어떻게 고치나요?
추신: 저는 맥북을 사용하고 있기 때문에 delete
키는 backspace
PC에 해당합니다.
답변1
이것을 .vimrc에 넣으세요:
set backspace=indent,eol,start
답변2
체크키맵 iTerm
( Preferences -> Profiles -> Keys
). 기본 자연 텍스트 편집 사전 설정을 사용하고 있으며 전달 중입니다.이 답변, 삭제와 관련된 키맵을 제거하면 문제가 해결되었습니다.
답변3
이는 셸 또는 에서 작동합니다 vim
. 삽입 모드의 백스페이스는 일반적인 구성 가능한 동작이므로 이는 간단한 구성입니다 vim
. 구체적으로 말하면 vim
설정 입니다 backspace
. 한 시스템에서는 빈 문자열로 설정하고 다른 시스템에서는 값을 포함하도록 설정합니다 start
. 이는 전역 구성 파일에 있을 수 있습니다.
vim
호환 모드에서 실행하는 경우 vi
기본 backspace
변수는 빈 문자열입니다. 당신이 불평하는 행동은 실제로 원본의 행동입니다 vi
. Linux 운영 체제는 BSD vim
와 동일한 옵션을 설정하는 다양한 옵션으로 전역 구성 파일을 채우는 경향이 있습니다.vi
추가 읽기
- 아놀드 로빈스, 엘버트 한나, 린다 램(2008). "쉬운 편집". vi와 Vim 편집기 배우기. 오라일리 미디어, Inc. ISBN 9781449313258. 14.
:help backspace
. vim 문서.- 버그 #19903. 1998. 데비안 BTS.
답변4
나는 이것이 OSX가 기본적으로 설치하는 vim 버전 때문일 수 있다고 생각합니다. 언제든지 homebrew를 통해 vim을 설치하고 교체가 도움이 되는지 확인할 수 있습니다. 이 페이지가 OSX 터미널 경험을 개선하는 데 도움이 되었다고 생각합니다. https://www.topbug.net/blog/2013/04/14/install-and-use-gnu-command-line-tools-in-mac-os-x/
"brew install vim --override-system-vi" 줄을 기록해 두세요.