首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Emacs中选择一组文件名的缓冲区菜单

在Emacs中选择一组文件名的缓冲区菜单
EN

Stack Overflow用户
提问于 2014-01-29 11:50:11
回答 2查看 95关注 0票数 2

例如,我有一个带有一组模板的目录"a"

代码语言:javascript
运行
复制
$ ls a
b  bcc  cc  ccdd

我希望在Emacs中实现一个键盘快捷方式,它将显示一个带有模板名称的缓冲区,类似于diredbuffer-menu,然后可以使用箭头键或鼠标选择模板名。然后将选定的模板插入当前缓冲区。

这是如何做到的呢?

EN

回答 2

Stack Overflow用户

发布于 2014-01-29 13:12:29

为了用一些代码来增强Chris的回答,下面是ido-insert-file的一个小包装器

代码语言:javascript
运行
复制
(require 'ido)

(defvar so/template-directory "/tmp/templates"
  "Directory where template files are stored")

(defun so/insert-template ()
  (interactive)
  (let ((default-directory so/template-directory))
    (ido-insert-file)))

这允许您运行(或绑定一个键到) so/insert-template,不管您当前位于哪个目录。显然,将so/template-directory设置为首选目录。

票数 3
EN

Stack Overflow用户

发布于 2014-01-29 14:56:46

  • 克里斯说的关于Helm和Ido的一切都适用于http://www.emacswiki.org/cgi-bin/wiki/Icicles,并且更好地“缩小”功能,并按不同的顺序进行实时排序。 没有什么额外的事情可做--只需加载冰柱并打开冰柱小模式。无论何时使用标准命令insert-file (绑定到C-x i),都可以免费获得所请求的行为。实际上,Emacs中的所有完成都可以使用此行为。在冰柱模式下,标准命令变成菜单,你可以使用箭头键等等。
  • 此外,您的问题标题要求能够“选择一个”的文件。在冰柱中,您可以很容易地做到这一点,但不能用其他方法。IOW,选择也是多重选择。 (然而,我怀疑您的问题被错误地命名了,因为文本描述了一些不同的内容,我怀疑您是否想插入一组文件。您可能意味着要从一组文件名中选择一个文件名。考虑重新命名这个问题,如果是这样的话。)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21430290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档