我有几个书签设置为跳转到dired
缓冲区。之前Emacs会在我的C-x r b
回调书签后在迷你缓冲区中为我提供一些(内联)候选列表,但是在我的.emacs
文件被一些黑客入侵后,将其分割成候选列表已经消失的模块。从Emacs迷你缓冲区中删除书签的完成选项
我假设我已经无意中改变了一些与ido
或autocomplete
有关的设置,我使用了这两个设置,但是我无法弄清楚它是什么。任何人都可以提出解决方案吗? [编辑:书签仍然存在,我可以跳转到他们,如果我输入书签的名称,但没有提示列表。如果我按TAB我得到完成候选人缓冲区,但我没有在迷你让他们]
和以前我会得到这样的:
我认为它与我从Scott Frazer复制的以下一系列功能有关。
(require 'bookmark)
(defun my-ido-bookmark-jump()
"Jump to bookmark using ido"
(interactive)
(let ((dir (my-ido-get-bookmark-dir)))
(when dir
(find-alternate-file dir))))
(defun my-ido-get-bookmark-dir()
"Get the directory of a bookmark."
(let* ((name (ido-completing-read "Use dir of bookmark: " (bookmark-all-names) nil t))
(bmk (bookmark-get-bookmark name)))
(when bmk
(setq bookmark-alist (delete bmk bookmark-alist))
(push bmk bookmark-alist)
(let ((filename (bookmark-get-filename bmk)))
(if (file-directory-p filename)
filename
(file-name-directory filename))))))
(defun my-ido-dired-mode-hook()
(define-key dired-mode-map "$" 'my-ido-bookmark-jump))
(add-hook 'dired-mode-hook 'my-ido-dired-mode-hook)
(defun my-ido-use-bookmark-dir()
"Get directory of bookmark"
(interactive)
(let* ((enable-recursive-minibuffers t)
(dir (my-ido-get-bookmark-dir)))
(when dir
(ido-set-current-directory dir)
(setq ido-exit 'refresh)
(exit-minibuffer))))
;;define-key ido-file-dir-completion-map (kbd "$") 'my-ido-use-bookmark-dir)
(add-hook 'ido-setup-hook 'ido-my-keys)
(defun ido-my-keys()
"Add my keybindings for ido."
(define-key ido-file-dir-completion-map (kbd "$") 'my-ido-use-bookmark-dir))
我有nerver有这样的名单,但是当我开始输入书签名称,我可以使用选项卡或回车键完成。出于个人兴趣,您使用的是什么主题? –
嗯,如果你从来没有见过它,那么也许它是在我添加到我的init文件中的函数,但如果是这样,我不能找到哪个函数是responsbile。主题是['tangotango.el'](https://github.com/juba/color-theme-tangotango),我使用的是Emacs 24.3的'load-theme'(用于使用'color-theme '对于这种事情,但没有更多)。 – SlowLearner
您的配置版本是否受到控制? –