【发布时间】:2009-07-17 17:41:13
【问题描述】:
我希望能够像以下命令一样使用 Emacs 打开多个文件:
emacs file1 file2
并且在 Emacs 启动时让 Emacs 屏幕 - 不被水平分割。在不同的缓冲区中打开文件是我所期望的,整个 Emacs 窗口中只显示一个文件。
那么我该怎么做呢?
【问题讨论】:
标签: emacs
我希望能够像以下命令一样使用 Emacs 打开多个文件:
emacs file1 file2
并且在 Emacs 启动时让 Emacs 屏幕 - 不被水平分割。在不同的缓冲区中打开文件是我所期望的,整个 Emacs 窗口中只显示一个文件。
那么我该怎么做呢?
【问题讨论】:
标签: emacs
(add-hook 'window-setup-hook 'delete-other-windows)
按照我想要的方式工作...在我在这里询问后才发现。
【讨论】:
嗯,你可以像这样设置一个 (tcsh) 别名
alias emacs emacs -eval '"(run-with-idle-timer 0 nil (quote delete-other-windows))"'
这使得 emacs 隐藏所有其他窗口(所以你只有一个)。所以你的调用
emacs file1 file2
被翻译成
emacs -eval '"(run-with-idle-timer 0 nil (quote delete-other-windows))"' file1 file2
【讨论】:
恶心和骇人听闻,但它有效:
$ emacs -nw --eval "(mapcar 'find-file '(\"1.txt\" \"2.txt\"))"
【讨论】:
或者在 emacs 加载后直接按 C-x 1。
就个人而言,我认为如果您从命令行调用 emacs,您就是在滥用它。我倾向于从在 emacs 中运行的 eshell 中访问文件。
【讨论】:
find-file从eshell访问文件。