我从Vim切换到Emacs,现在我为Emacs做了疯狂。
但是在Vim中有一个非常有用的技巧,我不能在Emacs中方便地使用,那就是找到下一个/前一个单词。这些在Vim中非常方便* /#。
最简单的方法是在点上移动到单词的开头,然后是C-s和C-w,使用C-s / C-r查找下一个/前一个单词。
然后我从Mastering Emacs找到了另一个技巧,但仍然是一些小错误。
今天我找到了一个插件 - 在Emacs中模拟vim的vimpulse。我可以使用* /#那里只是喜欢Vim !!
但似乎vimpulse会自动启用Viper。
那么,还有其他任何方法来实现这个要求吗?或者,如果我使用vimpulse,我可以自动禁用Viper吗?
答案 0 :(得分:7)
嗯,通常情况下,我们可以在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 - ; ,现在 tab 和 shift tab 将在匹配的符号之间移动。
C - '(单引号)会显示一个特别的occur
视图
缓冲液中。
对于奖励重构工具,请在您想要的位置标记一个区域(可能是一个类) 重命名符号(变量),然后再次按 C - ; 并仅匹配 在该地区内将进行编辑。
答案 1 :(得分:4)
尝试邪恶:https://gitorious.org/evil/pages/Home
* /#很适合它。