2010-02-01 2 views
9

내 문제가 영어가 아닌 영어로되어 있기 때문에 영어로이 질문을하는 것이 조금 이상합니다. 저는 Mac OS X 사용자이고 Emacs를 배우려고합니다. 필자는 기본적으로 Mac 키보드의 alt/option 키를 메타 키로 사용하는 Emacs 23.1 Cocoa 빌드를 사용하기로 결정했습니다. {}[]Mac OS X에서 Emacs를 사용할 때 독일어 키보드를 다루는 좋은 방법은 무엇입니까?

는 당신이 독일어 키보드 레이아웃에 이러한 문자를 얻으려면 : 나는 독일어와 나는 물론, 독일의 키보드를 사용하고 있기 때문에, 그것은의 매우 까다로운 광범위하게 프로그래밍에 필요한 괄호를 입력 할 수

M-5 
M-8 

모두 실행 일에

alt-5 for '[' 
alt-8 for '{' 

위에서 설명한 상황에 따라 번역 : 다음 키를 누릅니다 e 명령 digit-argument을 Emacs에 설치하십시오.

이 문제를 해결하는 방법을 모르겠습니다. 메타 키로 사용해야하는 실제 키를 변경할 수 있음을 알고 있습니다 (예 : 메타 키를 명령 키로 변경할 수 있음). 그러나 모든 선택은 비용이 많이 들고 외국어 키보드로 편집하는 동안 필요할 수있는 사전 정의 된 OS 동작을 "무시"하기 때문에 몇 가지 명백한 단점이 있다고 생각합니다.

현재 가장 좋은 옵션은이 키 선택이 기존 키 조합을 방해하지 않으므로 CAPS LOCK 키를 메타 키로 사용하는 것입니다.

이 문제와 관련한 경험은 무엇입니까? 코딩하는 동안 (영어가 아닌) 영어 키보드 (레이아웃)를 사용합니까? 그러한 컨텍스트 종속적 인 키보드 레이아웃과 섞이지 않습니까? 또는 독일어 또는 이와 유사한 키보드에서 메타 키로 사용하기위한 몇 가지 모범 사례가 있습니까? 또는 심지어 일부 구성 옵션?

+0

