Установка плагинов Emacs на Windows

Я уже просмотрел другие темы, но так и не смог найти решение. Я пытаюсь установить плагин "nxhtml" для Emacs в Windows 7. Я уже установил переменную окружения "HOME" как "C:\". Итак, моя папка.emacs.d находится там, и я поместил туда nxhtml и добавил следующую строку в мой файл "_emacs.d", как говорится в файле readme:

(загрузить "C:\.emacs.d\nxhtml\autostart.el")

Но это не загружается.

Я также попытался поместить: (add-to-list 'путь загрузки "C: \. Emacs.d \ nxhtml")

(загрузить "autostart.el")

Но безрезультатно... может кто-нибудь пролить свет здесь? Тпй.

2 ответа

Ряд пунктов здесь:

Во-первых, _emacs.d не является именем файла по умолчанию для вашего файла инициализации, т.е. emacs не будет загружать его автоматически. Вместо этого попробуйте ~/.emacs.d/init.el или ~ /.emacs.

Во-вторых, в Windows 7 есть функция, которая предотвращает запись программ в определенные системные каталоги, но для обратной совместимости для многих старых программ, которые делают это, вместо того, чтобы вызывать сбои, она молча перенаправляет запись в другое место, в специальный каталог приложения., C:\ является одним из этих каталогов, поэтому настройка вашего HOME на указание там вызывает проблемы.

В-третьих, посмотрите другой ответ о том, что обратная косая черта является escape-символом в строках Lisp.

\ является особенным в синтаксисе чтения (двойных кавычек) для строк, так как определенные символы приобретают новое значение, если им предшествует обратный слеш (например, \n это новая строка, \t это вкладка, и \" является символом двойной кавычки). Если следующий символ не имеет никакого специального значения в сочетании с обратной косой чертой, этот символ используется дословно, а обратная косая черта игнорируется.

"C:\.emacs.d\nxhtml\autostart.el" на самом деле строка:

C:.emacs.d
xhtml^Gutostart.el

Чтобы включить \ в строке нужно написать \\

Однако, хотя Emacs и сейчас понимает обратную косую черту, он совместим на всех платформах, что позволяет / в качестве разделителя каталогов1; так что просто сделай это вместо этого.

1 и устарел directory-sep-char Переменная была полностью удалена.

Другие вопросы по тегам