【问题标题】:Load Emacs File and Create Window Arrangement Upon Load加载 Emacs 文件并在加载时创建窗口排列
【发布时间】:2019-04-02 21:37:20
【问题描述】:

我想知道是否以及如何在 Emacs 中执行以下操作:

  1. 每当打开 Emacs 时加载某个文件。特别是,它是一个位于用户主目录中的 .ORG 文件。

  2. 在该 Emacs 框架内创建特定排列的窗口。如果这很重要,框架将作为 GUI 打开。例如,它可以是两个垂直窗口,其中一个又分成三个较小的窗口。

【问题讨论】:

标签: emacs startup


【解决方案1】:

这是一个有点不优雅的解决方案,但您可以让您的 init 文件运行与手动完成设置完全相同的命令(使用 C-h f 帮助查找您不使用命令名称的任何键盘快捷键'不知道)。

要打开文件,您可以使用命令find-file(由C-x f 运行的命令)。您可以使用split-window-rightsplit-window-below(分别为C-x 2C-x 3)来拆分窗口。 (应该注意,有一个更通用的split-window 命令,但我在这里避免使用它,因为我只是在复制如果我们手动设置所有内容,Emacs 会做什么。)命令other-window (C-x o)更改框架内的窗口 - 请注意,此函数在不以交互方式使用时需要输入参数(要遍历的窗口数)。

您可以获得类似于您所询问的设置(左侧的 org 文件,右侧的 3 个水平拆分,所有单独的空缓冲区),其中包含以下内容:

(find-file "ABSOLUTE-PATH-TO-FILE.org")
(split-window-right)
(other-window 1)
(split-window-below)
(switch-to-buffer "Fresh-Buffer-1")
(other-window 1)
(split-window-below)
(switch-to-buffer "Fresh-Buffer-2")
(other-window 1)
(switch-to-buffer "Fresh-Buffer-3")
(balance-windows)
(other-window 1)

您可能还想使用函数set-frame-height 和/或set-frame-width 给自己一个适当大小的框架(示例用法(set-frame-width (selected-frame) 120))。此外,我建议将其放在您的 init 文件的末尾,这样您正在创建的缓冲区的模式就不会干扰您的任何其他 init 函数。

【讨论】:

  • 谢谢。 balance-windows 最近几天对我来说是一个很好的发现:)
猜你喜欢
  • 2016-10-29
  • 1970-01-01
  • 2015-01-21
  • 1970-01-01
  • 2016-04-18
  • 1970-01-01
  • 2022-09-23
  • 2022-01-05
  • 1970-01-01
相关资源
最近更新 更多