키보드 단축키를 사용하여 명령 행의 현재 텍스트를 통해 한 단어를 앞뒤로 이동하도록 iTerm 2를 구성 할 수 있습니까?
키보드 단축키를 사용하여 명령 행의 현재 텍스트를 통해 한 단어를 앞뒤로 이동하도록 iTerm 2를 구성 할 수 있습니까?
답변:
Ctrl-[ b
단어를 뒤로 이동합니다. 당신은 또한 사용할 수있는 Esc
대신에 또는 Ctrl-[
, 그리고 f
앞으로 이동합니다.
즉, Ctrl
+ [
해제 후 b
또는 f
입니다. 또는 Esc
및 b
나 f
.
AskDifferent에 대한이 다른 토론 에서 자세한 정보를 찾을 수 있습니다 .
대포로 비행 죽이기 :
그런 다음 사용 거꾸로 단어를 이동할 수 있습니다 Option ⌥+ ←및 사용하여 단어를 전달 Option ⌥+를 →사용하여 줄의 처음으로 이동 fn+를 ←하고있는 라인의 끝에 fn+ →. 또한 거꾸로 사용하여 단어를 삭제할 수 있습니다 Option ⌥+를 ⌫사용하여 전체 줄을 삭제 Command ⌘+를 ⌫.
사전 설정이 나타나지 않으면 iTerm2를 다시 설치하십시오. Homebrew + Cask를 사용하여 설치 한 경우 :
brew cask reinstall iterm2
다음 설정이 마음에 듭니다.
한 단어 앞으로 이동
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의 답변 에서이 답변을 복사하여 추가했습니다. 의견에 추가 정보를 추가하거나 해당 답변에 대한 수정 제안 사항을 추가해야합니다. 개선 방법을 모르겠습니다. 상황이지만 지금은 알려져 있습니다.)
이것은 적어도 bash에서 작동합니다. zsh의 경우 다른 방법 으로 탐색 할 수 있습니다.
다른 답변과 비슷하지만 Zsh의 경우 이것을 찾는 데 시간이 걸렸습니다.
iTerm에서 Oh My Zsh와 같은 Zsh를 사용하는 경우 환경 설정> 프로파일 > 키 하위 메뉴로 이동하십시오.
클릭 + 부호
바로 가기 콤보를 추가하고 "이스케이프 시퀀스 보내기"를 선택하십시오.
아래 왼쪽과 오른쪽에 대한 입력.
왼쪽:
[1;5D
권리:
[1;5C
set -o vi
일반적인 vi 모션 명령을 사용할 수 있도록 터미널을 vi 모드로 설정할 수 있습니다 ( .bash_profile
설정을 영구적으로 저장하기 위해 라인 추가 ).
따라서 vi 에서처럼을 Esc
누른 다음 b
한 단어를 뒤로 ( w
앞으로) 이동 0
하거나으로 줄의 시작으로 이동 하거나 F
+를 사용하여 문자를 뒤로 검색 할 수 있습니다.
i
일반 모드로 돌아가서 삽입하려면 누르십시오 .
vi에 익숙한 사람들은 훨씬 더 많은 일을 할 수 있습니다. 치트 시트는 여기에서 찾을 수 있습니다 .
Esc
후 I
바로 라인의 시작에 한 번 가야하는 것보다 약간 덜 편리 Ctrl-a
방금 명령 이름을 수정할 때 사용 사례가 자주 발생합니다 -. 따라서 iTerm2의 일부 키 바인딩 변경과 함께 vi 모드를 사용 Ctrl-A
하여 이스케이프 시퀀스와 매핑 합니다 Esc+0
. 이렇게하면 편집 모드에서 종료 될 때 이러한 경우가 훨씬 빨라집니다.
환경 설정 열기
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
iTerm2 3.1.4에서는 개별 키 매핑을 추가하지 않고 다음을 설정할 수있었습니다.
새로운 터미널 세션으로 다음을 사용할 수 있습니다.
Option ⌥+ f앞으로 나아 가기
Option ⌥+ b앞으로 나아 가기
Option ⌥+ Delete ⌫단어 삭제