Emacs:如何打破ido迷你冰箱?

 linxin66063 发布于 2023-02-05 10:19

我一般都在使用ido-switch-buffer,但有时当候选人太多时, helm-buffers-list更可取.但是打破偶像,召唤掌舵并重新输入丢失的信息是一件麻烦事.

所以我编写了这段代码,它直接在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留在迷你缓冲区中.当我ido-exit-minibuffer之前添加一个电话时helm,它没有被调用.当我在之后添加它时,它会重置窗口配置.我怎么解决这个问题?

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有