Подтвердить что ты не робот

Emacs 25 и поведение списка-буферов

Может ли кто-нибудь помочь мне разобраться в list-buffer (aka Ctrl x - Ctrl b)) в emacs 25?

Поведение которое я привык видеть, состоит в том, что он открывает список буферов в другом окне Emacs (виртуальное окно Emacs), разделяя второе окно, чтобы сделать это, если необходимо. В некоторых версиях он не всегда был очень детерминированным, какое другое окно оно использовало (если у меня было больше 2), но я мог хотя бы рассчитывать на него, не используя тот, в котором находился курсор.

Недавно я установил 25.0.50.1 для обхода удаленной файловой ошибки (работает!), и теперь это не всегда так. Очень часто он открывает список буфера в том же окне, в котором находился мой курсор. Часто он работает так, как он привык. Я не могу понять какую-либо рифму или причину, по которой она хочет делать.

Может кто-нибудь просветить меня по алгоритму, который он использует сейчас? Он делает управление несколькими emacs Windows для справки почти невозможным, когда я не могу предсказать, какое окно будет заменено.

4b9b3361

Ответ 1

Я бы предположил, что ваша главная задача - иметь удобный способ переключения буфера, а не понимать исходный код emacs, поэтому я настоятельно рекомендую проверить пакет helm: http://tuhdo.github.io/helm-intro.html Это займет около 10-20 минут, чтобы установить и следовать учебнику, и это стоит того. Я обещаю.

После установки helm и включения его последовательность клавиш для вас - Ctrl - x b: Shows open buffers, recently opened files

Вы получите блок питания многих других инструментов для работы в emacs. У меня была такая же проблема с переключением буферов и, казалось бы, "хаотичным" всплывающим окном. После установки helm проблема минимизируется до невидимой, потому что так легко переключаться на нужные вам буферы.

Обновление

Для устранения ошибок установки пакета и совместимости пакетов: M-x list-load-path-shadows, чтобы увидеть, есть ли конфликтующие пакеты. И поскольку у вас может не быть много внешних пакетов, я предлагаю создать резервную копию ~/.emacs.d и иметь новый пустой. Кроме того, в большинстве случаев при установке пакетов я пытаюсь использовать диспетчер пакетов emacs. Преимущества использования ящика:

  • помощь проверки зависимостей
  • избегать ручной загрузки и распаковки.
  • может выполнять пакетное обновление установленных пакетов.

Ниже приведен рабочий процесс включения melpa репо и установки пакетов

M-x customize-group RET package
# Click or move cursor to and enter: Package Archives
# Insert the melpa repository. 
Archive name: melpa
URL or directory name: http://stable.melpa.org/packages/
#Save above settings and then you can use the following to install packages:
M-x list-packages RET
f to filer package names
i to mark for installation
x for execution of installation
u for unmark package at cursor. 

# to avoid using load-path repeatedly,
# I have this in my .emacs before any 'require' command:
; Set path recursively to one folder
(let ((default-directory "~/.emacs.d/elpa/"))(normal-top-level-add-subdirs-to-load-path))