Emacs ido начинается с открытых буферов первым в списке циклов - PullRequest
1 голос
/ 05 сентября 2011

При переключении буферов с включенным режимом emacs ido в минибуфере отображается список завершений. Кажется, есть «особенность», что буферы, которые уже открыты, помещаются в конец списка. Однако я часто открываю один и тот же буфер в нескольких панелях.

Есть ли способ либо отключить эту "функцию", либо сделать наоборот: есть ли уже открытые буферы в начале списка завершения?

Ответы [ 2 ]

1 голос
/ 06 сентября 2011

Суть режима ido заключается в том, что вы не используете стрелки для перемещения между буферами в минибуфере. Вместо этого вы вводите часть имени буфера. В этом случае не имеет значения, где находится буфер в списке.

0 голосов
/ 06 сентября 2011

Это невозможно, если вы не хотите глубоко проникнуть в кишечник идо.

Как уже сказал eGlyph: вы, вероятно, неправильно используете ido (и есть также C-s для <right> и C-rдля <left>; не нужны клавиши со стрелками).

Но вы можете определить команду для выбора из уже показанных буферов (здесь только из текущего кадра, если вы хотите все показанные буферысначала вы должны собрать окна через `frame-list):

(defun choose-from-shown-buffers ()
  (interactive)
  (let ((buffers (mapcar (lambda (window)
                            (buffer-name (window-buffer window)))
                         (window-list))))
      (pop-to-buffer (ido-completing-read "Buffer: " buffers))))
...