답변:
https://coderwall.com/p/h6yfda 에서 해결책을 찾았습니다 . 링크가 다운되는 경우 가장 중요한 부분을 복사합니다.
당신은 키워드를 찾고 있습니다 backward-word
와 forward-word
. 따라서 키 바인딩이 작동하지 않는 쉘에 bindkey -L | grep backward-word
있으면 구성되어 있는지 확인하십시오. zshzle (1) 에 이에 대한 자세한 정보가 있습니다 .
다음과 같이 입력하여 키 바인딩을 수동으로 설정할 수 있습니다.
바인드 키 ' Ctrl+ v Alt+ Right'정방향 단어
바인드 키 ' Ctrl+ v Alt+ Left'하위 단어
키 바인딩에도 문제가 있었으며 거의 항상 Option / Alt 키가 예상되는 Meta / Escape와 다른 것을 보냈습니다.
emacs-forward-word
및 을 사용할 수도 있습니다 emacs-backward-word
. 차이점은 단어의 시작 부분에서 항상 점프하지 않고 단어의 끝으로 이동하고 단어의 시작 부분으로 이동하는 것입니다.
iTerm에 대해 말할 수는 없지만 Fedora 19의 GNOME Terminal에서 Oh-my-zsh와 함께 ZSH 5.0.7을 실행하여이 문제를 해결하는 데 사용한 키 바인딩입니다.
bindkey "\e[1;3C" forward-word
bindkey "\e[1;3D" backward-word
여기서 \e
== 이스케이프 키 순서 ( 섹션 4.1.1에 설명되어 있음 )
경우에 따라 [
== O
(대문자 O; 섹션 4.2.1에 문서화 됨 ). 아래의 예를 들어 tmux
이 대체 그러나없이, 나에게 필요 tmux
가없는 대체가 이루어지지 할 필요가있다 [
==[
시퀀스의 키 코드 cat
는 원하는 시퀀스를 사용 하고 눌러서 얻을 수 있습니다 . 예를 들어, 프레스 결과는 <Alt+Right>
다음과 같이 해석되어야합니다.
$ cat
^[[1;3C
^[
== \e
== 이스케이프 키 순서
[
== [
없이 tmux
OR
[
== O
(대문자 o)tmux
1;3
== 나는 이것에 대해 확실하지 않지만 논리적으로 의미해야합니다. <Alt>
C
== 오른쪽 화살표 키
그런 다음이 시퀀스는 첫 번째 인수로 지속성 bindkey
을 위해 ~/.zshrc
파일에 제공되며 바인딩됩니다 . 즉, 인수 1의 키 입력 은 첫 번째의 위젯에 대해 특정 편집기 명령 (또는 zsh 용어로 위젯)을 실행합니다. 위 예제의 줄은입니다 forward-word
.
는 ~/.zshrc
이 두 명령은로 추가 한 후 다시 공급해야한다 :
$ source ~/.zshrc
이제 내 시스템에서 한 가지 성가신 점은이 특정 조합으로 인해 명령이 실행될 때마다 터미널 에뮬레이터에서 경고음을 냈다는 것입니다.
'Edit'->'Profile Preferences'->'Terminal Bell'
확인란.
iTerm2의 명령 줄 탐색을보다 직관적으로 만드는 것과 관련하여 나에게 가장 효과적인 것은 (명령 줄에서 자라지 않았지만 텍스트 편집기 및 IDE에서 많은 시간을 보냈습니다) 에:
Natural Text Editing
사전 설정 드롭 다운에서 옵션을 선택하십시오 .모든 옵션을 개별적으로 수정하지 않고도 편집기의 키를보다 표준적인 배열로 기본 설정합니다.
FOO=BAR
zsh에 한 단어이고 bash에 두 단어입니다. 마찬가지로 커서를 끝으로 설정foo --bar
하고 alt + backspace를 수행하면 bash에foo --
있고 zsh에는foo
. Zsh는 bash에 많은 기능을 추가하지만 무시할 수있는 많은 기본 설정이 있습니다.