所以在记事本++中我可以选择文字,点击C-f,然后,如果我需要在所有打开的文件中查找选择的出现,我点击M-o并获得可用的可点击列表并导航到出现选项。或者,如果我只需要当前文件的列表,我将鼠标指向“在当前文档中查找全部”按钮,单击并获取当前活动文件的相同的可点击列表。那么有可能在emac中做一些确切的事吗?
答案 0 :(得分:0)
默认情况下,Emacs M-x出现,其工作方式相似但略有不同。它允许您指定正则表达式,当前缓冲区中的所有匹配项将显示和超链接。
如果您更关注导航而不是突出显示搜索字词的所有匹配项,那么可能会有一个可以帮助您的外部替代方案。
的Emacs'原始哲学不是围绕用户界面隐喻构建的,例如用鼠标点击,它来自仅键盘背景。如果您对此方法感兴趣,可能需要查看Emacs的Avy包。它可以让您快速跳转到多个单词中的一个。
查看优秀的Emacs Rocks剧集"跳跃"在行动中看到Avy的前身(称为ace-jump-mode):http://emacsrocks.com/e10.html
答案 1 :(得分:0)
您可以使用以下lisp函数实现该功能:
(defun occur-selection ()
(interactive)
(when (region-active-p)
(let (deactivate-mark)
(occur (regexp-quote (buffer-substring (region-beginning) (region-end)))))))
如果您将该代码与下面的行一起放在~/.emacs
文件中:
(global-set-key [(meta o)] 'occur-selection)
你应该能够选择一些文本,点击 M-o 并获得一个单独缓冲区中显示的所有选定文本的列表。
用户 M-g n 和 M-g p 循环通过原始缓冲区中的匹配行。
但请注意,不区分单行中的多次出现。
答案 2 :(得分:0)
您可以使用helm软件包执行相同的操作。 Emacs将搜索光标/“ point”上的单词(您 不需要突出显示。)
要在所有打开的文件/缓冲区中进行头盔搜索,请使用:
M-x头盔多摆物
要仅在您当前所在的文件/缓冲区中进行头盔搜索,请使用:
M-x头盔摆幅
按ENTER键将所选文件放到 选择的行。
要将这些功能绑定到相同的键盘,您需要 这在您的.emacs中:
(global-set-key (kbd "M-o") 'helm-multi-swoop-all) (global-set-key (kbd "C-f") 'helm-swoop)
NB Helm托管在MELPA信息库中。
HTH, 迈克尔