iTerm2 Vim Alt + 오른쪽 / 왼쪽 화살표


13

리눅스 사용자로서, 나는 매우 정력 / 나노 사용하여 단어 단어에서 이동하는 데 사용하고 ALT+를 left하거나 right.

이것은 iTerm을 사용하여 제대로 작동하지 않는 것 같습니다. zsh를 사용하고 있으며 추가를 시도했습니다.

bindkey -e
bindkey '^[[1;9C' forward-word
bindkey '^[[1;9D' backward-word

작동하지만 zsh 내에서만 해당 줄을 주석 처리하고 iTerm에서 키보드 단축키를 추가했습니다.

여기에 이미지 설명을 입력하십시오

그것은 작동하지만 ALTleft

오른쪽 화살표에서도 작동하도록하려면 어떻게해야합니까?

답변:


10

iTerm의 속성에서 프로파일-> 키로 이동하여 설정하십시오.

  • 대한 ⌥→보내기 이스케이프 시퀀스[1;5C
  • 대한 ⌥←보내기 이스케이프 시퀀스[1;5D

여기에 이미지 설명을 입력하십시오


그것은 나를 위해 작동하지 않습니다. 이스케이프 시퀀스가 ​​전송되지만 vim은 한 칸만 앞뒤로 이동합니다. OS X 10.8과 함께 제공되는 기본 vim 7.3을 실행합니다. 이상적으로는 터미널 에뮬레이터의 기본값을 변경하지 않고 vim 측에서 변경하고 싶습니다 (휴대 성이 향상되기 때문에).
slhck

이상하게도 vim (기본은 아니고 homebrew에서)과 oh-my-zsh (~ / .oh-my-zsh / lib / key-bindings.sh)의 기본 구성으로 zsh에서 작동합니다.
eiennohito

여기서도 작동하지 않습니다. zsh 내부에서 alt + 화살표를 사용할 수 있습니다. Vim에서는 shift + 화살표에서만 작동합니다. (
seds

사용 가능한 원격 시스템 (우분투 13.04, 안정적인 데비안 및 과학 리눅스)에서 한 번 더 확인했으며 모든 곳에서 작동합니다. Control + V, ⌥ →를 누르면 출력은 무엇입니까? 나를 위해 그것은 ^ [[1; 5C
eiennohito

나를 위해 작품 :하여 ITerm / 바이올렛 + zsh을
석유 Semeniuk

7

터미널이 vim으로 전송하는 키 코드를보고 시작하십시오.

$ sed -n l
^[[1;9D 

위의 예에서 sed 명령을 실행하고을 누릅니다 Alt + Left.

^[[1;9D그래서 우리가 할 수있는, 사용자 정력로 전송되는 이스케이프 순서입니다 우리의 매핑.

vimrc에 추가 :

map <Esc>[1;9D :tabn<CR>

고마워, 그것은 나를 위해 일했다.
j5shi


0

그 대답 중 어느 것도 나를 위해 일하지 않았습니다. 나는 리눅스 VM을로드하고 내가 얻을 수있는 것을 확인했다 <Alt-ARROW>.

나를 위해 일한 4 개의 이스케이프 시퀀스는 다음과 같습니다.

  • <Alt+Up>: [1;3A
  • <Alt+Down>: [1;3B
  • <Alt+Right>: [1;3C
  • <Alt+Left>: [1;3D

기본 키가 아닌 기본 키가 아닌 프로필 키를 편집하도록주의하십시오 (Alt + 화살표는 기본적으로 vim에서 작동하지 않는 16 진 시퀀스로 설정 됨).


-1

다른 가능한 해결책 인 vim은 자체적으로 단어 모션을 제공합니다.

:help word-motions

2
여기에 참조를 넣는 대신 필수 정보를 포함시켜야합니다.
pabouk
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.