2012-02-26 14 views
7

Al ingresar el código, Emacs resalta transitoriamente el paréntesis o el par correspondiente. Sin embargo, con el código existente, ¿hay alguna manera de pedir que resalte un corchete o corchete coincidente si destaco su gemelo?¿Resaltar el soporte y el soporte Emacs?

A menudo trato de hacer una comprobación de cordura cuando se trata de errores y advertencias del compilador. Sí, introduzco los dos refuerzos al codificar antes de insertar el código en el medio, pero en ocasiones, de forma involuntaria, comenté un paréntesis al comentar el código mientras se depuraba.

¿Alguna sugerencia relacionada con el uso de corchetes y brackets que coincidan con Emacs?

El sistema operativo es principalmente Linux/Unix, pero también lo uso en OS X y Windows.

+2

posible duplicado de [¿Cuál es el comando para hacer coincidir los paréntesis en Emacs?] (Http://stackoverflow.com/questions/261522/what-is-the-command-to-match-brackets-in-emacs) –

Respuesta

10

Si está tratando con un lenguaje que lo admite, proporcione una apariencia seria al ParEdit. Si no estás usando un dialecto Lisp, no es tan útil.

Para resaltar corchete/corchete/paren general, busque en el modo highlight-parentheses (cuyo color codifica múltiples niveles de corchetes siempre que point esté dentro de ellos). También puede activar show-paren-mode a través de personalizaciones (es decir, M-x customize-variable show-paren-mode); ese resalta fuertemente la corchete/corchete/paren haciendo coincidir uno en el punto (si el que está en el punto no coincide con nada, obtienes un color diferente).

mi .emacs la actualidad contiene (entre otras cosas)

(require 'highlight-parentheses) 

(define-globalized-minor-mode global-highlight-parentheses-mode highlight-parentheses-mode 
    (lambda nil (highlight-parentheses-mode t))) 

(global-highlight-parentheses-mode t) 

, así como que show-paren-mode personalización, lo que me sirve bien (por supuesto, también uso paredit cuando ceceando, pero éstos siguen siendo de utilidad marginal).

2

Además de la respuesta directamente de manual o wiki, también eche un vistazo a autopair.

1

BTW, para la pregunta inmediata: M-x blink-matching-open "volverá a parpadear" para un par cercano existente, como si acabara de insertarlo. Otra forma de ver el paréntesis coincidente es usar M-C-b y M-C-f (que saltan sobre pares apareados de parens), que también son comandos de navegación muy útiles.

0

I second ParEdit. es muy bueno al menos para el desarrollo de lisp.

FWIW Uso esta función a menudo para ir a paren (ida y vuelta).

;; goto-matching-paren 
;; ------------------- 
;; If point is sitting on a parenthetic character, jump to its match. 
;; This matches the standard parenthesis highlighting for determining which 
;; one it is sitting on. 
;; 
(defun goto-matching-paren() 
    "If point is sitting on a parenthetic character, jump to its match." 
    (interactive) 
    (cond ((looking-at "\\s\(") (forward-list 1)) 
     ((progn 
      (backward-char 1) 
      (looking-at "\\s\)")) (forward-char 1) (backward-list 1)))) 
(define-key global-map [(control ?c) ?p] 'goto-matching-paren) ; Bind to C-c p 

Declamar: No soy el autor de esta función, copiado de internet.