选择Emacs最底部的窗口
Emacs
字数317 2019-09-20

我写的Aweshell插件有一个功能,在Emacs底部打开一个终端窗口,方便快速切换终端窗口用于调试代码。

Emacs默认是没有选择最底部窗口的功能的,只有靠windmove.el这个库做最基本的四个方向选择,选择下面的窗口用 windmove-down 函数。

所以,我用下面的代码来实现选中最底部窗口的功能:

(ignore-errors
    (dotimes (i 50)
      (windmove-down)))

这段代码的作用主要是利用 windmove-down 这个函数的一个特性:如果光标已经在最底部窗口时会报错,然后利用 ignore-errors 宏来捕捉错误,从而停止往下面找窗口的动作。

一般人不会分屏50次,所以我随便写了一个 50 次循环, 哈哈哈哈。