Vim은 삽입 모드에서 멈춤


52

웹 호스트를 통해 몇 달 동안 Vim을 사용하고 있습니다 (퍼티 액세스 허용). 갑자기 escape키가 응답하지 않게되었습니다. 단순히 탈출을 쳐서 삽입이나 다른 모드를 사용할 수 없습니다. 나는 명중에이 F1명령 모드로 정력과 차기 날의 도움말을 제공합니다.

Esc 키를 사용하는 모든 Windows 바로 가기가 정상적으로 작동하기 때문에 키보드의 Esc 키가 제대로 작동하고 있다고 확신합니다.

나는 이것이 우스운 질문이라는 것을 알고 있으며 해결책에 관해 더 많이 조사해야한다고 확신합니다. 내가 정말로 필요한 것은 어디서부터 시작해야하는지에 대한 확실한 리드입니다.

도움이 될 것 :

  1. 퍼티를 통해 vim을 사용하고 있습니다.
  2. jailshell을 사용하여 로그인하고 있습니다
  3. 나는 뿌리가 아니야

터미널 설정은 무엇입니까? 즉, TERM 환경 변수는 정확히 (원격 셸에서) 무엇으로 설정되어 있습니까?
quack quixote

$ TERM은 'xterm'으로 설정
Levi Hackwith

합니까의 Ctrl-[작업? 당신이 누른 Ctrl-v다음 탈출 하면 무엇을 얻을 수 있습니까? 로 표시되어야합니다 ^[.
Dennis Williamson

Ctrl- [이 효과가있었습니다. 바위에! 이것은 나에게 많은 좌절을 저장합니다. esc더 이상 작동하지 않는 이유를 설명 할 기회 가 있습니까? 또한 귀하의 의견을 답변으로 게시하여 수락하십시오.
Levi Hackwith

이 글을 읽을 때 처음으로 생각한 것 : "아, 그는 '나를 도대체 여기로 데려 가라'버튼을 깨뜨렸다"
Daniel

답변:


16

Ctrl-[대신에 사용해보십시오 Esc.

결과는 무엇입니까?

python -c "print ord(raw_input('char '))"

당신은 누를 때 EscEnter? "27"이어야합니다. Ctrl-V그런 다음 을 누른 결과는 무엇입니까 Esc?

PuTTY의 모든 설정이 적절한 지 확인 했습니까?

원격 시스템에서 Bash를 사용하고 있습니까? 의 출력을 봐

bind -p | grep -i '\\e' | less

특이한 것이 있는지 확인하십시오. 라는 파일이 ~/.inputrc있습니까? 내용물을보고 이상이 없는지 확인하십시오.

당신을 ~/.vimrc보고 모든 것이 잘되는지 보십시오 .


CTRL-C뿐만 아니라 삽입 모드를 종료해야합니다 (이 '['일부 키보드에 얻을 언젠가 조금 까다 롭습니다)
아키라

1
파이썬 스크립트를 실행했는데 빈 문자열로 돌아 왔습니다. 이 문제를 어떻게 해결합니까? 퍼티를 사용하고 있습니다.
Keith

@ Keith : 다른 진단 제안을 시도 했습니까?
Dennis Williamson

ctrl + [는 어떤 이유로 든 나를 위해 일했습니다. 내 vim이 붙어 있기 위해 무엇을했는지 전혀 몰랐습니다.
Derek Adair

145

실수로 Ctrl+를 치고 s삽입 모드에서 멈췄습니다. 그것을 벗어나려면 Ctrl+를 사용하십시오 q.


7
그것은 삽입 모드가 아닙니다 XOFF. 이를 수행하여 소프트웨어 흐름 제어를 비활성화 할 수 있습니다 stty -ixon(에 추가 ~/.bashrc). 그런 다음 해당 키 입력을 다른 것에 바인딩 할 수 있습니다. 기본적으로 Bash에서는 forward-search-history(Ctrl-r의 반대)에 바인딩되어 있습니다. Ctrl-q (Bash quoted-insert)도 사용할 수 있습니다.
Dennis Williamson

@DennisWilliamson .bash_profile더 좋은 곳이 아닐까요? 비 대화식 쉘에서 끌 필요가 없습니까?
Piotr Dobrogost

1
@PiotrDobrogost : "로그인 쉘이 아닌 대화식 쉘이 시작되면 Bash는 해당 파일이 존재하는 경우 ~ / .bashrc에서 명령을 읽고 실행합니다." .bash_profileBash가 로그인 쉘인 경우에만 실행됩니다. "따라서 ~ / .bash_profile에는 일반적으로 라인이 포함되어 있습니다 if [ -f ~/.bashrc ]; then . ~/.bashrc; fi"
Dennis Williamson

2
감사! 그것이 내가 한 일입니다. 프로그램에 관계없이 다른 사람들이 습관적으로 저축하기를 좋아합니다. :-)
NullVoxPopuli

4
나를 두 번 구했다.
Elazar

4

삽입 모드를 사용하고있을 수 있습니다 .

'insertmode' 'im' 'noinsertmode' 'noim'boolean
(기본값 off)
삽입 모드가 기본 모드 인 방식으로 Vim을 작동시킵니다. Vim을 모덜리스 편집기로 사용하려는 경우에 유용합니다. | evim |에 사용됩니다.
[...]
- CTRL-O하나의 일반 모드 명령 | i_CTRL-O |를 실행하는 데 사용 합니다. 이것이 맵핑 인 경우 'insertmode'가 해제 된 것처럼 실행됩니다. 일반 모드는 매핑이 완료 될 때까지 활성 상태로 유지됩니다. -을 사용 CTRL-L하여 여러 가지 일반 모드 명령을 실행 한 다음을 사용 Esc하여 삽입 모드로 돌아갑니다. 참고 CTRL-L'insertmode'가 설정되지 않은 경우하는 것처럼 이동 커서를 왼쪽. | i_CTRL-L |

~/.vimrc다음 줄을 추가하도록 편집 하는 것이 좋습니다 .

set noinsertmode         "disable insert mode

1
필자의 경우 명령 줄에서 실수로`-y`를 사용했기 때문에 삽입 모드에서 멈췄다. 수동에서 언급 한 것처럼 : -y 실행 파일이 "evim"또는 "eview"라고하는 것처럼 쉬운 모드에서 Vim을 시작하십시오. Vim이 클릭 앤 타입 편집기처럼 동작하도록합니다. 이 "간단 모드"를 종료하려면 + SandRock이 말한대로 <kbd> CTRL </ kbd> + <kbd> l </ kbd> (L 소문자)를 사용하십시오
ton

0

이 문제가 발생했지만 실수로 SCIM 입력 모드를 "기타-RAW 코드"로 변경 한 것임을 깨달았습니다. 나는 그것을 영어 / 키보드로 다시 바꾸었고 더 이상 문제가 없었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.