texto source para mac instalar code cask macos emacs

macos - source - Pregunta de Emacs-clave de hash



emacs source code (6)

Tengo una computadora portátil Mac y me estoy conectando al servidor que ejecuta Linux. Como Alt + 3 ya está vinculado en EMACS a un comando, no puedo insertar el símbolo de hash en un archivo. He probado la siguiente solución que encontré en línea:

(global-unset-key (kbd "C-3")) (global-set-key (kbd "C-3") ''(lambda() (interactive) (insert-string "#"))) //I know that C is for CTRL not Alt - I have tried with M-3 instead as well

y algunos otros también, pero ninguno parece funcionar. ¿Puede decirme de otra manera que pueda ingresar el signo de hash (#) en un archivo?

Aso intentó (no funcionó):

(fset ''insertPound "#") (global-set-key (kbd "M-3") ''insertPound)

¡Gracias!


Como dijo S.Lott, es S - 3 insertar un signo de número (o hash, pound, octothrope).

¿Por qué quieres usar el meta modificador para insertarlo? Además, ¿a qué se limita M - 3 en su configuración? Puede obtenerlo haciendo un C - h - ky luego presionando la combinación de teclas.

Suponiendo que se está refiriendo a Alt correctamente y que está configurando el bit de modificación Meta que puede empujar

(global-unset-key (kbd "M-3"))

en su .emacs y .emacs para deshabilitar esto.

Todas las teclas "normales" están vinculadas al self-insert-command . El modificador de cambios simplemente sube la "clave" que se usa para llamar a esta función, de modo que obtiene un # en lugar de 3 cuando hace un S-3.

Además, todavía no entiendo por qué estás usando Alt lugar de cambiar para mostrar el símbolo #. ¿Qué haces cuando quieres escribir a @?


De http://jimbarritt.com/non-random/2010/11/07/typing-the-pound-or-hash-key-in-emacs-on-uk-macbook

Tecleando la libra, o clave hash (#) en emacs en Macbook del Reino Unido:

El problema con OS X y el teclado del Reino Unido es que la tecla de número en realidad tiene una £ en él. Para obtener "#" tienes que presionar Alt + 3

Por supuesto, en emacs, la tecla alt es la tecla meta que está atrapada por emacs. La siguiente función simple insertada en su archivo .emacs debe asignar las claves correctamente.

;; Allow hash to be entered (global-set-key (kbd "M-3") ''(lambda () (interactive) (insert "#")))


Mi solución (nota secuencia de escape):

;; Even though we may have set the Mac OS X Terminal''s Alt key as the emacs Meta key ... ;; ... we want to be able to insert a ''#'' using Alt-3 in emacs as we would in other programs (fset ''insertPound "#") (define-key global-map "/M-3" ''insertPound)


Muchas de las soluciones que se ofrecen aquí y en otros lugares funcionan para escribir # en un búfer normal, pero no lo hacen funcionar como si se presionara una tecla normal; en particular, abortará una búsqueda incremental, lo que dificulta la escritura de macros que se ocupen de los comentarios de Python, o C #include s, por ejemplo. Por lo tanto, es mejor transformar la clave mucho antes, así que simplemente actúa como otra pulsación de tecla.

Descubrí que agregar este comando a su configuración de Emacs funciona muy bien:

(define-key key-translation-map (kbd "M-3") (kbd "#"))

... y elimina todos los intentos (global-set-key...) .

Si, al igual que yo, cambias las teclas modificadoras, Opt ⌥ se asigna a Hyper , así que solo uso el cinturón de seguridad con:

(define-key key-translation-map (kbd "M-3") (kbd "#")) (define-key key-translation-map (kbd "M-£") (kbd "#")) (define-key key-translation-map (kbd "H-3") (kbd "#")) (define-key key-translation-map (kbd "H-£") (kbd "#")) (define-key key-translation-map (kbd "S-3") (kbd "#")) (define-key key-translation-map (kbd "S-£") (kbd "#"))


Sé que esto es un poco tarde y la respuesta ha sido aceptada. Sin embargo, acabo de pasar de Linux a MacOS con un teclado del Reino Unido y tuve el mismo problema.

Nota : Estoy usando emacs desde aquí: http://emacsformacosx.com/ . Lo siguiente puede ser diferente para Carbon Emacs / Aquamacs, etc.

El método global-set-key anterior está bien si solo necesita el signo # , pero ¿qué sucede si también necesita acceder al carácter ? (Que es Alt-3 en un teclado del Reino Unido)

La solución para mí fue agregar esto a mi archivo de inicio:

(setq ns-right-alternate-modifier (quote none))

Esto elimina los enlaces de Emacs para la tecla Alt / Opción correcta.

Puedes ver todas las opciones disponibles con

M-x customize-group RET ns RET

El crédito va a http://emacsformacosx.com/tips


Supongo que tienes un teclado de Mac UK, por lo que Shift - 3 es £. En la mayoría de los otros teclados, Shift - 3 es # como han dicho otros.

La forma en que me dirijo es cambiar la fuente de entrada a Australia, la única diferencia es que Shift - 3 es ahora # y Alt - 3 es £ (o dejar como el enlace de Emacs)

La configuración de la fuente de entrada era Preferencias del sistema-> Idioma y texto-> Fuente de entrada
En versiones posteriores de OSX (OSX 10.11 definitivamente, pero habría sido anterior) La configuración de Fuente de entrada es Preferencias del sistema-> Teclado-> Fuente de entrada Por defecto, esto solo mostrará el teclado del Reino Unido para ver más, presione el + en la parte inferior de la lista y australiano

La razón por la que prefiero esto en lugar de agregar código en emacs es que Shift - 3 es # para todas las aplicaciones, por ejemplo, incluye Xcode / Eclipse, por lo que no tengo que cambiar la clave de acuerdo con la aplicación o si estoy usando un teclado de EE. o en Windows / Linux etc.