在emacs中,我已经在使用iswitchbuffer了,但是我仍然想通过缓冲区切换来提高效率。
一个经常出现的常见情况是,我有6或7个相同或几乎相同的文件名。例如:
server.py<proj1> server.py<proj2> server.py<proj3>... foo_server.py<proj4>
问题是,当我切换缓冲区时,我必须输入大部分目录上下文。
输入目录上下文的另一种方法是弹出一个完成窗口,显示:e
Click on a completion to select it.
In this buffer, type RET to select the completion near point.
Possible completions are:
... ....
但这也不令人满意,因为我必须切换到窗口并用鼠标选择一个。
我更喜欢的是使用tab或其他键来突出显示可选的缓冲区选择,然后输入以选择一个。有办法做到这一点吗?
在iswitchb-mode(及其后续1 ido-mode)中,通过候选项循环的默认绑定是Ctrl+s和Ctrl+r。
您应该能够通过输入文件名的公共位来限制候选对象,然后使用这些绑定循环遍历这些候选对象。
1参见iswitchb.el
和ido.el
的标题文本
如果您使用icomplete-mode
(这有点像iswitchb-mode
,但适用于所有补全而不仅仅是缓冲区),您可以使用C-,和循环到下一个/前一个匹配候选 C -。。
另一个选项,如果您使用默认的补全系统(带或不带icomplete-mode
),则键入serv*1
(例如)以选择server.py<proj1>
。