一、答案
好吧,通常情况下,我们可以在 Emacs 中做得更好。我为此使用的包是highlight-symbols
具体来说,我将它的一系列命令与F3键的变体绑定:
;;;;;;;;;;;;;;;;;;;;;;
;; highlight-symbol ;;
;;;;;;;;;;;;;;;;;;;;;;
(require 'highlight-symbol)
(global-set-key [f3] 'highlight-symbol-next)
(global-set-key [(shift f3)] 'highlight-symbol-prev)
(global-set-key [(control f3)] 'highlight-symbol-at-point)
(global-set-key [(control meta f3)] 'highlight-symbol-query-replace)
下一个/上一个符号很好。但我发现在阅读算法以突出显示一些关键变量时最有帮助。
关于符号与文字
单词和符号之间的区别对于编程来说非常好。我不确定其他编辑是否提供这种区别。
替代
我发现另一个对编程非常有用的相关工具是iedit。
这是我加载它的方式:
(autoload 'iedit-mode "iedit")
(global-set-key [(control \;)] 'iedit-mode)
(define-key isearch-mode-map [(control \;)] 'iedit-mode)
要执行您想要的操作,请转到一个符号并按下,C-;现在
它将在匹配的符号之间移动。tabshift tab
C-'(单引号)将向您显示occur
缓冲区的临时视图。
对于额外的重构工具,标记要重命名符号(变量)的区域(可能是类),然后C-;再次按下,只有该区域内的匹配项将被编辑。