1

diredバッファにジャンプするように設定されたブックマークがいくつかあります。以前は、Emacs は、ブックマークを呼び出すためにヒットした後、ミニバッファーのすぐそこに候補の小さな (インライン) リストを提供していましたC-x r bが、ファイルをハッキング.emacsしてモジュールに分割した後、候補のリストは表示されなくなりました。

idoまたはに関連する設定を誤って変更しautocompleteたと思いますが、どちらも使用していますが、それが何であるかはわかりません。誰でも解決策を提案できますか? [編集: ブックマークはまだ存在し、ブックマークの名前を入力するとジャンプできますが、プロンプト リストはありません。TAB を押すと、補完候補のバッファーが表示されますが、ミニバッファーには表示されません。]

ミニバッファ

以前はこれを取得していました:

ミニバッファ2

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))
4

1 に答える 1