Tre*_*ent 5 emacs bookmarks elisp
我是elisp的新手.http://www.gnu.org/s/emacs/manual/html_node/elisp/Interactive-Codes.html#Interactive-Codes列出交互式参数的"代码字符",AFAIK在提示时修改输入机制的行为用户输入(例如:如果您指定输入是存在的文件名,emacs的自动完成功能将查找存在的文件名).
我试图找到一个已经存在的书签名称的代码 - 即:Emacs会提示用户输入一个书签名称,并在压片Emacs会显示可能的书签名称的完成.
这样的代码存在吗?
用于completing-read此。您可以编写一个函数来提示用户输入书签,如下所示:
(defun my-function ()
(interactive)
(let ((bookmark (completing-read "Bookmark: " (bookmark-all-names))))
...))
Run Code Online (Sandbox Code Playgroud)
如果您希望将提示作为其中的一部分interactive(以便结果将自动绑定到函数的参数),您可以使用以下替代方案:
(defun my-function (bookmark)
(interactive (list (completing-read "Bookmark: " (bookmark-all-names))))
...)
Run Code Online (Sandbox Code Playgroud)
为了让 Emacs 找到该函数,bookmark-all-names您还必须将以下行添加到您的 .emacs 文件中:
(require 'bookmark)
Run Code Online (Sandbox Code Playgroud)