БЛАГОДАРНОСТЬ
Я собрал решение из вещей, которые я нашел на следующих страницах:
ЗАМЕТКИ
Вы не указали, какую операционную систему вы используете. Я предполагаю, что это какой-то вкус * nix. Поправьте меня если я ошибаюсь. Если вы используете Windows, вы все равно можете использовать .emacs
я предлагаю, но не можете использовать обходной путь (см. Ниже).
Мое решение загружает emacs
с 4 - мя открытыми окнами, w3m
показывая Google в левом верхнем углу, питон оболочки в правом верхнем углу, последний открытый файл в левом нижнем углу и пустой буфер scratch
на правом нижнем углу. Это прекрасно работает, если вы запускаете emacs
без аргументов, но нарушает компоновку, если вы открываете файл прямо из командной строки:
emacs foo.txt
Поэтому я также предлагаю обходной путь для загрузки макета, только если не указано имя файла. Если вы всегда хотите загрузить макет с 4 окнами, просто добавьте строки lisp ниже непосредственно в ~/.emacs
вместо создания нового файла.
Если вы решили добавить строки непосредственно в файл ~/.emacs
, будьте осторожны с этими командами:
;; Set the max number of recent files kept
(custom-set-variables
'(recentf-max-saved-items 10)
'(inhibit-startup-screen t))
В файле custom-set-variables
может быть только один раздел пользовательских .emacs
поэтому вместо добавления этих строк в файл найдите существующий раздел пользовательских custom-set-variables
и просто добавьте переменную:
'(recentf-max-saved-items 10)
ОТВЕТ
Создайте в вашем $HOME
файл с именем .my_emacs_layout
содержащий эти строки (или добавьте их в файл ~/.emacs
, см. Примечания выше):
;; Activate recentf mode to get the list of
;; recent files
(recentf-mode 1)
;; Load the w3m browser, change this to the location of your `w3m` install.
;; You should be able to copy the relevant lines from your `~/.emacs`.
(add-to-list 'load-path "~/.emacs-lisp/emacs-w3m")
(require 'w3m-load)
;; Set the max number of recent files kept
(custom-set-variables
'(recentf-max-saved-items 10)
'(inhibit-startup-screen t))
;; Set up initial window layout.
(split-window-horizontally)
;; Open w3m in the main window, this
;; will be the top left
(w3m-goto-url "www.superuser.com")
;; Split the left window vertically
(split-window-vertically)
;; switch to the bottom left window
(other-window 1)
;; and load the most recent file
(recentf-open-most-recent-file 1)
;; I am sure there is a better way of doing this
;; but for some reason opening the python shell screws
;; around with the window focus and this ugly hack is
;; the best I could come up with.
(other-window 1)
(split-window-vertically)
(other-window 1)
(other-window 1)
(other-window 1)
;; open the python shell in what will be
;; the top right window
(py-shell)
Вот и все, теперь вы можете загрузить свой новый макет emacs
, запустив
emacs -l ~/.my_emacs_layout
Временное решение
Если вы хотите загрузить обычный сеанс emacs
при явном открытии файла и загрузить макет из 4 окон при простом запуске emacs
, добавьте эти строки в файл конфигурации вашей оболочки (~/.bashrc
если вы используете bash):
function emacs(){
if [ $# -eq 0 ]
then
/usr/bin/emacs -l ~/.my_emacs_layout
else
/usr/bin/emacs "$@"
fi
}