Ctrl+ left/ right가 줄의 시작 / 끝으로 점프 함을 알 수 있습니다 . 이것을 Cmd+ left/ right arrow? 로 변경하는 방법
얻기 위하여 Alt+ left/ right arrow워드 점프 제대로 작동하기에 따라 이 문서를 .
Ctrl+ left/ right가 줄의 시작 / 끝으로 점프 함을 알 수 있습니다 . 이것을 Cmd+ left/ right arrow? 로 변경하는 방법
얻기 위하여 Alt+ left/ right arrow워드 점프 제대로 작동하기에 따라 이 문서를 .
답변:
iTerm2에 다음 프로파일 바로 가기 키 추가
FOR ACTION SEND
⌘← "SEND HEX CODE" 0x01
⌘→ "SEND HEX CODE" 0x05
⌥← "SEND ESC SEQ" b
⌥→ "SEND ESC SEQ" f
필요한 사람들을위한 비주얼은 다음과 같습니다.
⌘← "SEND ESC SEQ" OH
Home 및 ⌘→ "SEND ESC SEQ" OF
End에 해당합니다 (이는 대문자 'o'가 0이 아님). 이 시뮬레이트 실제로 가정 및 종료 키를 눌러, 등 bash는 이러한 의지 작업, 정력, 등
iTerm2에서 단어와 줄의 시작 / 끝을 건너 뛰려면 아래 두 가지 솔루션 중 하나 를 선택 하십시오.
위에서 언급 한 "자연 텍스트 편집"사전 설정을 사용하지 않으려면 필요한 키를 수동으로 매핑 할 수 있습니다.
[+]
아이콘을 클릭하십시오커서를 한 단어 왼쪽으로 이동
0x1b 0x62
커서를 한 단어 오른쪽으로 이동
0x1b 0x66
커서를 줄의 시작으로 이동
0x01
커서를 줄의 끝으로 이동
0x05
단어 삭제
0x1b 0x08
줄 삭제
0x15
실행 취소
0x1f
이전 바인딩 을 제거하는 것을 잊지 마십시오 :
Says send Hex Codes: 0x1b 0x1b 0x5b 0x44
. 사람들이 이것을 제거하고 싶지 않은 경우 알아두면 좋을 것입니다.
이미 좋은 답변이 많이 있지만, 쉘뿐만 아니라 가능한 한 기본 OSX 기능에 가장 가까운 것을 제공해야합니다. ZSH, Bash, node, python -i, iex 및 irb / pry 세션에서 작동한다는 것을 확인했습니다 (readline에는 rb-readline gem을 사용하지만 모두 작동해야 함).
열고 사용하여 ITerm 환경 설정 ⌘+ ,와에 탐색 Profiles
탭합니다 ( Keys
탭이 사용되지만, 추가 프로필에 키 바인딩은 당신이 할 수 있도록 할 수 있습니다 프로필을 저장 여러 컴퓨터에 동기화) 및 keys
하위 탭하고 다음을 입력 :
커서 왼쪽의 모든 문자를 삭제
⌘+ ←Delete16 진수 코드 보내기 :
0x15
더 호환되지만 기능은 때로는 커서 왼쪽의 문자가 아닌 전체 행을 삭제하는 것입니다. 나는 개인적으로 이것을 사용^U
하고 커서 왼쪽의 물건 만 삭제 하기 위해 zsh bindkey를 덮어 씁니다 (아래 참조).또는
0x18 0x7f
호환성이 떨어지고 노드에서 작동하지 않으며 기본적으로 zsh에서는 작동하지 않습니다. zsh 를 수정하려면 아래를 참조하십시오 (bash / irb / pry는 양호해야 함) 작동 할 때 원하는 기능을 수행합니다.
커서 오른쪽의 모든 문자를 삭제
⌘+ fn+ ←Delete또는 ⌘+ Delete→16 진수 코드 보내기 :
0x0b
커서 왼쪽에서 한 단어 삭제
⌥+ ←Delete16 진수 코드 보내기 :
0x1b 0x08
엘릭서의 IEX 중단, 다른 곳에서는 잘 작동하는 것 같습니다또는
0x17
모든 곳에서 작동하지만 IRB에서 정상적인 단어 나누기에서 멈추지 않고 리터럴 공간이 보일 때까지 삭제됩니다.
커서 오른쪽에서 한 단어 삭제
⌥+ fn←Delete또는 ⌥+ Delete→16 진수 코드 보내기 :
0x1b 0x64
커서를 줄 앞으로 이동
⌘+ ←16 진수 코드 보내기 :
0x01
줄 끝으로 커서 이동
⌘+ →16 진수 코드 보내기 :
0x05
커서를 한 단어 왼쪽으로 이동
⌥+ ←16 진수 코드 보내기 :
0x1b 0x62
커서를 한 단어 오른쪽으로 이동
⌥+ →16 진수 코드 보내기 :
0x1b 0x66
실행 취소
⌘+ z16 진수 코드 보내기 :
0x1f
Redo는 일반적으로 bash, zsh 또는 readline에 바인딩되지 않으므로 사용하지 않는 16 진수 코드로 설정하여 zsh에서 수정할 수 있습니다
⇧+ ⌘+ Z또는 ⌘+ y16 진수 코드 보내기 :
0x18 0x1f
이제 작동하지 않는 문제를 해결하는 방법
zsh의 경우 다음을 실행하여 아직 작동하지 않는 ⌘+ ←Delete및 ⇧+ ⌘+ Z/ ⌘+ y에 대한 바인딩을 설정할 수 있습니다 .
# changes hex 0x15 to delete everything to the left of the cursor,
# rather than the whole line
$ echo 'bindkey "^U" backward-kill-line' >> ~/.zshrc
# binds hex 0x18 0x7f with deleting everything to the left of the cursor
$ echo 'bindkey "^X\\x7f" backward-kill-line' >> ~/.zshrc
# adds redo
$ echo 'bindkey "^X^_" redo' >> ~/.zshrc
# reload your .zshrc for changes to take effect
$ source ~/.zshrc
bash 또는 readline에 redo를 추가하기위한 솔루션을 찾을 수 없으므로 누군가가 그 중 하나에 대한 솔루션을 알고 있다면 아래에 의견을 말하고 추가하려고 시도합니다.
키 시퀀스를 16 진으로 변환하는 방법에 대한 검색 테이블을 찾는 사람에게는 이 테이블이 매우 유용합니다.
$
앞에서 와 혼동 될 수 있음을 지적하고 싶습니다 echo
(단지 제거 하시겠습니까?). 그 외에는 완벽합니다. 감사합니다.
bindkey | grep "\^\[b"
하면 설정된 후에 다른 항목이 덮어 쓰고 있는지 알 수 있습니다. 그것은 해야 에만 반환 #=> "^[b" backward-word
. 덮어 쓰는 경우 덮어 쓰는 위치를 찾아서 제거해야합니다. 그것이 가능하지 않다면, 당신은 echo 'bindkey "^[b" backward-word' >> ~/.zshrc
그것을 마지막 줄에 추가하고 .zshrc
iTerm을 다시 시작할 수 있습니다.
keys
는 iTerm 환경 설정 의 탭을 확인하여 ⌥
+ ←
무언가에 매핑되어 있는지 확인하십시오 . 그렇다면 제거하십시오. 릴리스 b
를 빠르게 누른 esc
다음을 눌러 올바르게 작동하는지 테스트 할 수 있습니다 b
. 단어가 왼쪽으로 이동합니다. 또는 ⌥
+ ←
를 16 진수 0x1b 0x42
또는로 매핑 할 수 있습니다 0x1b 0x5b 0x31 0x3b 0x35 0x44
. 나는 그 두 가지 모두 나를 위해 일한다는 것을 확인했다. 나는 당신이 당신의 탭이나 탭 에서 iTerm으로 ⌥
+ ←
덮어 썼다고 생각합니다 . profile
keys
keys
iterm2 에서 주요 환경 설정을 설정하려면 위에 나열된 학습서를 따르십시오 .
iTerm 3.0.12에서는 Natural Text Editing
사전 설정으로 전환 할 수 있습니다 .
iTerm → 환경 설정 → 프로파일 → 키
경고 사전 설정이므로 이전에 바인딩 한 키를 무시할 수 있습니다. 따라서 사전 설정을 적용하기 전에 현재 키 바인딩을 저장하는 것이 좋습니다.
iTerm2에서 줄의 끝 또는 줄의 시작으로 가고 싶은 사람을 빠르게 참조하려면 위의 링크 http://hackaddict.blogspot.com/2007/07/skip-to-next-or-previous-word- in-iterm.html은 iTerm2에서 다음과 같이 지적합니다.
Travis 답변을 사용 했고 지침에 따라 가져올 수 있는 동적 프로필 을 만들었습니다 .
GabLeRoux / iterm2-macos- 동적 프로파일
지침은 readme에 있으며 수동으로 모두 추가하는 것보다 가져 오는 것이 훨씬 빠릅니다. 의견에 숨겨져 있기 때문에 @gooli의 요청에 따라 답변했습니다. 당신이 이것을 즐기기를 바랍니다
동일한 문제가 있지만 특히 iTerm 2와 함께 Zsh 셸을 사용하는 사람을 돕기 위해 Zsh 가 /etc/inputrc
올바르게 읽히지 않으므로 환경 설정을 통해 설정 한 키 바인딩을 이해하지 못하는 것으로 나타났습니다!
이 문제를 해결하려면 다음 .zshrc
과 같은 키 바인딩을 파일 에 추가해야합니다 .
# key bindings
bindkey "\e[1~" beginning-of-line
bindkey "\e[4~" end-of-line
위의 예에서 "e"앞의 백 슬래시는 참고하십시오. 링크 된 기사에는 표시되지 않으므로 .zshrc
바인딩을 추가 할 때 파일에 추가 하십시오 .
https://aaronaddleman.com/articles/hexcodes-and-iterm/에 설명되어 있습니다.
xxd -psd
키 16 진 코드를 얻는 데 사용할 수 있습니다 .