1

我有一个关于 emacs 启动行为配置的问题。我对lisp一无所知,我只是喜欢用emacs进行编辑。

我想要的是以下内容:

  1. 我称emacs为emacs FILE
  2. emacs 打开一个窗口,标题为FILE
  3. emacs 水平分割窗口
  4. 在上面的框架中它打开一个文件FILE.abc
  5. 转到底部框架并打开FILE.xyz
  6. 最佳地回到上框架

我在这里看了看: 如何在 .emacs 中创建特定的窗口设置 ,它已经完成了一半。但是,宏的事情在我的情况下并没有真正起作用,因为我需要传递一个参数。非常感谢任何帮助。

4

1 回答 1

1

一般而言,如果您只停留在 Emacs 中“访问”(正如 Emacs - 40 年来 - 将其他已知的操作 - 30 年来 - 称为“打开”)文件,您会发现 Emacs 会更好地为您服务。

这是功能(未经测试):

(defun open-two-files (file)
  "Open FILE.abc in the top window and FILE.xyz in the bottom window.
http://stackoverflow.com/questions/15070481/specifying-emacs-startup-behavior"
  (interactive "FEnter file base name: ")
  (let ((old-window (selected-window))
        (new-window (split-window-below)))
    (find-file (concat file ".abc"))
    (select-window new-window)
    (find-file (concat file ".xyz"))
    (select-window old-window)))

您需要将其放入您的~/.emacs.el.

现在,如果你已经打开了 emacs,你需要M-x open-two-files RET foo RET打开foo.abcfoo.xyz.

如果你想开始一个新的 Emacs 会话,输入emacs --eval '(open-two-files "foo")'

于 2013-02-25T18:33:28.740 回答