【问题标题】:Emacs fast navigation by character?Emacs 按字符快速导航?
【发布时间】:2011-12-17 09:04:20
【问题描述】:

我遇到了一个有趣的包,它可以按字符快速导航,但我再也找不到它了,也不记得它的名字了。显然这个想法来自vim。肯定有一个 emacswiki 页面。

基本上,您按一个键进入次要模式,输入搜索词,它会使窗口变暗,并依次突出显示窗口中所有出现的搜索词。然后你可以按'a'进入第一个,'b'进入第二个,等等。

有什么帮助吗?

编辑:我将添加 vim 标记,因为 vim 包名称足以让我找到它。

【问题讨论】:

  • 请注意,内置的M-x occur 提供了该功能的一部分,标准的C-s 也提供了该功能的一部分,它突出显示给定搜索词的所有出现,并允许您通过键入@987654324 来循环查看匹配项@ 再次,或C-r 用于向后循环。另外,以同样的方式尝试C-u C-s 用于正则表达式。
  • 一切都与速度有关。我的眼睛盯着我想要的点,我不想跳过中间的比赛。如果匹配接近,则 iy-go-to-char 会保存来自 isearch 的击键。
  • 我还应该补充一点,我在 isearch 之上重新实现了 iy-go-to-char 以实现惰性匹配突出显示、与 acejump 的集成以及各种其他改进。 github.com/lewang/jump-char

标签: vim emacs navigation


【解决方案1】:

ace-jump-mode 似乎 成为你正在寻找的东西。

AceJump 的灵感来自一个叫做 vim 的插件 EasyMotion。 EasyMotion 提供了一种在 vim 中使用运动的更简单的方法。它 从 w 或 f{char} 中取出 突出显示所有可能的选择并允许您按一个键 直接跳到目标。所以我决定写点东西 Emacs 类似。

这种次要模式使您能够:

  • 跳到一个词
  • 跳转到单词中的任意字符
  • 跳到一行

维基页面也可以在 Emacswiki.

【讨论】:

  • 除了链接之外,您能否在此答案中添加更多细节?即使您链接到一个相当稳定的网站,它也有助于减少链接失效的机会,并且会提高未来访问者的问题质量。
  • 对于独立于 GitHub 存储库的源,这里是 EmacsWiki 链接:emacswiki.org/emacs/AceJump
  • 在 IntelliJ IDEA 中也有一个 Acejump 插件。 plugins.jetbrains.com/plugin/?idea_ce&pluginId=7163
【解决方案2】:

如果 Vim 包名称足够:我想你指的是EasyMotion

【讨论】:

    【解决方案3】:

    它叫做iy-go-to-char.el,您可能在this EmacsRocks screencast 中看到它。不久前我也将它上传到marmalade-repo.org,如果您使用的是package.el,这可能会对您有所帮助。

    【讨论】:

    • 我拥有并使用它。但是我看到的包的工作方式不同。您可以按与所需匹配相对应的字母,而不是按住按键来遍历匹配项。似乎可以更快。
    • 啊哈,我的错。我刚刚尝试了ace-jump-mode,正如@Daimrod 所建议的那样,我认为它比iy-go-to-char 慢:匹配从缓冲区的开头开始“编号”,而不是光标位置,所以在你使用时总会有延迟读取缓冲区以查找“a”、“b”标记等。
    • 我不久前添加了iy-goto-char,但它还没有在我的工作流程中。似乎它应该在 isearch 之上实现以获得其他好处,例如突出显示目标。
    • 我在 isearch 之上重新实现了 iy-go-to-char 以实现惰性匹配突出显示、与 acejump 的集成以及各种其他改进。欢迎评论。 github.com/lewang/jump-char
    • @event_jr - 干得好。也许您可以将其提交给 marmalade-repo.org?
    猜你喜欢
    • 2012-02-03
    • 1970-01-01
    • 2018-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多