[** 2012 cleanup **] (http://meta.stackexchange.com/questions/128315/the-great-stack-overflow-tag-question-cleanup-of)의 일부로 'german'태그가 제거되었습니다. -2012). –

답변

1

"명령;"을 누를 수 있습니다. 옵션 키를 메타 키와 일반 옵션 키 사이에서 변경합니다. 나는 당신이 키 시퀀스의 중간에 이것을 할 수 있다고 믿는다. 이맥스에 분음 기호를 입력해야 할 때, 나는 단지 "Command"를 누른다. Emacs에서 다양한 입력 모드를 사용하기보다는. Options -> Option -> Option key is Meta를 통해 설정에 액세스 할 수도 있습니다.

다른 옵션은 .emacs 파일의 키를 리 바인드하는 것입니다.

키보드 레이아웃을 전환하는 것과 관련하여 Dvorak과 US Qwerty 사이를 전환 할 때 종종 방해가되지 않으며 미국과 독일 레이아웃보다 훨씬 다릅니다. (Dvorak는 나를 위해 손의 긴장을 줄인다).

6

약간의 연습을 통해 정신적으로 미국과 독일 키보드 레이아웃 사이를 전환 할 수 있습니다. 스왑 된 Y와 Z도 잠시 후에 자연스러워집니다. 나는 독일에서 일하는 동안 수년간 그렇게했습니다.

하지만 미국 키보드 레이아웃 인 경우에도 Alt를 사용하지 않으면 입력 할 수없는 문자가 있습니다. 필자는 개인적으로 Command as Meta를 사용하여 내장 OS X 데드 키에 Alt/Option을 남겨 두었습니다. "고도 교대-2"=> € "고도 - 전자 전자"=> E :

(setq mac-command-modifier 'meta 
     mac-option-modifier 'none 
     default-input-method "MacOSX") 

또 다른 옵션은 키보드 번역 기능을 사용하여 같은 "문제"키를 {} 재배치하는 것입니다.

+0

이것은 훌륭합니다! "실제"ISO 독일어 키보드를 원할 경우 해당 키보드 레이아웃을 설치할 수도 있습니다. http://codewut.de/content/pc-keyboard-layout-mac-german을 참조하십시오. 맹목적으로 유형을 터치 할 수 있다면 alt를 사용하여 cmd를 전환 할 수 있으며 거의 ​​정상적인 독일어 키보드를 사용할 수 있습니다. – ayckoster

+0

개인적으로 (스웨덴어/핀란드어 키보드 사용) mac-right-option-modifier를 'none'으로 설정하고 왼쪽은 'meta'로 두는 것이 유용하다는 것을 알았습니다. 그런 다음 오른쪽 Alt 키를 사용하여 대괄호 등을 가져올 수 있으며 왼쪽 키는 메타 키 역할을합니다. 하나가 이미 사용되었거나 익숙해 질 수 있다면 좋을 것입니다. – tml

1

Aquamacs (http://aquamacs.org/)는 Mac 친화적 인 Emacs 버전입니다. 그들에게는 Cocoa와 Emacs 23.1을 기반으로 한 미리보기가 있습니다.

Aquamacs에는 기본 mac 키 바인딩과 기본 emacs 바인딩 사이의 다양한 단계에서 옵션 명령과 메타를 다시 바인딩 할 수있는 옵션이 있습니다. 손가락에 맞는 무대를 찾을 수 있어야합니다.

2

나는 이것이 오래된 질문이라는 것을 알고 있지만, 나는 방금 Mac으로 전환했고 비슷한 문제 (덴마크어 키보드 레이아웃 임에도 불구하고)를 가졌다.

메뉴에서 Options ->Option, Command, Meta keys ->Right Option is Meta을 선택하십시오. 이제는 오른쪽 Alt 키를 메타로 사용할 수 있지만 왼쪽 Alt 키는 그대로 둡니다. 예 : "특이한"문자를 입력하는 데 사용할 수 있습니다 (프로그래머라면 그렇게 이상하지 않을 수 있습니다).

또한 ... Meta & German (및 기타 언어) 중 선택하여 사용할 수 있습니다. 아아 거기에 덴마크어에 대한 선택의 여지가 없기 때문에 나는 고집해야 할 것입니다 Right Option is Meta

0

잘 작동하는 데 사용되는 이맥스 22 구성을 사용할 수 있습니다.

(setq mac-option-key-is-meta nil) 
(setq mac-command-key-is-meta t) 
(setq mac-command-modifier 'meta) 
(setq mac-option-modifier nil) 
1

나는 here 제안을 사용했다. 그것은 바로 ALT/옵션 키를 이맥스 '기본 동작을 재설정

(setq ns-right-alternate-modifier nil) 

을 config (설정) 이맥스에서 이것을 사용하는 것이 좋습니다. 이것은 이맥스가이 키에 반응하는 것을 막아 주므로 OS가 정상적으로 처리 할 수있게 해줍니다.

iTerm에서 구현 된 사람들이 [] {} |에 액세스 할 수있는 솔루션과 일관되고 bash 명령 줄 탐색 기능을 활용하기 때문에이 방법이 좋은 해결책이라는 것을 알았습니다 alt/meta-f, -b, -d 등과 같은 바인딩.

간단히 말해서,이 구성을 사용하면 [] [} | \에 대해 right-alt를 사용하는 것이 익숙해 져야했고, emacs 명령에 대해서는 left-alt를 사용하는 것이 고통이었습니다.

마지막으로, 위의 링크는 Aquamacs에만 해당되었지만 Homebrew 용으로 바닐라 이맥스를 설치하면 옵션을 지원한다는 것을 확인할 수 있습니다.

+0

이것은 "표준"독일어 키보드 레이아웃 (즉, Windows)과도 일치합니다. 오른쪽 "alt-gr"은 당신에게 [] {} |를 제공하고 왼쪽 "alt"는 이맥 용 상자에서 작동합니다. – flooose

1

이것은 정말로 오래된 질문입니다. 그러나 나는 이것도 직면했고 또 다른 해결책이있다.

내가

  • 이럴 이맥스 이후 metacmd (일명 super) 키를 교환하고 싶지 않았다는 cmd 키가 사용 가능한 상태로 유지 표준 맥 바인딩 꽤 잘 (예 : 저장에 대한 cmd-s) 및
  • 지원 개인 단축키 (예 : cmd-w으로 버퍼를 죽이고 싶음)

다음은 키만 리 바인드하는 구성 코드입니다. w 암탉 맥에서 실행 :

(if (eq system-type 'darwin) 
    (progn 
    ;; "fix" the broken keyboard 
    (global-set-key "\M-l" '(lambda() (interactive) (insert "@"))) 
    (global-set-key "\M-5" '(lambda() (interactive) (insert "["))) 
    (global-set-key "\M-6" '(lambda() (interactive) (insert "]"))) 
    (global-set-key "\M-7" '(lambda() (interactive) (insert "|"))) 
    (global-set-key "\M-/" '(lambda() (interactive) (insert "\\"))) 
    (global-set-key "\M-8" '(lambda() (interactive) (insert "{"))) 
    (global-set-key "\M-9" '(lambda() (interactive) (insert "}"))) 
    (global-set-key "\M-n" '(lambda() (interactive) (insert "~"))))) 

장점/단점을 :

  • (+) 당신은 맥 cmd를 키와 메타 이맥스 키에 대한 기본 바인딩을 유지한다.
  • (-) 재 매핑 된 키의 기본 바인딩이 분명히 느슨합니다.
  • (?) 근육 메모리로 인해 영어 키보드에서 우연히 키를 눌렀다가 여전히 "올바른/의도 된 문자"를 삽입합니다.

이것은 somewhat outdated information in emacswiki.org 형태로 채택되었습니다.

관련 문제