我正在尝试为emacs中的命令行实用程序接受用户输入。我有几个单词可以在这个命令行中使用(类似于make调用的可能目标列表),我希望能够自动完成我知道的单词,允许用户在我的字典中输入多个条目,还允许用户写入我的字典中没有的内容。一些允许使用自定义字典在minibuffer中完成单词补全的库将是合适的。
我不需要一个完整的解决方案,但从哪里开始寻找几个指针将非常感谢。此外,如果可能的话,我宁愿避免使用像icicles或ido这样的介入式库--我不希望这个包的用户受到如何配置其其余设置的限制。
到目前为止,我最好的解决方案是对每个目标多次使用completing-read,直到用户输入空字符串。
解决方案
event_jr的答案做到了这一点。我使用的最后一段代码如下:
(require 'crm)
(let ((crm-separator " ")
(crm-local-completion-map (copy-keymap crm-local-completion-map)))
(define-key crm-local-completion-map " " 'self-insert-command)
(completing-read-multiple "prompt: " '("foo" "foobar" "baz"))))发布于 2012-05-15 18:46:00
这样如何:
(completing-read-multiple ": " '("foo" "foo2" "foobar"))https://stackoverflow.com/questions/10598820
复制相似问题