답변:
⌥키 를 사용할 수 있지만 "메타"키로 사용하려면 옵션을 선택해야합니다.
그렇게하면 ⌥+ F와 ⌥+ B가 예상대로 작동합니다.
이것은 나를 미치게했지만, 터미널을 사용하지 않기 때문에 터미널 특정 수정을 원하지 않았으며 OSX 상자에 SSH를 연결할 수있는 올바른 키 바인딩도 사용해야했습니다.
또한, 개인적으로, 나는 ⌥앞에서 논의한 바와 같이 열쇠에 관심이 없었습니다 . Linux에서 익숙한 ctrl+ ←/ →조합 을 유지하고 싶었습니다 .
이 문제를 해결하기 위해 다음을 추가했습니다 ~/.profile
.
bind '"\e[5C": forward-word'
bind '"\e[5D": backward-word'
bind '"\e[1;5C": forward-word'
bind '"\e[1;5D": backward-word'
처음 두 개는 터미널의 bash에 적용됩니다 . 마지막 두 개는 iTerm2의 bash 와 들어오는 ssh 연결 에 적용됩니다 . 키보드 에뮬레이션이 다른 이유를 묻지 마십시오.)
레코드의 경우이 스택 오버 플로우 답변 의 힌트 덕분에 실제로 키 코드가 무엇인지 알 수있었습니다 cat > /dev/null
. 키 조합 중에 전송 된 정확한 키 코드를 모니터링하기 위해 실행할 수 있습니다 .
(I 실행할 때 참고 나를 위해 것을 cat > /dev/null
누릅니다 ctrl+ ←는 생산 ^[[1;5D
. 정확한 키 코드가 다를 수 있지만, 처음 ^[
으로 표시됩니다 \e
내 예제 코드와 같이.)
BTW, 모든 활성 bash 키 바인딩을 보려면을 실행하십시오 bind -p
.
xxd
키보드 입력을 검사하는 데 사용 하고 싶습니다 . 입력 할 때 문자가 표시되는 것을 확인한 다음 xxd
return을 입력하면 16 진수로 값을 내 보냅니다.
당신이 VI 사용하는 방법을 알고 있다면 당신은 또한 사용하여 VI 라인 편집 모드를 켤 수 있습니다 set -o vi
당신에 .bash_profile
또는 명령 행에서 언제든지. 그런 다음 vi 명령과 삽입 모드를 전환 할 수 있습니다. 따라서 탈출을 누른 다음 vi 명령을 사용하여 줄을 탐색 할 수 있습니다.
0 = move to beginning of line
$ = move to end of line
w = move forward one word
b = move backward one word
올바른 위치에 도달하면 다른 vi 명령을 사용하여 삽입 또는 추가 모드로 들어가거나 문자를 하나씩 제거 할 수 있습니다.
ESC ^
필요할 때 유용합니다. 다른 일을하고