【问题标题】:Smart-tab in minibufferminibuffer中的智能标签
【发布时间】:2011-12-13 14:31:04
【问题描述】:

我刚刚发现 Hippie-expand 在迷你缓冲区中工作(通过 M=/),但是我使用 smart-tab(通过 TAB)在标准编辑期间完成(和缩进)。在 minibuffer 中点击 TAB 只会插入 4 个空格——这可能是我真正想要的。有没有办法在迷你缓冲区中直接使用 smart-tab 进行嬉皮扩展?我已经完成了路径、缓冲区和扩展命令(通过 ido/smex),但希望对需要输入的所有内容(例如,用于替换、搜索、刷新/保持行等)都有它。

目前我使用简单(Emacs 23.3):

(setq tab-always-indent 'complete)

虽然过去我有更精细的智能标签设置,但它在迷你缓冲区中也不起作用......

谢谢!

【问题讨论】:

  • 您希望在什么情况下完成制表符? minibuffer 有不同的 keymaps 用于 isearch、文件名输入、缓冲区切换等。其中,后两者具有开箱即用的制表符完成。
  • 正确 - 我通过 ido 自动完成路径、缓冲区,我也使用 smex。我的问题涉及其他所有问题-例如用于搜索/替换以及其他需要通过 minibuffer 输入的内容。

标签: emacs autocomplete elisp


【解决方案1】:

我认为您根本不需要 smart-tab 来完成 tab minibuffer。你可以试试 icomplete-mode:

(icomplete-mode +1)

由于 smart-tab 只是缩进或完成,并且在 minubuffer 中你永远不想缩进,我猜它基本上是一样的。

【讨论】:

  • 我已经尝试过了,但似乎没有做任何事情......根据 emacswiki 这类似于我使用的 smex。我对所有其他情况的自动完成感兴趣(我在问题中添加了说明)。
【解决方案2】:

Icicles 几乎在使用迷你缓冲区时为您提供 (TAB) 完成,唯一的例外是调用代码以不允许完成的方式显式使用迷你缓冲区。

(但是在构建 Lisp sexps 时(例如使用 M-:),您可以使用 M-TAB 来完成单个符号。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-28
    • 1970-01-01
    • 2013-08-03
    • 1970-01-01
    • 1970-01-01
    • 2015-06-24
    • 2017-11-22
    • 1970-01-01
    相关资源
    最近更新 更多