问题标签 [minibuffer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1304 浏览

emacs - 如何在 Emacs 中显示所有 minibuffer 命令历史记录?

我看到我可以通过在 minibuffer 中使用“Mp”来返回命令历史记录。但我想查看我在 minibuffer 中使用的所有命令。

谢谢。

0 投票
3 回答
1108 浏览

emacs - Emacs:与 TAB 的键绑定会破坏 minibuffer 中的自动完成功能

简单地说,我只是在 TAB 键上设置了一个键绑定,但是现在当我在 minibuffer 中按下 TAB 以自动完成命令时,它会失败并显示以下消息:The mark is not set now, so there is no region.

换句话说,当我的光标在缓冲区(而不是迷你缓冲区)中时,我只需要我的 TAB 键绑定。

在下面的示例中,当我在缓冲区中处于文本/基本模式时,如何将选项卡设置为缩进,而不会在迷你缓冲区中丢失自动完成功能?我有以下功能和键绑定:

0 投票
3 回答
1536 浏览

emacs - emacs:无法杀死 Minibuffer

我对 emacs 相当陌生,当我认为它不应该保持活动状态时,我遇到了 minibuffer 保持活动状态的问题。我对“其他窗口”有以下映射:

我知道如果它处于活动状态,这将在 minibuffer 中循环,我喜欢这种行为。问题是我的迷你缓冲区一直卡在以下状态:

有时当我什至不尝试进行正则表达式搜索甚至根本不进行搜索时,它就会进入那里。当我C-g击杀它时,我收到了Quit消息,但 minibuffer 保持活动状态并立即返回

此外,当它处于这种状态时,我无法使用M-s M-s它进入框架中的下一个窗口。C-x o不过似乎仍然有效。

我似乎也能够很好地运行其他 minibuffer commnands(例如文件搜索),即使我被这样卡住了。

有没有办法可以执行以下操作之一:

  1. 在该模式下终止 minibuffer。
  2. 设置我的自定义“其他窗口M-s M-s功能”以退出迷你缓冲区并进入下一个窗口?

任何一种解决方案都可以,尽管第一个解决方案可能会更好,因为让 minibuffer 卡住可能会产生其他意想不到的后果。

0 投票
1 回答
23 浏览

emacs - 为保存缓冲区扩展 Minibuffer 消息

是否有可能扩展 minibuffer 消息save-buffer来代替打印类似的东西

如果是这样,我应该修改什么钩子/字符串

0 投票
1 回答
80 浏览

emacs - 在 isearch-update-post-hook 中更新 minibuffer

在我寻找一个更简单的解决方案时,在Emacs 搜索中找到“1 of n”的结果,我想出了以下包

https://github.com/nordlow/elisp/blob/master/mine/indexed-isearch.el

但是显示的信息会延迟一个键击。如何解决这个问题?我的猜测是,我要么应该调用一些函数来更新isearch-cound-messageminibuffer,要么在 isearch 逻辑中更快地将更新注入到 isearch-message-suffix 中,以在 minibuffer 中显示信息。

有人知道吗?

0 投票
1 回答
292 浏览

emacs - emacs 函数在被要求时将密码发送到 minibuffer

我通常通过 SSH 连接到机器并使用ssh.el. 我定义了一个命令,以便我可以快速执行此操作:

之后,迷你缓冲区要求我输入密码,一切正常。我想知道是否有办法在我的函数中设置我的密码,这样我就不必每次想连接到那台机器时都写它,所以我会有类似的东西:

那可能吗?

0 投票
1 回答
267 浏览

emacs - 使用非交互式 defun 将文本字符串插入 ido minibuffer

需要在 ido-find-file 期间使用绑定到键和弦的 defun 在 ido 迷你缓冲区中插入一些文本。此行为与以交互方式键入以下序列相同,Cx Cf,然后是 Ce 以编辑迷你缓冲区,然后删除当前文本,然后键入或拉出我要插入的文本。为此,我在 ido-find-file 之后运行了这个 defun:

我的期望是在一次调用 mytest 后,迷你缓冲区将包含给定的字符串(#3)。但是,似乎我需要运行 mytest 2x 才能将插入的字符串放入迷你缓冲区。在第一次调用之后,ido 迷你缓冲区处于编辑模式,但是好像只运行了 #1(原始文本仍然存在)。在第二次调用 mytest 之后,ido 迷你缓冲区似乎 #1、#2 和 #3 已被执行。

我正在使用一个独立的迷你缓冲区,它是一对一库的一部分。
在 Windows 上运行 GNU emacs 24.4。

这是我在 emacs 启动时运行的 ido 自定义配置。

我通过绑定各个命令然后以交互方式运行它们来确认逻辑有些合理。似乎从 lisp 运行相同的 defs 与以交互方式运行相同的行为不同。

Ido-edit-input 在 ido-find-file 期间是 Ce

还尝试在 mytest defun 中插入 (sit-for 1) 可能存在一些时间问题。

如何修改 defun mytest 以通过单次调用插入字符串 (#3)?

0 投票
1 回答
1641 浏览

emacs - Emacs 文本卡在 minibuffer 中

我正在使用 GNU Emacs 24.4.1(编辑:也可以在 24.5.1 中看到)。vc-mode 的一些旧输出(我认为)出现在 minibuffer 中:

我现在没有做任何版本控制操作,但是这个文本被卡在了 minibuffer 中。按 Cg 会用 Quit 短暂地替换它,但它会在下一次击键时返回。

它不是什么:它不是递归编辑。C-] 或abort-recursive-edit给出错误No recursive edit is in progress并且小缓冲区中的尴尬文本仍然存在。

它不是用鼠标选择的文本,因为我在没有鼠标支持的文本控制台(通过 ssh 的 GNU 屏幕会话)中运行。

我已经尝试了来自http://www.emacswiki.org/emacs/MiniBufferswitch-to-minibuffer的命令,但这给出了错误。然而,这种尴尬的文字仍然不断出现。Minibuffer is not active

这不是屏幕大小问题(文本陈旧,因为 Emacs 不知道终端窗口的正确大小),因为我可以调整终端窗口的大小,而 Emacs 可以正确调整大小……文本仍然显示在 minibuffer 中。

有时我会在 minibuffer 中看到两行或多行文本的这种效果。事实上,我当前的 Emacs 会话emacsclient -nw在一个屏幕中的一个客户端会话 ( ) 中具有该会话,而主会话仅显示一行。客户端会话在 minibuffer 中显示了几行版本控制 gunk:

我怎样才能让它消失?

0 投票
1 回答
73 浏览

emacs - 如何在 minibuffer 中使用 Mx?

假设我想创建一个文件。然后我被要求输入名字。我想使用日期作为文件名。我想用M-x insert date (I define myself). 我怎样才能做到这一点?

0 投票
1 回答
315 浏览

emacs - 将文本插入活动的 Minibuffer

我试图在运行外部命令后将文本插入迷你缓冲区。例如

问题当然是 eval-expression 在用户输入之前不会返回。我的最终目标是添加一些默认值的可编辑文本添加到任意命令(即“默认字符串”或模板)的迷你缓冲区提示中。我怎样才能做到这一点?