2010-02-01 145 views
9

Có thể hơi lạ khi hỏi câu hỏi này bằng tiếng Anh vì vấn đề của tôi không phải là tiếng Anh. Tôi là người dùng Mac OS X và tôi đang trên con đường học hỏi Emacs. Tôi quyết định sử dụng xây dựng Ca cao Emacs 23.1 theo mặc định sử dụng phím alt/option của bàn phím Mac làm khóa meta. Nhưng vì tôi là Đức và tôi đang sử dụng một bàn phím tiếng Đức, tất nhiên, nó lấy của khá khó khăn để nhập parantheses cần thiết cho chương trình bao quát: {}[]Cách tốt nhất để xử lý bàn phím tiếng Đức khi sử dụng Emacs trên Mac OS X là gì?

Để có được những ký tự trên cách bố trí bàn phím tiếng Đức bạn có nhấn các phím sau:

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

mà dịch theo tình hình được mô tả ở trên để

M-5 
M-8 

cả chạy thứ e lệnh digit-argument trong Emacs.

Tôi không thực sự chắc chắn cách giải quyết vấn đề này. Tôi biết rằng bạn có thể thay đổi khóa thực tế sẽ được sử dụng làm khóa meta (ví dụ: tôi có thể thay đổi khóa meta thành khóa lệnh). Nhưng tôi nghĩ rằng mọi lựa chọn sẽ có chi phí và có một số nhược điểm rõ ràng vì nó "ghi đè" một số hành vi hệ điều hành được xác định trước có thể cần thiết trong khi chỉnh sửa bằng bàn phím ngoại ngữ.

Hiện tại, tùy chọn tốt nhất với tôi dường như là sử dụng khóa CAPS LOCK làm khóa meta vì lựa chọn này không ảnh hưởng đến các tổ hợp phím có sẵn.

Trải nghiệm của bạn liên quan đến vấn đề này là gì? Bạn (không phải tiếng Anh) có sử dụng bàn phím tiếng Anh (bố cục) trong khi mã hóa không? Bạn không bị lẫn lộn với bố cục bàn phím phụ thuộc ngữ cảnh như vậy? Hoặc có tồn tại một số thực hành tốt nhất mà chìa khóa để sử dụng như là chìa khóa meta trên một bàn phím Đức hoặc tương tự? Hoặc thậm chí một số tùy chọn cấu hình?

+0

