Открытие emacs без буфера очистки при открытии файла - PullRequest
6 голосов
/ 10 марта 2010

Я изменил настройку в Emacs. Теперь, когда я пытаюсь открыть файл из командной строки, он открывает буфер *scratch* поверх файла. Есть ли способ избавиться от этого? Или способ сбросить мои настройки запуска emacs?

Ответы [ 5 ]

4 голосов
/ 11 марта 2010
M-x customize-group
initialization

Затем, в Initial Buffer Choice, вы можете выбрать один из следующих вариантов:

  • Стартовый экран
  • Каталог
  • Файл
  • рабочий буфер

Наконец, нажмите сохранить для будущих сессий .

Вы также можете включить / выключить его. Посмотрим, может ли это помочь.

(Другая вещь, которую вы, вероятно, захотите сделать, это открыть только один буфер при запуске. Я не могу вспомнить, как это делается. Я опубликую обновление, если узнаю) 1020 *

3 голосов
/ 10 марта 2010

Вы можете перезагрузить файл .emacs с помощью M-x load-file ~ / .emacs . Есть и другие способы сделать это, посмотрите вопрос Как я могу загрузить изменения в мой .emacs без перезагрузки Emacs? .

Если вы считаете, что у вас проблема с файлом .emacs, попробуйте открыть с помощью опции -q:

emacs -q somefile

Если это работает, как ожидалось, у вас, вероятно, есть ошибка в вашем .emacs, и хорошим способом отладки вашего .emacs является использование опции --debug-init:

emacs --debug-init

Что скажет Emacs предоставить трассировку стека любой ошибки, с которой он сталкивается при загрузке .emacs, что-то вроде:

Debugger entered--Lisp error: (wrong-type-argument symbolp (car n))
 (setq (car n) 3)
 (let ((n ...)) (setq (car n) 3)) 
 eval-buffer(#<buffer  *load*<2>> nil "/home/tjackson/.emacs.tjackson.el" nil t)  ; Reading at buffer position 161460
 load-with-code-conversion("/home/tjackson/.emacs.tjackson.el" "/home/tjackson/.emacs.tjackson.el" nil nil)
 load("/home/tjackson/.emacs.tjackson.el")
 (let ((debug-on-error t)) (load user-init-file))
 (if init-file-debug (let (...) (load user-init-file)) (error (format "Problems while loading the file %s: %s" user-init-file ...)))
 (condition-case err (load user-init-file) (error (if init-file-debug ... ...)))
 (if (file-exists-p user-init-file) (condition-case err (load user-init-file) (error ...)))
 eval-buffer(#<buffer  *load*> nil "/home/tjackson/.emacs" nil t)  ; Reading at buffer position 12150
 load-with-code-conversion("/home/tjackson/.emacs" "/home/tjackson/.emacs" t t)
 load("~/.emacs" t t)
 #[nil "....."]
 command-line()
 normal-top-level()

И это обычно может указывать на то, что может быть не так. В моем случае выше я неправильно использую setq, и похоже, что он внутри оператора let, который находится внутри файла /home/tjackson/.emacs.tjackson.el. Быстрый поиск в этом файле приводит меня к ошибке, и я могу ее исправить.

1 голос
/ 07 августа 2013
Папка

Моя ~/.emacs.d принадлежала пользователю root с ограниченными правами r/w/x, поэтому я не смог получить доступ от имени любого пользователя без полномочий root.

Убедитесь, что у вашего текущего пользователя есть права на чтение конфигурационных файлов / каталогов emacs.

Это исправило это для меня:

sudo chown -R user:group ~/.emacs.d/

-R рекурсивно работает в каталоге.

1 голос
/ 10 марта 2010

Если вы хотите сбросить настройки emacs, вы можете переименовать текущий файл .emacs во что-то другое, чтобы создать резервную копию, а затем перезапустить Emacs.

0 голосов
/ 14 января 2016

Я удалил свой каталог ~/.emacs.d, и это исправило ситуацию для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...