微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Emacs中的Vim-like * /# – (下一个/前一个单词)?

我从Vim切换到Emacs,现在我为Emacs做了疯狂.

但是在Vim中有一个非常有用的技巧,我不能在Emacs中方便地使用,那就是找到下一个/前一个单词.这些在Vim中非常方便* /#.

最简单的方法是在点上移动到单词的开头,然后是C-s和C-w,使用C-s / C-r查找下一个/前一个单词.

然后我发现Mastering Emacs的另一个技巧,但仍然是一些小错误.

今天我找到了一个插件 – 在Emacs中模拟vim的vimpulse.我可以使用* /#那里只是喜欢Vim !!
但似乎vimpulse自动启用Viper.

那么,任何其他方法来实现这个要求?或者,如果我使用vimpulse,我可以自动禁用Viper吗?

解决方法

首先,答案

好吧,通常情况下,我们可以在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- ;.
选项卡和班次选项卡将在匹配的符号之间移动

C-‘(单引号)将向您显示一个特殊的视图
缓冲.

对于奖励重构工具,请在您想要的位置标记一个区域(可能是一个类)重命名符号(变量),然后按C-;再次,只匹配将在该区域内进行编辑.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