문제

저는 MAC 사용자이고 EMAC를 배우기로 결정했습니다. 나는 읽다 그것은 손 변형을 줄이고 정확도를 향상시키기 위해 CTRL 키 그리고 캡 잠금 키는 교환해야합니다. 표범에서 어떻게해야합니까?

또한 터미널에서는 사용해야합니다 ESC 메타를 호출하는 키. 대신 메타를 호출 할 ALT/옵션 키를 얻는 방법이 있습니까?

업데이트: 컨트롤 키는 지금 훨씬 쉽게 치기 쉽지만 메타 키는 MacBook과 Apple 키보드에서의 위치에주의를 기울일 수있을 정도로 자주 사용됩니다. 사실, 제어 키가 실제로 누르기가 더 쉽다는 것을 알았으므로 Meta 키 역할을하기 위해 제어 키를 다시 만들었습니다. 누구든지 더 나은/더 표준 솔루션이 있습니까?

도움이 되었습니까?

해결책

CTRL 및 캡 잠금을 교환합니다

  1. 들어가다 시스템 선호도
  2. 들어가다 키보드 및 마우스 기본 설정 창
  3. 에서 건반 탭, 클릭 수정 자 키 ...
  4. 조치를 바꾸십시오 캡 잠금 그리고 제어.

alt text

ALT/옵션 사용 메타

  1. 메뉴 표시 줄에서 클릭하십시오 단말기
  2. 딸깍 하는 소리 선호도 ...
  3. 아래의 설정 탭으로 이동하십시오 건반
  4. 라벨이 붙은 상자를 확인하십시오 메타 키로 옵션을 사용하십시오

alt text

그게 다야! 당신은 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 키보드"를 선택했습니다. 기본값은 내장 키보드입니다.
Screen shot showing "Select Keyboard" dialog

일단 내가 그것을 알아 냈을 때 - 이것은 나에게 훌륭하게 작동합니다!

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])

(인체 공학적 키보드는 아니지만 키의 여행과 느낌, 컨트롤 키가 마음에 든다. 캡 잠금 장치가 스왑됩니다).

http://matias.ca/osxkeyboard/index.php

나는 상당히 포괄적 인 바인딩 세트를 만들었습니다 여기 사용하기위한 밖의 터미널의.

개인적으로 올바른 제어 키가 없기 때문에 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)))

2 개의 소프트웨어를 추천하고 싶습니다할인 그리고 카라비너. SEIL을 단순히 설치하고 소프트웨어의 지침을 따르면 원하는 것을 달성 할 수 있어야합니다. 내 경험을 통해 Karabiner는 더 강력합니다. 레이아웃이 일반 키보드와 다른 레이아웃과 다른 일본 키보드가 있습니다. 나는 약간있다 단편 다른 용도로 내 키보드의 두 개의 추가 키를 F18과 F19로 다시 얻습니다. 동일한 구문을 사용하여 "private.xml"파일을 편집하여 더 많은 작업을 수행 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top