Ank*_*thi 4 emacs elisp text-editor
(我使用"窗口"和"框架"这两个词与Emacs手册使用它们的方式相同.)
我喜欢在工作时垂直分割我的Emacs框架,因为我喜欢并排看两个缓冲区.由于我有一个小屏幕,我更喜欢比平时更大的字体大小,所以这两个窗口都不足以显示每行甚至80个字符.当我在窗户之间切换时,我发现自己不得不摆弄它们的尺寸以防止我的代码被包裹.
有没有一种方法Emacs可以自动使当前活动窗口至少80个字符?我想要的是,每当我切换到一个窗口时,Emacs应该以一种我可以在单行上轻松看到我的代码的方式调整它.
比如,让我们说这是原始的分裂:
____________________
| | |
| | |
| | |
| | |
| | |
| | |
| | |
--------------------
Run Code Online (Sandbox Code Playgroud)
现在我将插入点移动到左侧窗口.Emacs应调整窗口大小,以便设置如下所示:
____________________
| | |
| | |
| | |
|insertion | |
|point | |
| | |
| | |
--------------------
Run Code Online (Sandbox Code Playgroud)
我已经在左侧窗口中编辑了缓冲区.现在我将插入点移动到右侧窗口.Emacs应该调整窗口大小,使它看起来像这样:
____________________
| | |
| | |
| | |
| |insertion |
| |point |
| | |
| | |
--------------------
Run Code Online (Sandbox Code Playgroud)
我确定我已经看到了一些确实如此的elisp,但我无法弄清楚我应该在Google搜索框中添加的正确咒语.
假设您正在使用other-window(默认情况下绑定到Cx o)在Windows之间切换,您可以像这样建议:
(defadvice other-window (after other-window-now activate)
(when (< (window-width) 80)
(enlarge-window (- 80 (window-width)) t)))
Run Code Online (Sandbox Code Playgroud)
这会自动将窗口放大(80 - 它的当前宽度列),使其宽80列.