- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一般使用 ido-switch-buffer
,但有时当候选人太多时,helm-buffers-list
是可取的。但是脱离ido很麻烦,
调用 helm 并重新输入丢失的信息。
所以我写了这段代码,它直接在 helm 中重用了在 ido 中输入的信息:
(require 'helm-buffers)
(defun switch-to-helm-buffers-list ()
"Emulate `helm-buffers-list' call with ido contents as initial input."
(interactive)
(let ((str (minibuffer-contents-no-properties)))
(helm :sources '(helm-source-buffers-list
helm-source-ido-virtual-buffers
helm-source-buffer-not-found)
:buffer "*helm buffers*"
:keymap helm-buffer-map
:truncate-lines t
:input str)
;; (ido-exit-minibuffer)
))
(add-hook
'ido-setup-hook
(lambda()
(define-key ido-buffer-completion-map "\C-i"
'switch-to-helm-buffers-list)))
ido-exit-minibuffer
之前
helm
,它没有被调用。
最佳答案
查看答案 https://stackoverflow.com/a/21165658/1937596
首先,我对您的函数进行了一些修补。
(require 'helm-buffers)
(defun switch-to-helm-buffers-list ()
"Emulate `helm-buffers-list' call with ido contents as initial input."
(interactive)
(let ((str ido-text))
(helm :sources '(helm-source-buffers-list
helm-source-ido-virtual-buffers
helm-source-buffer-not-found)
:buffer "*helm buffers*"
:keymap helm-buffer-map
:truncate-lines t
:input str)
))
ido-buffer-internal
(内部用于
ido-switch-buffer
)也是。
(eval
(read
(replace-regexp-in-string
"cond"
"cond ((eq ido-exit 'eab-ido-helm) (call-interactively 'switch-to-helm-buffers-list)) "
(save-window-excursion
(find-function-do-it 'ido-buffer-internal nil 'switch-to-buffer)
(let ((bgn (point)))
(forward-sexp)
(let ((end (point)))
(buffer-substring-no-properties bgn end)))))))
(defun eab/ido-helm ()
(interactive)
(setq ido-exit 'eab-ido-helm)
(exit-minibuffer))
eab/ido-helm
而不是
switch-to-helm-buffers-list
在
define-key
.
(add-hook
'ido-setup-hook
(lambda()
(define-key ido-buffer-completion-map "\C-i"
'eab/ido-helm)))
关于Emacs:如何突破 ido minibuffer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21000540/
场景: 我开始输入 M-x 来输入命令 我切换到另一个 emacs 窗口/缓冲区,因为我意识到我在错误的窗口中执行命令 我开始再次输入 M-x 以在正确的窗口中执行命令 结果:我收到可怕的“命令试图在
我对 emacs 相当陌生,当我认为它不应该保持事件状态时,我遇到了 minibuffer 保持事件状态的问题。我对“其他窗口”有以下映射: (global-set-key (kbd "M-s M-
我一般使用 ido-switch-buffer ,但有时当候选人太多时,helm-buffers-list是可取的。但是脱离ido很麻烦, 调用 helm 并重新输入丢失的信息。 所以我写了这段代码,
当在接受正则表达式并提供 C-p/C-n 历史导航的几个命令中时,我试图重新定义用于导航历史的键。除了 C-p/C-n 之外,我还想使用其他键。例如,当使用发生或替换正则表达式时,C-p 和 C-n
我想从 dired-mode 打印通过使用 P .这适用于我通过 lpr-switches 设置的默认打印命令,但我经常想编辑命令。例如,如果 P建议 lpr , 我要加 -o number-up=2
我想在 Emacs 中设置一种 ISearch 模式替换,我可以在每次输入到 minibuffer 后运行命令。是否可以? 编辑 1: 这个想法是用我自己的模式完全取代 ISearch。理想情况下,我
我正在使用 ido mode 用于 Emacs 23 中的文件和缓冲区切换。 如果目录中的文件超过一行,则以下选项允许调整迷你缓冲区的大小: (setq resize-mini-windows t)
我正在使用 GNU Emacs 24.4.1(编辑:也见于 24.5.1)。来自 vc-mode(我认为)的一些旧输出出现在 minibuffer 中: Auto-merging foo/bar 我目
我正在尝试转auto-complete在小缓冲区中: (add-hook 'minibuffer-setup-hook 'auto-complete-mode) 我得到的是auto-complete在
我已经开始在 30 英寸显示器上编码,想知道是否可以在 emacs 中将 minibuffer 移动到屏幕顶部?谷歌搜索没有显示任何内容。 干杯 尼迈·埃瑟里奇 最佳答案 查看 default-min
我想做的是,当我发现自己使用一个提示我输入值的函数时,这个值总是正确的,以便能够将函数绑定(bind)到一个键并自动接受答案,在迷你缓冲区中模拟 RET。 以“ido-switch-buffer”为例
当我使用 query-replace将“abc”替换为“def”,然后调用 query-replace再次,我得到一个看起来像这样的迷你缓冲区,都在同一张脸上: Query replace (de
我使用 Ido 模式,也使用 Ergoemacs 模式,它绑定(bind)了 find-file命令 C-o。当您浏览文件时,您可以通过在 minibuffer 中按 C-x C-f 来暂时禁用 Id
我看到我可以通过在 minibuffer 中使用“M-p”来返回命令的历史记录。但我想查看我在 minibuffer 中使用的所有命令。 谢谢。 最佳答案 变量是 command-history ,不
我是 Emacs 的新手。我在 Windows 上运行 emacs。当我通过单击 runemacs.exe 启动 Emacs 时,我有一个欢迎窗口。现在要创建一个新文件并进行一些实验编辑,我按 C-x
这个问题在这里已经有了答案: is it possible to move the emacs minibuffer to the top of the screen? (4 个回答) Using g
我写emacs lisp代码如下: #!/usr/bin/emacs --script (setq input (read-minibuffer "please input your name:")
我想为 minibuffer 完成列表设置一个特定的窗口。目前,我在此配置中有 3 个窗口: ______ | | | |____| | |____|_| 在这种情况下,我想将左下角的窗口用于
我可以通过点击 M-! 快速运行 shell 命令。我想做的一件事是对当前文件执行 shell 快速操作。一个例子是通过 perforce check out 文件: M-! p4 编辑缓冲区文件名
我是一个邪恶的 Emacs 用户。然而,当我发现普通模式比常规 Emacs 命令更方便时,我真的只使用普通模式进行精美的 Vim 风格编辑。 (主要是花哨的批量编辑/猛拉/删除)。然而,我也是 min
我是一名优秀的程序员,十分优秀!