Emacs括号和括号突出显示?
输入代码时Emacs会瞬时突出显示匹配的大括号或括号。但是,现有的代码有没有办法让它突出显示一个匹配的支架或支架,如果我强调它的双胞胎?Emacs括号和括号突出显示?
我经常试图在处理编译器错误和警告时进行完整性检查。在插入代码之前,我通常在编码时输入两个大括号,但在调试时注释掉代码时偶尔会无意中注释掉一个大括号。
任何处理大括号和括号与Emacs匹配的意见?
OS主要是Linux/Unix,但我也在OS X和Windows上使用它。
如果您正在处理支持它的语言,请认真对待ParEdit。如果你没有使用Lisp方言,那么它并没有那么有用。
对于一般括号/括号/ paren高亮显示,请查看highlight-parentheses模式(每当point
位于其中时,该颜色编码多个大括号)。您也可以通过定制打开show-paren-mode
(即M-x customize-variable show-paren-mode
);那个强烈地突出显示与点相匹配的大括号/括号/ paren(如果点上的那个不匹配任何东西,则会得到不同的颜色)。
我.emacs
目前包含(除其他事项外)
(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)
以及该show-paren-mode
定制,供应我很好(当然,我也口齿不清时使用paredit,但这些仍然是用处不大)。
顺便说一句,对于直接的问题:M-x blink-matching-open将对已有的关闭参数“重新眨眼”,就像刚插入它一样。看到匹配paren的另一种方法是使用M-C-b和M-C-f(它跳过匹配的parens对),这也是非常有用的导航命令。
我第二个ParEdit。对于lisp开发来说至少是至关重要的。
FWIW我经常使用这个函数去匹配paren(来回)。
;; 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
免责声明:我不是这个功能的作者,从互联网复制。
可能重复[在Emacs中匹配括号的命令是什么?](http://stackoverflow.com/questions/261522/what-is-the-command-to-match-brackets-in-emacs) – 2012-02-26 15:57:02