iTerm-한 단어를 앞뒤로 이동


164

키보드 단축키를 사용하여 명령 행의 현재 텍스트를 통해 한 단어를 앞뒤로 이동하도록 iTerm 2를 구성 할 수 있습니까?


14
이것은 실제로 질문에 대답하지는 않지만 관련이 있습니다. 커맨드 라인의 아무 곳이나 옵션 + 클릭하면 커서를 거기로 이동할 수 있습니다.
David Winiecki

정답을 수락하지 위해 Downvoting
파이 -

@ Pi- 왜 당신은 대답이 맞지 않다고 생각합니까? 1. 가장 많은 표를 얻은 사람보다 거의 3 년 전에 나타났습니다. 2. 기본적으로 작동하지 않는 솔루션을 제공합니다.
syntagma

답변:


47

Ctrl-[ b단어를 뒤로 이동합니다. 당신은 또한 사용할 수있는 Esc대신에 또는 Ctrl-[, 그리고 f앞으로 이동합니다.

즉, Ctrl+ [해제 후 b또는 f입니다. 또는 Escbf.

AskDifferent에 대한이 다른 토론 에서 자세한 정보를 찾을 수 있습니다 .


3
각 단어에 대해 일련의 키를 입력하지 않고 버튼을 누른 상태에서 많은 단어를 빠르게 되돌릴 수있는 방법이 있다면 더 좋습니다.
user1717828

"Ctrl- ["는 무엇입니까?
Shihao Xu

"Ctrl- ["을 사용하면 "Ctrl"키와 "["키를 동시에 누르는 것을 의미합니다.
스크

321

대포로 비행 죽이기 :

  • 이동 환경 설정 ... > 프로필 >
  • 보도 로드 프리 세트 ...
  • 자연어 편집 선택

그런 다음 사용 거꾸로 단어를 이동할 수 있습니다 Option ⌥+ 및 사용하여 단어를 전달 Option ⌥+를 사용하여 줄의 처음으로 이동 fn+를 하고있는 라인의 끝에 fn+ . 또한 거꾸로 사용하여 단어를 삭제할 수 있습니다 Option ⌥+를 사용하여 전체 줄을 삭제 Command ⌘+를 .

사전 설정이 나타나지 않으면 iTerm2를 다시 설치하십시오. Homebrew + Cask를 사용하여 설치 한 경우 :

brew cask reinstall iterm2

48
이것이 정답입니다!
guyarad

3
이것은 나를 위해 작동하지 않습니다. 매개 변수 : iTerm2 3.1.2, macOS 10.12.6, 독일어 키보드. 그리고 난 혼자가 아니야 ...
t0r0X

2
이것은 훌륭하고 대부분의 요구를 추가 할 것입니다. 그러나 'CMD + 왼쪽 화살표 / 오른쪽 화살표를 통해 줄의 시작 / 끝으로 이동'을 추가하지 않습니다. 이 작업에 대해서는 stackoverflow.com/questions/6205157/…을
MikeyN0

35
이 대답을 본 후에 제 인생이 바뀌 었습니다. 나는 아내와 이혼했다. 이제 나는 슈퍼 모델과 함께 Lambo에있다.
Dragos Rizescu

12
기본 설정> 프로필 > 키> 기본 설정이 아닌로드 사전 설정> 키> 기본 설정로드
kevin

148

다음 설정이 마음에 듭니다.

  1. 환경 설정> 키 (또는 환경 설정> 프로파일> 키)
  2. 더하기를 클릭하십시오.

한 단어 앞으로 이동

option+right
send escape sequence
f

한 단어 뒤로 이동

option+left
send escape sequence
b

단어의 시작 부분으로 삭제 ( 크레딧 )

option+delete
send hex code
0x1B 0x08

단어 끝까지 삭제

fn+option+delete
send escape sequence
d

(확실하지는 않지만 아래의 jherran의 답변 에서이 답변을 복사하여 추가했습니다. 의견에 추가 정보를 추가하거나 해당 답변에 대한 수정 제안 사항을 추가해야합니다. 개선 방법을 모르겠습니다. 상황이지만 지금은 알려져 있습니다.)


2
MacOS 10.12에서는 16 진수 코드 0x17을 사용하여 단어의 시작 부분을 삭제해야합니다.
midopa

macOS 10.12 및 zsh에서 매력처럼 작동
Sébastien

1
최고의 답변 이제까지 나에게서 맥주를 ​​마신다 :)
무한대

1
저란의 대답을지지하는 것을 고려하십시오. 나는 그들의 답변을 조금 개선했고 아마도 내 자신의 답변을 만드는 대신 편집을 제안했을 것입니다. 나는 그것을 훔친 것 같은 느낌이 든다.
David Winiecki 2012 년

이것을 참조 했다 : Esc-b를하기 위해, 나는 보내야하고 0x1b 0x42, Esc-f를 위해, 나는 보내야했다 0x1b 0x46: D
Meredith

36

앞으로 (Alt-f), 뒤로 (Alt-b) 및 삭제 (Alt-d) 단어를 가져 오려면

  1. iTerm을여십시오.
  2. iTerm> 환경 설정 ...> 프로파일> 키로 이동하십시오.
  3. 프로필 바로 가기 키에서 + 기호를 클릭하십시오.
  4. 키 바로 가기를 입력하십시오 (옵션 -b, 옵션 -f, 옵션 -d, 옵션 왼쪽 등).
  5. 동작으로 이스케이프 시퀀스 전송을 선택하십시오.
  6. 입력 필드에 b, d 또는 f를 쓰십시오.

이것은 적어도 bash에서 작동합니다. zsh의 경우 다른 방법 으로 탐색 할 수 있습니다.


2
환경 설정> 키> 전역 바로 가기 키와 환경 설정> 프로필> 키> 프로필 바로 가기 키에서 키를 구성 할 수 있다는 사실을 알지 못했기 때문에 옵션 + 오른쪽 바로 가기를 추가하려고 시도하고 충돌에 대한 경고 메시지가 표시되었습니다. 기본 프로필에서 구성하면 효과적입니다.
David Winiecki

1
zsh에서도 작동합니다!
Andrii Abramov 2016 년

2
귀하의 답변 (동일한 솔루션에 대한)이 +1을 이해하는 것이 가장 쉽다고 생각합니다.
nzaleski

1
매우 유용한 설명.
Conti

완전한. Command + F 등을 사용하여 "Alt"키가 같은 위치에 있고 PC와 Mac간에 전환 할 때 조정할 필요가 없습니다.
friederbluemle

11

다른 답변과 비슷하지만 Zsh의 경우 이것을 찾는 데 시간이 걸렸습니다.

iTerm에서 Oh My Zsh와 같은 Zsh를 사용하는 경우 환경 설정> 프로파일 > 키 하위 메뉴로 이동하십시오.

클릭 + 부호

바로 가기 콤보를 추가하고 "이스케이프 시퀀스 보내기"를 선택하십시오.

아래 왼쪽과 오른쪽에 대한 입력.

왼쪽:

[1;5D

권리:

[1;5C

1
당신은 내 인생의 동반자를 저장
의 Thibaut 노아

이것은 나를 위해 일한 유일한 솔루션입니다
Bryji

마지막으로 작동하는 간단한 솔루션 : D 우리와 공유해 주셔서 감사합니다!
페리 백

이것이 답이되어야합니다. 공감.
ehime

2

set -o vi일반적인 vi 모션 명령을 사용할 수 있도록 터미널을 vi 모드로 설정할 수 있습니다 ( .bash_profile설정을 영구적으로 저장하기 위해 라인 추가 ).

따라서 vi 에서처럼을 Esc누른 다음 b한 단어를 뒤로 ( w앞으로) 이동 0하거나으로 줄의 시작으로 이동 하거나 F+를 사용하여 문자를 뒤로 검색 할 수 있습니다.

i일반 모드로 돌아가서 삽입하려면 누르십시오 .

vi에 익숙한 사람들은 훨씬 더 많은 일을 할 수 있습니다. 치트 시트는 여기에서 찾을 수 있습니다 .


2
vim은 모든 것을 해결합니다! : D
Breno Salgado 2018 년

EscI바로 라인의 시작에 한 번 가야하는 것보다 약간 덜 편리 Ctrl-a방금 명령 이름을 수정할 때 사용 사례가 자주 발생합니다 -. 따라서 iTerm2의 일부 키 바인딩 변경과 함께 vi 모드를 사용 Ctrl-A하여 이스케이프 시퀀스와 매핑 합니다 Esc+0. 이렇게하면 편집 모드에서 종료 될 때 이러한 경우가 훨씬 빨라집니다.
rfabbri

1

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

환경 설정 열기

Esc +를 보내도록 왼쪽 (및 / 또는) 오른쪽 옵션 키 구성

사전 설정을 지운 경우 기본 사전 설정을로드해야 할 수도 있습니다 (사용자 정의 키바 인을 지울 수 있음에주의하십시오).

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

이 작업을 수행 한 후 이상한 문자가 표시되면 ~ / .inputrc 또는 / etc / inputrc를 구성해야합니다.

~ / .inputrc에 이것을 추가하십시오 :

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

전체 예 inputrc :

# /etc/inputrc - global inputrc for libreadline
# See readline(3readline) and `info rluserman' for more information.

# Be 8 bit clean.
set input-meta on
set output-meta on

# To allow the use of 8bit-characters like the german umlauts, uncomment
# the line below. However this makes the meta key not work as a meta key,
# which is annoying to those which don't need to type in 8-bit characters.

# set convert-meta off

# try to enable the application keypad when it is called.  Some systems
# need this to enable the arrow keys.
# set enable-keypad on

# see /usr/share/doc/bash/inputrc.arrows for other codes of arrow keys

# do not bell on tab-completion
# set bell-style none
# set bell-style visible

# some defaults / modifications for the emacs mode
$if mode=emacs

# allow the use of the Home/End keys
"\e[1~": beginning-of-line
"\e[4~": end-of-line

# allow the use of the Delete/Insert keys
"\e[3~": delete-char
"\e[2~": quoted-insert

# mappings for "page up" and "page down" to step to the beginning/end
# of the history
# "\e[5~": beginning-of-history
# "\e[6~": end-of-history

# alternate mappings for "page up" and "page down" to search the history
# "\e[5~": history-search-backward
# "\e[6~": history-search-forward

# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word

$if term=rxvt
"\e[7~": beginning-of-line
"\e[8~": end-of-line
"\eOc": forward-word
"\eOd": backward-word
$endif

# for non RH/Debian xterm, can't hurt for RH/Debian xterm
# "\eOH": beginning-of-line
# "\eOF": end-of-line

# for freebsd console
# "\e[H": beginning-of-line
# "\e[F": end-of-line

$endif

-1

iTerm2 3.1.4에서는 개별 키 매핑을 추가하지 않고 다음을 설정할 수있었습니다.

  1. 이동 환경 설정> 프로필> 키
  2. 왼쪽 / 오른쪽 ⌥ 키 : Esc +를 선택하십시오.

새로운 터미널 세션으로 다음을 사용할 수 있습니다.

Option ⌥+ f앞으로 나아 가기

Option ⌥+ b앞으로 나아 가기

Option ⌥+ Delete ⌫단어 삭제


2
이것은 다른 고득점 답변과 어떻게 다릅니 까? apple.stackexchange.com/a/293988/237
user151019
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.