有没有办法在 OSX 中以全屏模式使用 Emacs。
我目前正在使用 Emacshttp://emacsforosx.com/
编辑:自 Emacs 版本 24.4 发布以来,这个问题不再相关。请参阅接受的答案。
答案1
该功能已在 Emacs 24.4 中提供。来自 NEWS 文件:
非自由操作系统上 Emacs 24.4 的变化
...
改进了 Mac OS X 上的全屏支持。
支持原生(>= OSX 10.7)和“旧式”全屏。自定义“ns-use-native-fullscreen”以更改样式。对于 >= 10.7,原生是默认设置。
和:
新的命令
toggle-frame-fullscreen
和分别toggle-frame-maximized
绑定到<f11>
和M-<f10>
。
答案2
Emacs 的构建通过以下方式分发http://emacsforosx.com不包括全屏选项。
如果你使用自制包管理器,你可以通过以下方式安装支持全屏的 Emacs
brew install emacs --cocoa
然后你需要将 Homebrew 链接到你的目录Emacs.app
中的一个:/Applications
ln -s `brew --prefix`/Cellar/emacs/23.2/Emacs.app /Applications/Emacs.app
现在,您可以通过以下方式使用全屏模式ns-toggle-fullscreen.
答案3
如果您想保留您的 GNU Emacs 版本,这里有两种可行的经过测试的方法。
从Amit 的想法:Emacs:在 Mac OS X 上全屏对于 GNU (Cocoa/Nextstep) Emacs 23:
我正在使用maxframe.el 的修补版本,以及来自 EmacsWiki 页面的以下函数:
(defvar maxframe-maximized-p nil "maxframe is in fullscreen mode") (defun toggle-maxframe () "Toggle maximized frame" (interactive) (setq maxframe-maximized-p (not maxframe-maximized-p)) (cond (maxframe-maximized-p (maximize-frame)) (t (restore-frame)))) (define-key global-map [(alt return)] 'toggle-maxframe)
不幸的是,这并不能隐藏菜单栏或标题栏。
其他文章建议:
如果您想让 GNU Emacs 全屏显示,您需要做三件事:
- 禁用工具栏
这可以通过执行(在 Emacs 内部)来完成(tool-bar-mode -1)
- 禁用菜单栏
可以通过执行以下命令完成(menu-bar-mode -1)
- 进入全屏模式
你必须执行(set-frame-parameter nil 'fullscreen 'fullboth)
如果您像我一样想要禁用工具栏和菜单栏,并且希望能够通过按键(例如 F11)进入全屏,请将其添加到您的 .emacs 中:
;; F11 = Full Screen (defun toggle-fullscreen (&optional f) (interactive) (let ((current-value (frame-parameter nil 'fullscreen))) (set-frame-parameter nil 'fullscreen (if (equal 'fullboth current-value) (if (boundp 'old-fullscreen) old-fullscreen nil) (progn (setq old-fullscreen current-value) 'fullboth))))) (global-set-key [f11] 'toggle-fullscreen) ;; Disable tool-bar (tool-bar-mode -1) ;; Disable Menu Bar (menu-bar-mode -1)
答案4
单击绿色最大化/缩放按钮两次。第一次最大化高度,第二次最大化宽度。