Câu trả lời ngắn gọn là để thêm phần sau đây để bạn custom-set-variables
: -
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
...
'(initial-frame-alist (quote ((fullscreen . maximized))))
...
)
Đưa ra dưới đây là những gì tôi muốn như một giải pháp cho vấn đề tương tự. TL; DR.
Tôi phải đối mặt với cùng một vấn đề nhưng trong tất cả các ứng dụng và không chỉ trong Emacs. Để kết thúc này, tôi đã giới hạn toàn cầu phím tắt cmd-m trên máy Mac của tôi vào tùy chọn menu Thu phóng, thường là tùy chọn trình đơn cho nút tối đa hóa màu xanh lá cây. Tuy nhiên, Emacs không cung cấp tùy chọn menu Zoom thường nằm trong mục menu Window. Vì vậy, tôi đã kết thúc với những điều sau đây.
Tôi vừa mã hóa tối hôm sau.
;; This defines cmd-m to do the same as clicking the green titlebar button
;; usually meant for the "Window -> Zoom" menu option in Mac apps
(defun zoom() "zoom, same as clicking the green titlebar button in Mac app windows"
(interactive)
(set-frame-parameter
nil 'fullscreen
(pcase (frame-parameter nil 'fullscreen)
(`nil 'fullheight)
(`fullheight 'maximized)
(`fullboth (ding) 'fullboth)
(`fullscreen (ding) 'fullscreen)
(_ nil))))
(global-set-key (kbd "s-m") 'zoom)
Phím tắt này ở dòng cuối cùng của mã cũng khớp với khóa toàn cầu của tôi với Mac cmd + m mà tôi mô tả ban đầu. Bạn có thể tùy chỉnh nó cho phù hợp với bạn. Tôi đã quen với việc nhấn cmd-m khi khởi chạy hầu hết các ứng dụng cho đến khi nó vừa với màn hình và Emacs là một trong số chúng cho tôi. Vì vậy, tôi không bận tâm với cài đặt initial-frame-alist
.
Tôi tiếp tục hoàn thành tính năng mà tôi muốn bằng cách thêm mã sau vào tối nay.
;; This defines ctrl-cmd-f to do the same as clicking the toggle-fullscreen titlebar
;; icon usually meant for the "View -> Enter/Exit Full Screen" menu option in
;; Mac apps
(defun toggle-fullscreen() "toggle-fullscreen, same as clicking the
corresponding titlebar icon in the right hand corner of Mac app windows"
(interactive)
(set-frame-parameter
nil 'fullscreen
(pcase (frame-parameter nil 'fullscreen)
(`fullboth nil)
(`fullscreen nil)
(_ 'fullscreen))))
(global-set-key (kbd "C-s-f") 'toggle-fullscreen)
; For some weird reason C-s-f only means right cmd key!
(global-set-key (kbd "<C-s-268632070>") 'toggle-fullscreen)
Một vài lưu ý: -
- Nếu bạn chỉ học tập để sử dụng
pcase
từ mã này, hãy cẩn thận để không mắc phải sai lầm giống như tôi đã làm bằng cách hiểu sai backquote như một trích dẫn trong tài liệu.
fullscreen
là một bí danh để fullboth
và không phải là một cái tên nhầm lẫn như sau này là như một thuật ngữ cho những gì nó có nghĩa và vì thế tôi đã không chỉ xử lý trường hợp đó là một giá trị cho (frame-parameter nil 'fullscreen)
nhưng sử dụng bất cứ khi nào tôi muốn set-frame-parameter
để fullboth
HTH
Bạn đã thử tìm kiếm trên Emacs Wiki, ví dụ: http://www.emacswiki.org/emacs/FullScreen#toc18 và http://www.emacswiki.org/emacs/EmacsForMacOS#toc27? Họ có thể hoặc có thể không được ra khỏi ngày, tôi không có một máy Mac vì vậy tôi không thể kiểm tra này. –
Tôi đã gặp rắc rối đáng kể với bản phân phối Emacs có sẵn từ emacsforosx.com; hôm nay tôi đã xây dựng một Emacs mới từ [phiên bản này đã được vá hoàn toàn cho OS X] (https://github.com/railwaycat/emacs-mac-port) và đã tìm thấy kết quả tốt hơn nhiều, bao gồm cả hỗ trợ toàn màn hình OS X thích hợp. Hi vọng điêu nay co ich! –
@Eric Fail - Vấn đề với việc thêm thẻ OSX là những người đó không biết gì về Emac và có khuynh hướng bỏ phiếu và bỏ phiếu để đóng vì họ là đối tượng mục tiêu sai. – lawlist