esc 키가 작동하지 않을 때 ESC 신호를 vim으로 보내는 방법은 무엇입니까?


답변:


7

기존 솔루션에도 불구하고 Vim 의 기존 솔루션은 .vimrc구성 에서 키를 다시 매핑하는 것 입니다. 실제로 많은 Vim 사용자는보다 쉽게 ​​접근 할 수있는 키를 다시 매핑합니다 Esc. 인기있는 선택 사항은 Ctrl+ Enter, 또는 jj

이를 활성화하려면 다음과 같은 것을 넣고 .vimrc다시로드 / Vim을 다시 시작하십시오.

" Shift-Enter
inoremap <S-CR> <Esc>
" Double-j
inoremap jj <Esc>

추가 정보 및 대안


1
Eyup, 그것이 Vim 방식입니다. 또 다른 일반적인 방법에 의해 추진 알아 빔 하드 방법 (책)이다inoremap jk <Esc>
grochmal

이것은 좋은 해결책이지만 Ctrl + Enter + j 만 사용하는 문제는 무엇입니까?
Sandra Ross

@SandraRoss 정말 멋진 키 조합을 사용할 수 있습니다 (예 : Ctrl-Enter와 같은 일부는 macOS에서는 작동하지 않습니다). 즉, Ctrl + Enter + j는 입력하기가 더 어려워서 Vim에서 두 개의 비 수정 키 (Enter, j)로 3 키 조합을 구성 할 수도 있는지 솔직히 알 수 없습니다.
Konrad Rudolph

알았어. 사실, 나는 macos X를 사용하기 때문에 Ctrl + Enter + jj가 작동하지 않습니다. 적어도 Ctrl + j를 위해 입력 해야하는 것을 말해 줄 수 있습니까?
Sandra Ross

@SandraRoss 그 때문에 inoremap <C-j> <Esc>작동합니다. :-)
Konrad Rudolph

32

Ctrl- [실제 Esc키 와 동일한 문자를 터미널에 보냅니다 . 후자는 일반적으로 전자에 대한 지름길입니다.


3
한때 실제 vt220 터미널이 있었고 키보드에는 Escape키 가 없습니다 . 를 누르는 Ctrl+[것이 유일한 방법 이었습니다 Escape.
Kusalananda

11

Vim 매핑없이 순수한 * nix 솔루션으로 단일 키를 사용하려면 다른 키를로 정의 할 수 Esc있습니다. Emacs 사용자 CapsLockCtrl일부 Vim 사용자 (포함)에 다시 매핑 CapsLock하는 것처럼에 다시 매핑 됩니다 Esc. 이것은 X11을 사용하는 모든 * nix에서 작동합니다.

키를 입력하려면 키 를 사용하십시오 xev -event keyboard(그리고 CapsLock키를 CapsLock누르십시오). 그런 다음 xmodmap키를 다시 매핑하는 데 사용할 수 있습니다 .

xmodmap -e 'remove Lock = Caps_Lock' -e 'keycode 66 = Escape'

로그인시이를 얻으려면 다음과 같이 xmodmap표현식을 추가 할 수 있습니다 ~/.Xmodmap.

remove Lock = Caps_Lock
keycode 66 = Escape

두 번째 부분 인 YMMV의 경우 모든 디스플레이 관리자가 실행되지 않기 때문 ~/.Xmodmap입니다. 당신은 추가해야 할 수 있습니다 xmodmap .Xmodmap.xinitrc그들 중 일부에.


무슨 말인지 정확히 알아 나는 이번 주 초에 이것을 보았습니다
Sandra Ross

그렇게 할 것이지만 CapsLock을 작성 키로 사용합니다 (:
DopeGhoti

6

Ctrl-C를 사용해보십시오. 저는 저에게 효과적이며 ESC보다 쉽습니다. 그러나 기본적으로 활성화되어 있는지 확실하지 않습니다.


CTRL-C는 ASCII 0x03이며 SIGINT를 쉘로 보냅니다. ESC와 다릅니다.
cat

@cat vim에서도 기본적으로 동일하게 작동합니다. 저는 항상 Esc 대신 Ctrl-C를 사용하고 있습니다
Erik W

1
@cat : vim은 그 핸들러를 가지고 있기 때문에 무료로 얻을 수 있습니다. 당신은 아무것도 할 필요가 없습니다. 이 답변은 기본적으로 작동합니다. 방금 시도했습니다. 모든 응용 프로그램 에서 일반적으로 작동합니까 ? 아니요, 그러나 그것은 요구 된 것이 아닙니다.
Monica와 가벼운 가벼움

2
@cat : 정말요? 제목은 "내 esc 키가 작동하지 않을 때 ESC 신호를 vim으로 보내는 방법"입니다. , 유일한 태그는 vim 이며 질문에 설명 된 문제는 Vim의 삽입 모드를 탈출하는 것입니다. 다음은 질문의 요약 부분입니다 . "삽입 모드를 해제하는 데 사용되는 다른 키가 있습니까?" 그것이 Vim과 그 삽입 모드에만 국한되지 않는다면, 나는 무엇인지 모릅니다!
Monica와 가벼운 가벼움

1
@LightnessRacesinOrbit 글쎄, 처음에 제목을 보았을 때 제목은 "Esc에 사용 된 다른 키"였으며 질문은 전혀 구체적이지 않았습니다 vim. 죄송합니다! ¯_ (ツ) _ / ¯
cat

-3

Ctrl + F2

기본적으로 활성화되어 있습니다. 설정을 구성 할 필요가 없습니다.

할 수있는 일반 모드로 이동합니다 :q! or :wq.


3
Ctrl+F2탈출을 보낼 수도 있지만 다른 것들도 보낼 것입니다.
Kusalananda
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.