emacs:控制选项卡缓冲循环,或堆栈缓冲循环,类似于windows之间的alt-tab

我已经咨询了这个资源: 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,但无论如何它都能完成它的工作.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...