問個ivy和M-x的問題

請問如何設置可以讓上次剛搜索運行的命令自動排在最上面,省得每次還要手動找上次的命令。

還有有方法讓m-x這個buff在屏幕中間顯示嗎?

謝謝。

m-x 按最近访问排序的话,可以用smex,ivy 显示到中间用 posframe。

借楼问个问题,怎么在 describe-function describe-variable 按最近查询过的命令排序?

求個具體配置,我抄一下:)

orderless

  (use-package counsel
    :bind (("M-x" . counsel-M-x)
           ("C-c i" . counsel-imenu) 
           :map minibuffer-local-map
           ("C-r" . 'counsel-minibuffer-history))
    :config
    (setq ivy-initial-inputs-alist nil)
    (use-package smex)

)

用 counsel-M-x ,安装 smex 后,显示列表就按最近使用排序了

我个人个习惯用 minibuffer 打开,所有没有配 posframe 放中间,这个配置论坛里其他讨论里应该有

1 个赞

我也用 orderless , 对候选里字符串做无序匹配。不过这里我想描述的是,用 counsel-describe-function 或者 describe-function 查寻了某个函数的说明后(比如查询 counsel-find-file), 下次执行 describe-function 时 counsel-find-file 能够显示在列表前几个

多谢,就是我想要的。

链接是发错了吗,怎么是 haskell 了。。是 prescient.el 吗?之前偶尔看到过这个包名,和你给的名称有点像,刚具体看了文档,好像有类似功能

对,手机搜的,抱歉😂

好的,有空尝试一下,多谢~

我也顺便借楼问一下怎么把最近访问过的文件放在recent file的最前面 :joy:

savehist-mode

试试 Centaur Emacs 是不是你想要的效果?

虽然是一年前问的的问题,但今天才又突然想起这个需求😓,我用的是 counsel-describe-function/variable…, ivy-perscient 似乎不支持,以上作者说它不维护 ivy 这一块了。 想知道用其他的 minibuffer 补全框架,在 查找帮助 上能根据使用历史排序吗?

我现在在用 vertico+consult,不需要 prescient.el 就支持历史排序。

radian 自己的 selectrum ,prescient 肯定是支持的。

:ok_hand:t2:,替换 ivy 的理由清单又添了一行

应该是可以支持的,需要修改ivy-re-builders-alist,绑定上counsel-describe-xxx 命令 和 ivy-prescient 就可以。

是的,以上 19 年 prescient 的 isusse 里有就有人讨论对 counsel-describe-xxx 支持上的一些 bug,作者还修复了,早期的这些commit 版本应该就能用,估计之后重构又乱了。这个需求比较小,近期也不想折腾,等现成方案了 :sweat_smile: