如何在minibuffer中弹出yank-pop

用了consult 和 vertico 两个包 直接说需求

  1. 当前有选中区域的时候 打开 搜索(consult-line) 自动填充minibuffer并搜索
  2. 当前没有选中区域的时候 在minibuffer中按 C-S-v 打开剪切板 yank-pop 可以选择剪切板中的内容搜索

我知道这两个需求不难…奈何实在不会写
尝试写了几次都报错 麻烦大佬指路

供参考:

(defun +consult-line-with-region ()
  (interactive)
  (if (region-active-p)
	  (consult-line (buffer-substring-no-properties
					 (region-beginning)
					 (region-end)))
	(consult-line)))

对于第二个需求,只需要开启嵌套 minibuffer 调用:

(setq enable-recursive-minibuffers t)

就可以在 minibuffer 中输入的时候用 M-x 调用任何功能,包括用快捷键 M-y 调用 consult-yank-pop

4 个赞

感谢大佬 学到了 还有个问题 就是我想把这种特性(有区域就填充minibuffer)沿用到文件搜索 字符串搜索 命令搜索
虽然可以每个函数都hack一下 有没有高级点的办法

可以参考这个贴子

1 个赞

收到 我看一下感谢

现在有一个问题 就是我选中了一个区域 然后弹出minibuffer自动弹出

但是会把选中区域给拉大 如何弹出minibuffer的时候取消选中区域啊