iTerm2에서 한 단어 뒤로 돌아 가기 위해 control + 왼쪽 화살표를 얻으려면 어떻게해야합니까?


114

나는 리눅스 매뉴얼을 읽고 있었고 Ctrl + left와 control + right를 사용하여 편집하는 동안 터미널에서 단어를 앞뒤로 움직일 수 있다고 말했습니다.

"Esc를 누른 다음 B 또는 F를 누르듯이 Ctrl + 왼쪽 또는 오른쪽 화살표 키를 누르면 한 번에 한 단어 씩 앞뒤로 이동합니다."

OS X control+leftcontrol+right일반적으로 공간을 제어합니다. 나는 그것들을 비활성화했다. 또한 환경 설정 창을 사용하여 키보드 단축키를 설정하려고했습니다.

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

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

그러나 이것은 작동하지 않으며이 오류가 발생합니다.

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

또한 iTerm에 있고 alt+escapeB 또는 F를 사용하면 캐릭터가 앞뒤로 움직입니다. 이것은 구성이 변경되기 전에 발생했습니다. 그러나 컨트롤 + 화살표 키를 사용할 수 있기를 정말로 원합니다.


우연히도이를 달성하기위한보다 교묘 한 방법은 ctrl + left 및 ctrl + right 대신 command + left 및 command + right를 매핑하는 것입니다. 이것을 달성하기 위해 시스템 전체에서 아무것도 비활성화 할 필요가 없었습니다.
닥터 모 호크

답변:


135

세게 때리다

다음을 추가하십시오 ~/.inputrc.

"\e[1;5D": backward-word
"\e[1;5C": forward-word

자세한 내용은 이 보관 된 Wiki 게시물 을 참조하십시오 . alt단어 간 이동에 기본 OS X 동작과 같은 키 를 사용하려면 다음을 사용하십시오 .

"\e[1;9D": backward-word
"\e[1;9C": forward-word

zsh

기본적으로 zsh는 readline라이브러리를 사용하지 않으므로 읽지 않습니다 ~/.inputrc. 동일한 기능을 얻기 위해 다음을 추가 할 수 있습니다. ~/.zshrc다시 alt키를 사용합니다 .

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

내장 zsh 라인 편집기 (zle)에 대한 자세한 내용은 이 설명서 를 참조하십시오 .


왜 이런거야? Xterm 기본값을 사용하도록 프로파일을 설정했습니다.

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

그렇기 때문에이 순서를 "잡아서" readline어떻게해야하는지 알려야 합니다.


위의 방법으로 여전히 작동하지 않고 OS X 10.9 (Mavericks) 또는 그와 관련된 정보를 사용하는 경우 Mission Control 자체가 비활성화되어 있어도 Control + 화살표 키가 iTerm에 도달하지 못하게하는 전역 Mission Control 단축키를 비활성화해야합니다. 시스템 환경 설정 → 키보드 → 바로 가기 → 미션 컨트롤 에서 수행 할 수 있습니다 .

미션 컨트롤 키보드 환경


4
alt + left 및 alt + right 키가 작동하도록 지침을 따르려고합니다. .inputrc 파일에 두 줄을 추가했지만 키를 누를 때 발생하는 유일한 일은 "D"또는 "C"가 셸에 인쇄된다는 것입니다. zsh 쉘과 함께 iTerm2를 사용하고 있습니다. 어떤 아이디어?
Flo

1
라인을 추가하는 시도 @Flo bindkey -e, bindkey '^[[1;9C' forward-word그리고 bindkey '^[[1;9D' backward-word당신 to ~/.zshrc대신. IIRC zsh는 읽지 않을 것입니다 .inputrc– 또는 적어도 이런 식으로 저에게 효과적입니다.
slhck

2
ctrl-left / right + bash로 나를 위해 작동하지 않지만 alt-left / right로 설정하면 정상적으로 작동합니다.
Dalin

3
미션 컨트롤 단축키에 대한 편집 기능이 추가되어 가장 불투명하게 작동하지 않습니다. 잘 만하면 내가 방금했던 것과 똑같은 일을 겪지 못하게 될 것입니다.
rubyruy

12
OSX + zsh + iTerm2 + ctrl-left / right의 경우 다음을 사용하십시오.bindkey -e; bindkey '\e\e[C' forward-word; bindkey '\e\e[D' backward-word
Artur Bodera

45

zsh를위한 작업 솔루션. 간단하고 간단하며 즉시 사용할 수 있습니다.

  1. 이동: ⌘, Preferences → Profiles → Keys → Keyboard Behavior

  2. 사전 설정로드 : Natural Text Editing

사전 설정 "자연 텍스트 편집"로드


@Happy Torturer에게 감사드립니다. 일반적인 Terminal.app에 문제가 없으므로 bash / zsh를 수정하고 싶지 않고 Terminal.app와 같은 모든 것을 작동시키고 싶기 때문에 가장 좋은 대답이라고 생각합니다.
galuszkak

이것, 이것, 이것 이 솔루션에 정말 감사합니다! 나는 내가 얻는 각각의 Mac 에서이 미친 과정을 겪었습니다. 이제이 작업을 수행하는 가장 간단한 방법을 알고 있습니다. 감사합니다!
vernonk

8

나는 이것을 이렇게 고쳤다.

톱 메뉴에서; 이동

Profiles 
-> Open profiles... 
-> Edit profiles... (button) 
-> Keys (tab) 
-> Load Preset... (dropdown) 
->  Choose "Natural text editing". Done! :-)

내가 프리셋에서 모두는 "공장 기본값"입니다
MaylorTaylor

7

다른 접근법을 사용했습니다. BetterTouchTool을 사용하여 iTerm2 용 사용자 정의 키보드 단축키를 프로그래밍했습니다. iTerm2에서 alt-left를 누르면 키보드 단축키 ctrl-left를 "특정 응용 프로그램에 키보드 단축키 보내기"동작으로 보냅니다. 응용 프로그램은 iTerm2입니다. ctrl-right에 alt-right로 매핑 된 것과 동일하게 수행했습니다.

그 결과 iTerm에서 alt- 왼쪽 또는 alt- 오른쪽을 누르면 ctrl- 왼쪽 또는 ctrl- 오른쪽이 iTerm2로 직접 전송되고 데스크탑 전체를 왼쪽 또는 오른쪽으로 이동하는 일반적인 시스템 전체 단축키를 무시합니다. 이와 같이 iTerm2, 로컬 터미널 세션뿐만 아니라 원격 SSH 세션에서도 일반적인 Mac 동작을 얻을 수 있으며 표준 ctrl-left / ctrl-right를 사용하여 다른 데스크탑으로 이동할 수 있습니다. 나는 그것을 여기에 썼다 :

http://www.callum-macdonald.com/2013/04/17/ctrl-left-and-ctrl-right-on-iterm2/


2
BetterTouchTool은 오픈 소스가 아니며 원하지 않는 일을 잘 수행 할 수 있습니다. 그 사람은 그가 학생이라고 말하지만 3 개의 서신 기관이 될 수도 있습니다.
대피

7

사실, 가장 쉬운 해결책은 내 프로파일 설정 (프로파일 / 키에 있음)으로 이동하여 문제가있는 프로파일 바로 가기를 제거합니다 (iTerm에서 전역이 프로파일 무시 됨) 내 경우에는 alt + left 및 alt + right, 그리고 글로벌 바로 가기가 완벽하게 작동했습니다!

또한 OS X를 사용하는 경우 시스템 전체 단축키를 사용하는 것이 가장 좋습니다. 즉,이 목적 대신 alt + left 및 alt + right를 사용하면 터미널에서 다른 동작을 수행하여 결국 통증을 유발할 수 있습니다.

Better Touch Tool을 사용하는 chmac의 솔루션 외에는 iterm에서만 control + arrow의 동작을 변경하는 우아한 방법이었습니다.


실제로 이것이 가장 좋은 솔루션입니다. 우리 대부분이 Keys탭으로 갈 때 혼란 스럽습니다 . 대신 Profiles탭-> 프로필 (예 : 기본값)-> 키로 이동해야합니다.
Paschalis

이것은 가장 안전하고 쉬운 솔루션입니다.
대피

2

이 게시물은 단어를 삭제하기 위해 ⌥ ← 삭제와 같은 다른 단축키를 알려줍니다.

http://elweb.co/making-iterm-2-work-with-normal-mac-osx-keyboard-shortcuts/


이것은 실제로 <ctrl> <left> 사용에 관한 질문에 대답하지 않습니다
DavidPostill

필요에 맞는 바로 가기를 사용하기 만하면됩니다. "<ctrl> <왼쪽>"또는 원하는 것.
Seralto

1
따라서 링크 된 페이지가 변경되면 답변이 무효화 될 수 있으므로 참조 링크에서 답변의 필수 부분을 인용하십시오.
DavidPostill

1

기본적으로 16 진수 값을 출력 하므로 Profiles탭 으로 이동하여 alt+ leftalt+에 대한 매핑을 삭제해야 right합니다.


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