从filemanager打开文件作为完整窗口

时间:2013-12-09 16:06:18

标签: emacs

使用Window Explorer或GNOME Nautilus File在emacs中打开文件时,文件在拆分视图中打开,底部窗口包含emacs欢迎屏幕。

是否有任何方式将文件作为单个窗口打开,剩余的缓冲区如* scratch“, message 等仍保持打开但隐藏。

3 个答案:

答案 0 :(得分:1)

如果您想永久保留该行为,可以使用:

(add-hook 'find-file-hook 'delete-other-windows)
在你的emacs初始化中

答案 1 :(得分:1)

以下是如何为Ubuntu做到这一点: 写入文件/usr/local/share/applications/emacsclient.desktop

[Desktop Entry]
Name=Emacsclient
GenericName=Text Editor
Comment=View and edit files
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
Exec=/usr/local/bin/emacsclient %F
Icon=emacs
Type=Application
Terminal=false
Categories=Development;TextEditor;
StartupWMClass=Emacs

确保emacsclient确实位于/usr/local/bin/emacsclient (您可以在bash中使用which emacsclient来查看此内容)。 然后从bash执行:

sudo update-desktop-database

最后,添加到您的~/.emacs

(require 'server)
(or (server-running-p) (server-start))

在此之后,一旦Emacs实例运行,单击Nautilus中的文件 将在Emacs的当前窗口中打开它,而不更改窗口配置。

答案 2 :(得分:0)

通常,如果没有其他设置控制窗口/帧选择,则函数display-buffer(或其相关的函数族,例如pop-to-buffer)默认为分割窗口。如果您还有其他问题,那么您的初始缓冲区之一可能会使用类似的东西 - 或者您有display-buffer-alist设置导致它。

使用(setq initial-buffer-choice t)将取消欢迎屏幕,只留下*scratch*缓冲区。

我在我的Emacs设置文件中使用它:

(setq initial-scratch-message nil)

(setq initial-buffer-choice t)

根据您是否有desktop-save-mode有效,您可能还需要这样的内容。 。 。我修改了desktop-read函数,以便我可以在after-init-hook之后使用它(在emacs-startup-hook之前加载)。

(add-hook 'emacs-startup-hook (lambda ()
  (bury-buffer "*scratch*") ))