Thẻ 'Đức' bị xóa như một phần của [** xóa sạch **] (http://meta.stackexchange.com/questions/128315/the-great-stack-overflow-tag-question-cleanup-of -2012). –

Trả lời

1

Bạn có thể nhấn "Command;" để thay đổi phím tùy chọn giữa là khóa meta và là phím tùy chọn bình thường. Tôi tin rằng bạn thậm chí có thể làm điều này ở giữa một chuỗi khóa. Khi tôi cần nhập dấu phụ vào Emacs, tôi chỉ cần nhấn "Command;" thay vì sử dụng các chế độ nhập khác nhau trong Emacs. Bạn cũng có thể truy cập cài đặt thông qua Tùy chọn -> Tùy chọn -> Phím tùy chọn là Meta.

Tùy chọn khác là để khôi phục các khóa trong tệp .emacs của bạn.

Nói về việc chuyển bố trí bàn phím, tôi chuyển đổi giữa Dvorak và US Qwerty thường đủ để không làm phiền tôi và chúng khác biệt nhiều so với bố cục của Hoa Kỳ và Đức. (Dvorak làm giảm căng thẳng cho tôi).

6

Với một chút thực hành, bạn có thể tinh thần chuyển đổi qua lại giữa bố cục bàn phím của Hoa Kỳ và DE - ngay cả Y và Z được đổi chỗ trở thành bản chất thứ hai sau một thời gian. Tôi đã làm điều đó trong nhiều năm trong khi làm việc ở Đức.

Nhưng ngay cả với bố cục bàn phím Hoa Kỳ, vẫn có các ký tự mà bạn không thể nhập mà không có Alt. Cá nhân tôi sử dụng Command as Meta vì lý do này, để lại Alt/Option cho các khóa chết OS X tích hợp, ví dụ: "alt-shift-2" => €, "alt-e e" => é:

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

Một tùy chọn khác là di chuyển các phím "vấn đề" như {} bằng chức năng dịch từ bàn phím.

+0

Điều này hoạt động tuyệt vời! Nếu bạn muốn có bàn phím tiếng Đức ISO "thực", bạn cũng có thể cài đặt bố cục bàn phím tương ứng, xem http://codewut.de/content/pc-keyboard-layout-mac-german. Nếu bạn có thể chạm vào một cách mù quáng thì bạn cũng có thể chuyển đổi cmd bằng alt và bạn có gần như một bàn phím tiếng Đức thông thường. – ayckoster

+0

Cá nhân (với bàn phím tiếng Thụy Điển/Phần Lan), tôi thấy hữu ích khi đặt mac-right-option-modifier thành 'none, nhưng để phần bên trái là' meta. Sau đó, tôi có thể sử dụng phím Alt bên phải để có được những dấu ngoặc vv, và bên trái hoạt động như một khóa meta. Đó là tốt đẹp, nếu một trong những đã được sử dụng hoặc có thể làm quen với điều đó. – tml

1

Aquamac (http://aquamacs.org/) là phiên bản Emacs thân thiện với máy Mac. Họ có một bản xem trước (và nightlies) dựa trên ca cao và emacs 23.1.

Aquamac có tùy chọn để rebind lệnh tùy chọn và meta trong các giai đoạn khác nhau giữa keybindings mac gốc và bind emacs bản địa. Bạn sẽ có thể tìm thấy một sân khấu phù hợp với ngón tay của bạn.

2

Tôi nhận ra đây là một câu hỏi cũ, nhưng tôi vừa chuyển sang máy Mac và gặp sự cố tương tự (Mặc dù có bố cục bàn phím Đan Mạch).

Từ menu chọn Options ->Option, Command, Meta keys ->Right Option is Meta. Bây giờ bạn có thể sử dụng phím Alt bên phải làm meta, trong khi phím Alt bên trái không được chạm. Ví dụ. bạn có thể sử dụng nó để nhập các ký tự "bất thường" (Có thể không quá bất thường, nếu bạn là một lập trình viên).

Ngoài ra còn có một lựa chọn ... Meta & German (Và các ngôn ngữ khác), có thể phù hợp với bạn. Than ôi không có lựa chọn cho Đan Mạch, vì vậy tôi sẽ phải gắn bó với Right Option is Meta

0

Bạn có thể sử dụng cấu hình emacs 22, được sử dụng để hoạt động tốt.

(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

Tôi đã kết thúc bằng đề xuất here. Bạn nên sử dụng tính năng này trong cấu hình emacs của mình

(setq ns-right-alternate-modifier nil) 

để đặt lại hành vi mặc định của emacs cho phím alt/tùy chọn phù hợp. Điều này giúp emacs không phản ứng với phím này, cho phép hệ điều hành xử lý nó theo cách bình thường.

Tôi nhận thấy đây là giải pháp tốt vì nó phù hợp với giải pháp mà mọi người trong công việc của tôi triển khai trong iTerm để cho phép họ có quyền truy cập vào [] {} | \ và tận dụng lợi thế của điều hướng dòng lệnh bash các liên kết như alt/meta-f, -b, -d, v.v.

Tóm lại, bằng cách sử dụng cấu hình này, nỗi đau duy nhất tôi phải gánh chịu đã quen với việc sử dụng đúng-alt cho [] {} | \ và cứ thế, và trái-alt cho các lệnh emacs.

Cuối cùng, liên kết ở trên là dành riêng cho Aquamac, nhưng tôi có thể xác nhận rằng các vanilla emacs cài đặt cho Homebrew cũng hỗ trợ tùy chọn.

+0

Điều này cũng phù hợp với bố cục bàn phím "chuẩn" của Đức (nghĩa là cửa sổ), trong đó "alt-gr" phù hợp sẽ cung cấp cho bạn [] {} | \ và bên trái "alt" hoạt động trên hộp cho các emacs. – flooose

1

Đây thực sự là một câu hỏi cũ. Tuy nhiên, tôi phải đối mặt với điều này quá và có một giải pháp khác: rebind các phím trong câu hỏi.

Tôi không muốn để trao đổi metacmd (aka super) phím từ

  • emacs IMHO hỗ trợ các ràng buộc mac tiêu chuẩn (ví dụ cmd-s cho tiết kiệm) khá tốt và
  • phím cmd vẫn sẵn sàng cho các lối tắt cá nhân (ví dụ như tôi muốn giết một bộ đệm với cmd-w)

Đây là đoạn mã cấu hình để chỉ phục hồi các phím hen chạy trên một mac:

(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 "~"))))) 

Ưu/Nhược điểm:

  • (+) Bạn giữ bindings mặc định cho mac phím cmd và các phím emacs meta.
  • (-) Bạn rõ ràng làm mất các ràng buộc mặc định cho các phím được ánh xạ lại.
  • (?) Nếu bộ nhớ cơ của bạn khiến bạn vô tình nhấn phím trên bàn phím tiếng Anh, nó vẫn chèn "ký tự chính xác/dự định".

Biểu mẫu này được chấp nhận là somewhat outdated information in emacswiki.org.

Các vấn đề liên quan