Emacs 25和列表缓冲行为

T.E*_*.D. 13 emacs emacs25

有人可以帮我理解emacs 25中的list-buffer(aka Ctrlx- Ctrlb)行为吗?

我以前看到行为是它在另一个Emacs窗口(虚拟Emacs窗口)中打开缓冲区列表,如果需要,可以拆分第二个窗口.在某些版本中,它并不总是非常确定它使用的是哪个其他窗口(如果我有超过2个),但我至少可以指望它不使用光标所在的窗口.

我最近安装了25.0.50.1以解决远程文件打开错误(工作!),现在它并不总是这样做.它经常在我的光标所在的同一窗口中打开缓冲区列表.它通常以它以前的方式工作.我无法弄清楚它背后的任何押韵或理由.

有人可以启发我现在使用的算法吗?当我无法预测哪个窗口被替换时,它使管理多个emacs Windows以供参考查看几乎不可能.

bio*_*man 5

我猜你的主要问题是有一个方便的方法来切换缓冲区,而不是理解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包管理器.使用包管理器的好处:

  • 帮助检查依赖关系
  • 避免手动下载和解压缩.
  • 可以批量更新已安装的软件包

以下是启用melparepo和安装包的工作流程

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))
Run Code Online (Sandbox Code Playgroud)