2009-04-05 34 views
7

¿Cómo se hace M- (el comportamiento predeterminado para escribir una apertura "(" carácter? Quiero que Emacs inserte automáticamente el cierre ")" después del cursor cuando escribo un carácter "(" independientemente de si es parte de una combinación de teclas M. Además, quiero extender este comportamiento a comillas, subcomillas, corchetes y llaves. Escribir M- (es un dolor, y no hay) t parece que haya formas comparables para los otros personajes.Hacer M- (el comportamiento predeterminado en Emacs cuando "(" se escribe

Respuesta

6

no escribo mucho elisp mí mismo, pero esto es algo que cribbed fuera alguien. El código entra en su .emacs.

(setq skeleton-pair t) 
(setq skeleton-pair-on-word t) ; apply skeleton trick even in front of a word.            
(global-set-key "[" 'skeleton-pair-insert-maybe) 
(global-set-key "{" 'skeleton-pair-insert-maybe) 
(global-set-key "(" 'skeleton-pair-insert-maybe) 
(global-set-key "\"" 'skeleton-pair-insert-maybe) 
+0

Esto es exactamente lo que estaba buscando; gracias. –

+0

Gracias - No lo hice saber sobre esqueleto-par-en-palabra. –

3

"(" está vinculado a self-insert-command mientras M - '(' es insert-parenthesis. Puede invertir que simplemente usando global-set-key o define-key de unirse "(" a insert-parenthesis.

5

Salida paredit.el que mantiene parens/apoyos/cita equilibrada como desee, y tampoco ofrece muchas otras características para ayudar en la s-exp manipulación. Si va a escribir el código Lisp (como su nombre lo indica), es probable que desee utilizar esta biblioteca con el tiempo.

Cuestiones relacionadas