我是一个vim用户,最近一直在试用emacs以获得乐趣.我发现到目前为止我最缺少的功能是" 超级明星 "(通过键入*找到光标下的单词)功能,我还没有在emacs中找到相应的功能.如果它没有内置,我需要添加到我的emacs文件中以获得类似的东西?
正如paldepind所指出的那样,isearch-forward-symbol-at-point
(M-s.默认情况下)与*Vim 相当.此功能从GNU Emacs 24.4开始提供; 如果您的Emacs不同或更旧,请继续阅读替代方案.
通常我只是做(M-b...)C-s C-w... C-s.那是:
M-b 移动到感兴趣的单词的开头
零或更多这些
C-s 开始I-Search
C-w 从点开始抽出单词
其中一个或多个
C-s 找到下一场比赛
更多的C-s是找到以后的比赛
RET 在最近的比赛中退出I-search
或者一堆C-g中止回到原来的起始位置
以下是将其集成到I-Search中(通过C-s和调用C-r; C-h k C-s用于信息isearch
).
(require "thingatpt") (require "isearch") (define-key isearch-mode-map (kbd "C-*") (lambda () "Reset current isearch to a word-mode search of the word under point." (interactive) (setq isearch-word t isearch-string "" isearch-message "") (isearch-yank-string (word-at-point))))
将其集成到I-Search中可以利用其单词匹配和区分大小写设置(C-s M-c C-*可以对单词下的单词进行区分大小写的搜索).
尝试 C-sC-w
这是一个开始:
(global-set-key (kbd "C-*") (lambda () (interactive) (re-search-forward (format "\\b%s\\b" (thing-at-point 'word)))))
目前还有Smart Scan,一个提供此功能的轻量级附加软件包.
它可以从MELPA获得 ; 添加MELPA为启用列表的说明package-archives
是这里.
要安装它:
M-x package-install
RET smartscan
RET
然后,您可以通过它启用它
(global-smartscan-mode t) ;; Turn on Smart Scan globally
向前和向后搜索的默认键绑定分别是M-n和M-p.
PS:如果你有兴趣,介绍这个软件包的原始博客文章就在这里.