emacs 是否有提供快速 buffer 跳转的 package, 做到自定义按键可快速跳转到指定 buffer?

emacs 是否有提供快速 buffer 跳转的 package, 做到两个字母可以跳转到指定 buffer? 比如我想定义 ll 跳转到 log_llvm.org, lc 跳转到 log_compiler.org. 这样我执行 prefix key+ll 就会跳转到 log_llvm.org.

我之前是用 register 进行快速 buffer 跳转, 但一个字母不够用了, 我就是想 register 扩展到两个字母.

我试过 ace-jump-buffer, 它的配置方法我还没完全搞清楚, 就我现在来说, 它好像不支持自定义跳转 key, 比如分配给 log_llvm.org 的按键不是由我决定, 而是由它自动生成的. ace-jump-buffer 不配置用起来很不方便, 因为几十个 buffer 我很难一眼看到我想选择的 buffer.

我就用普通的 ivy-switch-buffer,手动多敲几个字母排除一下,比想着按哪个按键更省事。

switch-to-buffer 是不是就可以了?
(switch-to-buffer "log_llvm.org")

给你的快捷键绑定上

#'(lambda () (interactive) (switch-to-buffer "log_llvm.org"))

我用自己写的插件, 是类似于register的扩展, 不过我还是不理解你的需求.正常的话频繁跳转的 buffer 十几个已经是顶天了, 哪来的几十个呢, register单个字符的数量绝对是够的, 不要指望简单的设计去满足复杂的需求. 我想你想要的应该是类似 自动根据buffer 名字分词提取首字母绑定快捷键, 可问题在于文件名重复率太高了, ll 说不定能对应好几个buffer, 你还是要手动选择

GitHub - liuyinz/binky.el: A package helping you jumping between buffers and files in Emacs

1 个赞

干嘛不用 workplace 为自己的 buffer 分组呢?

我还真不知道你说的这个, 可以告诉我 workspace 相关的 package 名么?

我用perspective,它的readme还介绍了其他类似的package,你可以看看

helm 就可以达到目的吧。虽然不是完全和你的要求一样。但我感觉已经够方便了。一个快捷键,再随便按buff的名字中的字母就可以。