Mac OS X Leopard 키 바인딩의 EMAC
-
03-07-2019 - |
문제
저는 MAC 사용자이고 EMAC를 배우기로 결정했습니다. 나는 읽다 그것은 손 변형을 줄이고 정확도를 향상시키기 위해 CTRL 키 그리고 캡 잠금 키는 교환해야합니다. 표범에서 어떻게해야합니까?
또한 터미널에서는 사용해야합니다 ESC 메타를 호출하는 키. 대신 메타를 호출 할 ALT/옵션 키를 얻는 방법이 있습니까?
업데이트: 컨트롤 키는 지금 훨씬 쉽게 치기 쉽지만 메타 키는 MacBook과 Apple 키보드에서의 위치에주의를 기울일 수있을 정도로 자주 사용됩니다. 사실, 제어 키가 실제로 누르기가 더 쉽다는 것을 알았으므로 Meta 키 역할을하기 위해 제어 키를 다시 만들었습니다. 누구든지 더 나은/더 표준 솔루션이 있습니까?
해결책
CTRL 및 캡 잠금을 교환합니다
- 들어가다 시스템 선호도
- 들어가다 키보드 및 마우스 기본 설정 창
- 에서 건반 탭, 클릭 수정 자 키 ...
- 조치를 바꾸십시오 캡 잠금 그리고 제어.
ALT/옵션 사용 메타
- 메뉴 표시 줄에서 클릭하십시오 단말기
- 딸깍 하는 소리 선호도 ...
- 아래의 설정 탭으로 이동하십시오 건반 탭
- 라벨이 붙은 상자를 확인하십시오 메타 키로 옵션을 사용하십시오
그게 다야! 당신은 EMACS 마스터가되는 길에 있어야합니다!
다른 팁
참조를 위해 다음은 텍스트 주위를 이동하기위한 주요 바인딩입니다.
⌥ + ← - 한 단어 왼쪽으로 이동하십시오
⌥ + → - 한 단어를 오른쪽으로 이동하십시오
⌥ + 삭제 - 백 삭제 한 단어
옮기다 + ⌥ + 삭제 - Foward는 한 단어를 삭제합니다
⌥ + ↑ - 한 단락을 올라갑니다
⌥ + ↓ - 한 단락을 아래로 이동하십시오
⌘ + ← - 현재 라인의 시작으로 이동합니다
⌘ + → - 현재 라인의 끝으로 이동합니다
옮기다 + 위의 모든 내용은 적절한 금액으로 선택을 확장합니다.
클릭 한 다음 드래그 - 텍스트를 선택하십시오
두 번 클릭 한 다음 드래그 - 텍스트를 선택하고 단어 끝으로 감싸십시오.
트리플 클릭 한 다음 드래그 - 텍스트를 선택하고 단락으로 래핑합니다.
옮기다 + 마우스로 텍스트 선택 - 선택에 추가 (연속)
⌘ + 마우스로 텍스트 선택 - 선택에 추가 (비 연속)
⌥ + 드래그 - 직사각형 영역 선택 (비 연속성)
⌘ + ⌥ + 드래그 - 선택에 직사각형 영역을 추가하십시오
드래그 선택 - 텍스트를 이동합니다
⌥ + 드래그 선택 - 텍스트를 복사합니다
Ctrl 키 + ㅏ - 현재 단락의 시작으로 이동합니다
Ctrl 키 + 비 - 한 캐릭터를 왼쪽으로 이동하십시오
Ctrl 키 + 디 -Forwards Delete
Ctrl 키 + 이자형 - 현재 단락의 끝으로 이동합니다
Ctrl 키 + 에프 - 오른쪽 하나의 캐릭터를 이동하십시오
Ctrl 키 + 시간 - 삭제
Ctrl 키 + 케이 - 현재 단락의 나머지 삭제
Ctrl 키 + N - 한 줄 아래로 이동하십시오
Ctrl 키 + 영형 - 커서 다음에 새 라인을 삽입하십시오
Ctrl 키 + 피 - 한 줄을 올라갑니다
Ctrl 키 + 티 - 두 개의 주변 문자를 돌리십시오 (스왑)
Ctrl 키 + V - 끝으로 이동 한 다음 한 캐릭터를 남겼습니다
Ctrl 키 + 와이 - 이전에 삭제 된 텍스트를 붙여 넣습니다 Ctrl 키 - 케이
다른 대답은 매우 완전했지만 캡스 잠금 키를 교체하는 대신 두 번째 컨트롤 키로 설정했습니다.
또한 Mac OS X의 텍스트 입력 필드의 대부분은 이미 EMACS 키 스트로크 ( ^라인의 시작, ^E 끝, ^p, ^n, ^k, ^y 등)를 수락합니다.
행운을 빕니다
Kyle Cronin이 제공 한 답변이 정말 마음에 들지만 한 가지 추가하고 싶습니다.이를 위해 적절한 키보드를 선택해야합니다. 랩톱에 외부 키보드가 연결된 경우 추가 드롭 다운 상자가 있으므로 두 키보드 (또는 최소한 외부 키보드의 경우)에 대해이를 수행해야합니다. 아래의 스크린 샷은 "키보드 선택"대화 상자를 보여줍니다 - 나는 MacBook의 Goldtouch 외부 키보드를 말하는 "Joint Mac 키보드"를 선택했습니다. 기본값은 내장 키보드입니다.
일단 내가 그것을 알아 냈을 때 - 이것은 나에게 훌륭하게 작동합니다!
SSH 연결을 통해 EMAC를 사용하거나 로컬 컴퓨터가 아닌 컴퓨터를 통해 Page Up/Page Down 버튼이 터미널 버퍼를 스크롤합니다. 내 경험에 따라 너무 도움이되지 않습니다.
페이지 다운 및 페이지 업 버튼을 설정하여 적절한 명령을 EMAC에 보낼 수 있습니다. EMAC에서는 EMACS 버퍼를 스크롤 할 수 있습니다.
- 페이지 UP : CTL-V.
- 페이지 다운 : ESC-V.
따라서 터미널이 이러한 명령을 EMAC에 보내도록 위의 지침을 따라 메타의 ALT 키를 변경하십시오. 그러나 "메타 사용 옵션"옵션을 설정하는 대신 "Page Down"및 "Page Up"옵션을 찾으십시오.
페이지 다운
"Page Down"옵션을 두 번 클릭하여 편집하십시오. 변화 동작 에게 "쉘에 문자열 보내기" 그리고 입력하십시오 \026 문자열로. 저장해.
페이지 위로
"Page Up"버튼을 두 번 클릭하여 편집하십시오. 변화 동작 에게 "쉘에 문자열 보내기" 그리고 입력하십시오 033V 문자열로. 저장해.
터미널에서 EMAC를 사용하는 것과 완전히 결혼했는지는 확실하지 않지만 또 다른 옵션은 Carbon EMAC (내가 가장 좋아하는) 및 Aquamacs (매우 MAC와 같은)를 사용하는 것입니다. Carbon EMACS는 메타의 명령 키를 사용합니다. 이는 제어 키 시퀀스와 제어 키 시퀀스를 치는 대신 제어 및 명령 다운을 보유하여 제어 메타 명령을 수행 할 수 있기 때문에 좋습니다.
또한 심각한 EMACS 사용자라면 프로그래밍에 적합한 키보드를 얻는 것이 좋습니다 (즉, 완전히 재 프로그래밍 할 수있는 것). 나는 운동을 사용합니다. 약간의 돈이지만 매우 내구성이 뛰어나고 아주 좋습니다.
개인적으로 나는 시스템 환경 설정에서 명령처럼 행동하는 설정 캡 잠금 장치를 가지고 있으며 내 EMACS init.el 파일에 다음과 같습니다.
(SETQ MAC-COMMAND-MODIFIER 'CTRL)
이를 통해 대부분의 OSX 응용 프로그램에서 CAPS 잠금을 명령으로 사용하고 EMAC에서 제어 할 수 있습니다. 나를 위해 충분히 잘 작동합니다.
당신의 기쁨은 막 시작되었습니다. 다른 요령에는 다음이 포함됩니다.
- 왼쪽 및 오른쪽 시프트 키를 사용하여 빠른 입력을 위해 (및)이기도합니다.
- FN 키나 다른 키를 "슈퍼"로 재발하십시오.
- 캡 잠금 장치를 제어하지만 다른 키로 만 제어하십시오. 그 자체로는 탈출입니다.
훌륭한 기사를 읽으십시오 http://stevelosh.com/blog/2012/10/a-modern-space-cadet/ 더 많은 정보를 얻으려면.
이 스레드는 5 년 전에 시작되었으며 언급이 없습니다. ns-win.el
또는 빌드 --with-ns
. 다음은 2013 년 10 월 현재 EMACS 트렁크에서 사용 가능한 모든 주요 바인딩입니다. 물론 직접 만들 수 있습니다. 개인적으로, 나는 하나가 있습니다 init.el
OSX의 평행선을 통해 Windows XP와 OSX와 함께 사용할 수있는 모든 주요 바인딩이 있습니다. 사용자는 자신의 키보드 바로 가기를 정의 할 수 있으므로 시스템 환경 설정에서 키보드를 다시 찍을 필요가 없습니다 (Apple US 키보드 포함). ~하지 않는 한 명령 키가 포함되지 않은 키보드를 사용합니다. 그러나 트랙 포인트가 내장 된 IBM Clicky 키보드를 숨길 수 있습니까? 당연히 아니지. :) 나는 IBM Clicky 키보드를 다음 생에서 가져 가고 있습니다. 모든 손 변형은 제어 대 캡 잠금 장치가 아니라 부적절한 손목 / 팔 / 팔꿈치 위치로 인해 발생할 수 있습니다. 연습을 통해 정확도가 향상되고, 보스가 어깨 너머로 바라보며 어떻게오고 있는지 알아보십시오.
(define-key global-map [?\s-,] 'customize)
(define-key global-map [?\s-'] 'next-multiframe-window)
(define-key global-map [?\s-`] 'other-frame)
(define-key global-map [?\s-~] 'ns-prev-frame)
(define-key global-map [?\s--] 'center-line)
(define-key global-map [?\s-:] 'ispell)
(define-key global-map [?\s-?] 'info)
(define-key global-map [?\s-^] 'kill-some-buffers)
(define-key global-map [?\s-&] 'kill-this-buffer)
(define-key global-map [?\s-C] 'ns-popup-color-panel)
(define-key global-map [?\s-D] 'dired)
(define-key global-map [?\s-E] 'edit-abbrevs)
(define-key global-map [?\s-L] 'shell-command)
(define-key global-map [?\s-M] 'manual-entry)
(define-key global-map [?\s-S] 'ns-write-file-using-panel)
(define-key global-map [?\s-a] 'mark-whole-buffer)
(define-key global-map [?\s-c] 'ns-copy-including-secondary)
(define-key global-map [?\s-d] 'isearch-repeat-backward)
(define-key global-map [?\s-e] 'isearch-yank-kill)
(define-key global-map [?\s-f] 'isearch-forward)
(define-key global-map [?\s-g] 'isearch-repeat-forward)
(define-key global-map [?\s-h] 'ns-do-hide-emacs)
(define-key global-map [?\s-H] 'ns-do-hide-others)
(define-key global-map [?\s-j] 'exchange-point-and-mark)
(define-key global-map [?\s-k] 'kill-this-buffer)
(define-key global-map [?\s-l] 'goto-line)
(define-key global-map [?\s-m] 'iconify-frame)
(define-key global-map [?\s-n] 'make-frame)
(define-key global-map [?\s-o] 'ns-open-file-using-panel)
(define-key global-map [?\s-p] 'ns-print-buffer)
(define-key global-map [?\s-q] 'save-buffers-kill-emacs)
(define-key global-map [?\s-s] 'save-buffer)
(define-key global-map [?\s-t] 'ns-popup-font-panel)
(define-key global-map [?\s-u] 'revert-buffer)
(define-key global-map [?\s-v] 'yank)
(define-key global-map [?\s-w] 'delete-frame)
(define-key global-map [?\s-x] 'kill-region)
(define-key global-map [?\s-y] 'ns-paste-secondary)
(define-key global-map [?\s-z] 'undo)
(define-key global-map [?\s-|] 'shell-command-on-region)
(define-key global-map [s-kp-bar] 'shell-command-on-region)
;; (as in Terminal.app)
(define-key global-map [s-right] 'ns-next-frame)
(define-key global-map [s-left] 'ns-prev-frame)
(define-key global-map [home] 'beginning-of-buffer)
(define-key global-map [end] 'end-of-buffer)
(define-key global-map [kp-home] 'beginning-of-buffer)
(define-key global-map [kp-end] 'end-of-buffer)
(define-key global-map [kp-prior] 'scroll-down-command)
(define-key global-map [kp-next] 'scroll-up-command)
;; Allow shift-clicks to work similarly to under Nextstep.
(define-key global-map [S-mouse-1] 'mouse-save-then-kill)
(global-unset-key [S-down-mouse-1])
(인체 공학적 키보드는 아니지만 키의 여행과 느낌, 컨트롤 키가 마음에 든다. 캡 잠금 장치가 스왑됩니다).
나는 상당히 포괄적 인 바인딩 세트를 만들었습니다 여기 사용하기위한 밖의 터미널의.
개인적으로 올바른 제어 키가 없기 때문에 Mac 노트북 키보드를 사용할 수 없습니다.
대신, 나는 그것을 사용하고있다 Microsoft 자연 인체 공학적 키보드 4000 7 년 넘게 : 정말 뚱뚱하고 위치가 잘 된 Ctrl 및 Alt Keys가 있습니다. 드라이버 다운로드 "시작"및 "응용 프로그램"키는 사소하게 Mac CMD 키로 재 타이핑되며, 이는 뚱뚱하고 쉽게 우울합니다.
EMACS 인체 공학적 관심을 피하기 위해 CTRL, ALT 및 CMD를 사용하여 시프트를 사용하는 것과 같은 방식으로 스스로 교육을 받았습니다. (즉, 그냥 캡 잠금 장치를 그대로두고 있습니다.)
시스템 선호도에서 제어하기 위해 캡 잠금을 설정했으며 init.el에 다음과 같이 명령을 메타로 설정하고 수퍼 옵션을 설정합니다.
(custom-set-variables
'(ns-alternate-modifier (quote super))
'(ns-command-modifier (quote meta)))