Подтвердить что ты не робот

Как загрузить файл в буфер и переключиться в буфер при запуске в Emacs

У меня есть файл TODO, который я загружаю emacs, чтобы использовать его в 90% случаев. Когда я загружаю emacs, хотя по умолчанию он загружает буфер нуля. Я бы хотел, чтобы он сначала загрузил файл TODO. Я очень новичок в Emacs и попытался найти способы для этого, используя файл .emacs, но до сих пор ничего не работало.

Вот мои попытки:

1: используйте find-file, чтобы получить файл и переключиться на буфер, чтобы загрузить его на экран

(switch-to-buffer (find-file "c:/Users/Seb/Documents/Emacs/TODO_List.org"))

2: используйте pop-to-buffer для загрузки файла вместо

(pop-to-buffer (find-file "c:/Users/Seb/Documents/Emacs/TODO_List.org"))

3: Сохраните рабочий стол, чтобы он загружался в следующий раз

(desktop-save-mode 1)

Ни один из них не работает.

Вот мой полный файл .emacs, как вы можете видеть, он почти не используется!

(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.
; '(inhibit-startup-buffer-menu t)
'(inhibit-startup-screen t)
'(initial-buffer-choice t))
(custom-set-faces
  ;; custom-set-faces 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.
 )

;; Set the current directory to the Emacs Documents dir
(cd "C:/Users/Seb/Documents/Emacs")

;; Open TODO list on start up
(pop-to-buffer (find-file "c:/Users/Seb/Documents/Emacs/TODO_List.org"))

;; Turn off the annoying tool bar at startup - to turn back on 
;; just type M-x tool-bar-mode
(tool-bar-mode -1)

;; Move the mouse when cursor is near
(mouse-avoidance-mode 'cat-and-mouse)

;; This enables saving the current desktop on shutdown.
(desktop-save-mode 1)

;; XML Pretty Print
(defun xml-pretty-print (begin end)
  "Pretty format XML markup in region. You need to have nxml-mode
http://www.emacswiki.org/cgi-bin/wiki/NxmlMode installed to do
this.  The function inserts linebreaks to separate tags that have
nothing but whitespace between them.  It then indents the markup
by using nxml indentation rules."
  (interactive "r")
  (save-excursion
      (nxml-mode)
      (goto-char begin)
      (while (search-forward-regexp "\>[ \\t]*\<" nil t) 
        (backward-char) (insert "\n"))
      (indent-region begin end))
    (message "Ah, much better!"))
4b9b3361

Ответ 1

В вашем файле запуска у вас есть эта строка:

'(initial-buffer-choice t))

как часть вашей команды "настраиваемые переменные". Строка документации для "выбора исходного буфера":

Буфер для отображения после запуска Emacs. Если значение равно nil и inhibit-startup-screen' is nil, show the startup screen. If the value is string, visit the specified file or directory using найти файл. Если t, откройте буфер "scratch".

Итак, указанное вами значение ('t') вызывает отображение буфера *scratch* после запуска. Измените эту строку на следующую и ваша проблема должна быть решена:

'(initial-buffer-choice "c:/Users/Seb/Documents/Emacs/TODO_List.org"))