@H_
403_0@
我已经咨询了这个资源:
http://www.emacswiki.org/cgi-bin/wiki/ControlTABbufferCycling,并尝试了buffer-stack.el,这很有用,但我发现
用户体验稍微尴尬而无法在堆栈中进一步
显示其他缓冲区.它也已过时(2002年),所以我想知道是否有改进的版本.该
页面上的大多数其他
链接也已损坏或非常旧.
我正在寻找一个ctrl选项卡基于堆栈的缓冲循环,类似于alt选项卡与windows一起使用的方式.理想情况下,它会在缓冲区列表中包含我当前位置的指示符.我不认为我想要的功能太具体,因为许多IDE已经具备此功能.
我想象一个类似于Eclipse中缓冲区循环的工具.选择如下:
我已经探索了其他选项,但似乎没有任何模仿已经在其他IDE(如Eclipse)中实现的功能.
我知道ido-mode,虽然它不适合我对快速基于堆栈的切换的需求.
我也知道其他非堆栈解决方案,如下所示:
(global-set-key [C-tab] 'next-buffer)
(global-set-key [C-S-iso-lefttab] 'prevIoUs-buffer);Linux
(global-set-key [C-S-tab] 'prevIoUs-buffer);Windows/Linux
但我更喜欢基于堆栈的交换机.
有什么建议么?这个功能在某个地方,甚至在开发中都可用吗?特别是带有索引指示符,如上面的Eclipse中所示.这将是非常棒的 – 我想它会像弹出窗口或迷你缓冲区一样.
试试这个片段:
(defun ctrltab ()
"List buffers and give it focus"
(interactive)
(if (string= "*Buffer List*" (buffer-name))
;; Go to next line. Go to first line if end is reached.
(progn
(revert-buffer)
(if (>= (line-number-at-pos)
(count-lines (point-min) (point-max)))
(goto-char (point-min))
(forward-line)))
(list-buffers)
(switch-to-buffer "*Buffer List*")
(delete-other-windows)
(forward-line)))
(global-set-key [C-tab] 'ctrltab)
它通常不如ido-switch-buffer,但无论如何它都能完成它的工作.