Emacs en Mac OS X: ¿Alt o Comando?


20

Es oficial. Me encanta odiar a Emacs en Mac OS X.

No importa lo que haga, me sale una espina.

Cuando intento escribir \usando Alt+ Shift+ 7obtengo errores porque Alt== Meta en Emacs. Si ato la tecla Metaa la Commandclave, eludo ese error Todo está bien. Hasta que quiera usar Meta-Tab. Ahora estoy tratando de repente Command- Tablejos de Emacs en alguna otra aplicación.

Estoy furioso en este momento, ¿alguien podría ayudarme a resolver este problema? Yo preferiría que si pudiera tener Altcomo meta, no instale aquamacs.org y no usar la fnllave.

Ah, por cierto, uso el idioma local sueco.

EDITAR 1:

Primera solución: agregar (global-set-key [C-tab] [M-tab])a ~/.emacs. Esto unirá el Meta-taba su Control-tablugar. No es lo que quería por completo, pero debería funcionar.

Respuestas:


13

Ver las opciones en M-x customize-group ns

Allí puede ajustar el comportamiento de las teclas modificadoras. He configurado la alt correcta en "Sin modificador", ese es el mismo comportamiento que en los teclados de PC con Alt-Gr.

Otra configuración que me gusta es desarmar ambas teclas alt y usar la functiontecla en su lugar para alt.


Funciona para mí ... se supone que no debes decir gracias, pero gracias.
Prof. Falken apoya a Mónica el

11

¡También he tenido este problema durante años! Recientemente probé Emacs en OS X nuevamente. Finalmente solucioné el problema agregando lo siguiente en mi .emacs: (Esto es con Emacs 24.3)

(when (eq system-type 'darwin)
  (setq mac-right-option-modifier 'none))

¡Gracias por esto! ¡Ahora puedo ăâșț en emacs nuevamente! :)
petre

4

Algunas personas que conozco siempre compran Macs con teclados estadounidenses exactamente por este motivo.

También maldije en Emacs (también en sueco) y la única solución que he encontrado es usar el diseño extendido de EE. UU., Pero usando mi teclado sueco. Pasé varios años con un teclado estadounidense como mi teclado principal para poder cambiar más o menos sin pensar.

Si no está dispuesto a seguir la ruta de cambio de diseño, OS X Emacs en sueco es simplemente doloroso.


Editar: Acabo de encontrar una pista para el español que podría ser de ayuda. La idea es reasignar el personaje que se envía a Emacs al que deseas. No lo he probado, pero suena prometedor.


Esto ya debería haberse solucionado, pensarías ...
Zolomon

2

No es realmente elegante, pero puede usar la tecla Escape para meta y mantener la tecla alt para caracteres especiales. Por ejemplo, en ESC xlugar de M-x.

Pero de acuerdo con molbdnilo, la mayoría de los teclados que no son de EE. UU. Apestan para la programación. Una vez trabajé en Finlandia durante un par de semanas, y lo primero que hice fue cambiar el KB a EE. UU. Incluso escribir a ciegas fue más fácil que descubrir cómo escribir los caracteres que necesita con tanta frecuencia en lenguajes de programación. (bueno, en realidad lo primero que hice fue cambiar el idioma; afortunadamente sabía cómo hacerlo con la memoria muscular :-)


3
Sí, es casi como si las sintaxis más comunes fueran inventadas por los estadounidenses. ;-)
molbdnilo

1

Tengo el mismo problema cuando vine de Linux a macOS, y lo resolví agregando los siguientes códigos a mi archivo de configuración de emacs:

;; check OS type
(cond
 ((string-equal system-type "windows-nt") ; Microsoft Windows
  (progn
    (message "Microsoft Windows")))
 ((string-equal system-type "darwin") ; Mac OS X
  (progn
    (setq mac-option-key-is-meta nil)
    (setq mac-command-key-is-meta t)
    (setq mac-command-modifier 'meta)
    (setq mac-option-modifier nil)
    (message "Mac OS X")))
 ((string-equal system-type "gnu/linux") ; linux
  (progn
    (message "Linux"))))

Tenga en cuenta esta parte de los códigos que han comentado con 'Mac OS X', intercambiará la optionclave con la commandclave en la aplicación emacs, pero en la vista completa, commandtodavía commandpuede usarla command+tabcomo antes.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.