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.