vi에서 삽입 모드의 백 스페이스는 문자를 지우지 않습니다.


69

나는 vi를 처음 접했고 실제로 오늘부터 vi를 배우기 시작했으며 백 스페이스 키의 동작에 갇혀 있습니다.

실제로 Ubuntu 12.04에서 vi를 처음 시작했을 때 백 스페이스 키가 정상적으로 작동했지만 그 후에는 이상하게 동작하기 시작했습니다. 삽입 모드에서 백 스페이스를 누를 때마다 문자를 지우지 않고 왼쪽으로 한 자리 이동합니다.

기본 백 스페이스 기능을 다시 얻으려면 어떻게해야합니까? vim을 설치하거나 nocompatibilty를 설정하고 싶지 않습니다.

답변:


39

그것은 vi의 올바른 행동이며 문자를 지우지 만 vim과 같이 공백으로 바꾸어 표시하지 않습니다. 지운 문자를 다른 문자로 덮어 쓰거나 명령 모드로 다시 전환하면 분명해집니다.

예를 들어 빈 줄에서 명령 모드로 시작하면 다음과 같은 줄이 포함됩니다 fo.

ifooBackspaceEsc

Esc키 를 누르기 전에 행은 foo로 표시되지만 마지막 o은 "삭제 열"로 태그가 지정됩니다. http://pubs.opengroup.org/onlinepubs/9699919799/utilities/vi.html#tag_20_152_13_88 (주로 해당 제목 아래 4 번 지점을 참조 하고 <Control> -H에 대해 자세히 알아보십시오)


72

가장 간단한 해결책은 다음과 같습니다.
터미널을 열고 홈 디렉토리로 이동하여 다음을 입력하십시오.

vi .vimrc

새로운 파일이 열리면이 줄을 파일에 추가하고 저장하여 종료하십시오.

$ set nocompatible
$ set backspace=2

9
OP는 그들이 사용하고 싶지 않다고 언급했다nocompatibility
kiri

1
유는 단지 두 번째 줄을 addig 그것을 할 수있는 호환성에 대한 필요가 없습니다
Adithya Chakilam

1
두 번째 줄은 첫 번째 줄도 추가하는 경우에만 작동합니다.
djjeck

빈 .vimrc에서 시작하여 iTerm2의 Mac에서 백 스페이스가 작동하지 않는 이유가 궁금했습니다. 고마워요!
Igor Malyk

@ minerz029 추가 아직 페이지 제목에 이러한 자격이 없기 때문에 대부분의 사람들이 여기에 대한 답변입니다.
Muhd

22

로 커서를 움직여 "삽입"모드로 변경해야합니다 i. 문자를 직접 삭제하는 다른 방법이 있습니다. VI 에서 수업을 가르 칠 때 사용하는 파워 포인트를 여기 에서 다운로드 할 수 있습니다 .

"명령"모드에있는 것 같습니다. 커서를 이동하려면
H= 왼쪽, J= 위, K= 아래, L= 오른쪽

커서를 놓으면 다음과 같이 텍스트를 삭제할 수 있습니다 . 커서 아래 의 문자 삭제합니다 . 커서 의 문자 삭제합니다. 커서 에서 다음 단어로 삭제합니다 . 커서가 있는 행을 삭제합니다 .
x
X
dw
dd

텍스트입력 하기 위해 텍스트 입력 모드 중 하나를 사용할 수 있습니다.
a추가합니다에 텍스트 바로 커서가
A추가합니다에 텍스트 끝에 현재 행의는
i받는 텍스트 추가 왼쪽 커서가
I받는 시험 추가 beginin 현재 라인의이
o새로운 라인을 엽니 아래 현재 라인 모드는 텍스트 입력에 당신의 장소
O를 엽니을 새 줄 현재 줄 위에 있으며 텍스트 입력 모드로 전환합니다

텍스트 입력 모드를 종료하고 명령 모드로 돌아가려면을 사용하십시오 Esc.

변경 사항 을 취소 하려면 : (학생이 좋아하는 항목) 입력
u마지막 명령을
U 취소 합니다 . ** 현재 행 **에 대한 모든 변경 사항 을 취소 합니다.

종료 / 저장하려면 다음과 같이 :w기록 (저장) 파일을 오픈 남아
:wq쓰기를 (저장) 파일 및 종료 VI
:q가 종료 (종료)를 더 변경하지 한 경우
:q! 종료 (종료)를 저장하지 않고 변경
ZZ기록 기능은 파일을 (저장) 및 종료 VI를 (와 동일 :wq)


11
OP는 신비한 행동이 삽입 모드에서 발생한다고 언급했다 . 따라서 이것은 묻는 질문에 대한 답변이 아닙니다.
LarsH

실제로 OP는 인서트 모드에서 나타나지 않았습니다 . 질문이 편집되었습니다.
Argusvision

1
승인. 당신은 맞습니다. 내가 가정 한 것 같습니다. VI를 처음 접하는 대부분의 사람들이 모드 전환과 명령 모드에서 탐색 할 때 문제가 발생하는 것은 저의 경험이었습니다. 제 학생들은 종종 사용자 오류 일 때 또는 명령 세트를 파악하지 못할 때 VI가 불평등 한 행동을한다고 불평하고 비난합니다.
Argusvision 12

1
이해할 수 있는. 이것이 비 삽입 모드에 대한 일반적인 반응이라는 데 동의합니다.
LarsH

Argus, "삽입 모드에서"가 편집에서 질문 제목에 추가되었지만 처음부터 질문 본문에있었습니다.
LarsH

13

백 스페이스 및 화살표 키 기능을 사용하려면 전체 vim 패키지를 설치하십시오.

sudo apt-get update
sudo apt-get install vim

예상대로 작동합니다. 최고의 답변
Vicky

이것이 완벽한 해답입니다. 구성 파일을 편집 할 필요가 없으며 vim-runtime패키지를 설치하면 모든 것이 익숙합니다. 감사!
Olli D-Metz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.