interactive 如何写可以在minibuffer中提供一个可以选择的列表

我想要通过一个交互式函数调用是时获得一个list的选项。

比如获取所有开启的buffer。interactive应该怎么写可以获取一个列表提供选择。像describe-function 这个效果一样

emacs -Q 看看 describe-function 的效果跟之前是不是一样。

这还真提醒我了。不一样。我用了ivy

有没有办法得到一个可以进行选择的列表呢?

安装了 helm / ivy 之后,内置的函数就可以下拉选择了:

(completing-read "> " '("foo" "bar" "qux"))

当然也可以使用 helm / ivy 提供的函数,实现更丰富的效果,但是写法稍复杂一点,具体看各自的手册。

1 个赞

谢了,我刚刚completing-read用错了。还在外面包了list。谢谢回复