2014-01-22 3 views
-1

Я загрузил два файла .el Один из них - выделить текущий столбец, в котором находится курсор, а другой - выделить некоторые конкретные слова. Я последовал за следующие действия, описанные в файле:Запуск файла .el при открытии emacs

(add-to-list 'load-path "~/.xemacs/packages/") // путь, где я сохранил файлы .el

(load "column-marker") // имя файла без расширения .el

На этом этапе он работает нормально, я считаю те, когда я нажимаю маркер столбца Mx, и я могу его использовать. Моя проблема начинается тогда, когда я хочу использовать его каждый раз, когда я открываю Emacs, и я обнаружил, что я мог бы использовать что-то похожее на это:

(add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode))

Что в моем случае я печатаю:

(add-to-list 'auto-mode-alist '("\\.\\'" . column-marker)) // Я хочу включить его для всех .something файлов

Но ... при этом возникает ошибка при открытии emacs и начинается с установки по умолчанию.

Что я делаю неправильно? Я пробовал много способов, и никто не работает.

Заранее спасибо

ответ

3
  1. Всегда опубликовать сообщение об ошибке вы видите. Это помогает другим помочь вам.

  2. C-h f auto-mode-alist говорит вам, что функции, которые вы используете в нем должны реализовать основных режимов. column-marker не является функцией основного режима. Это даже не функция; это файл.

  3. Что нужно сделать для каждого режима, в котором вы хотите, чтобы какая-либо функция в файле column-marker.el была вызвана, заключается в том, чтобы поставить эту функцию на крючок основного режима для этой функции. Например:

 
    (add-hook 'emacs-lisp-mode (lambda() (interactive) (column-marker-1 80)) 

и вот то, что делает Commentary в файле column-marker.el сказать?

;; Installation: Place this file on your load path, and put this in 
;; your init file (`.emacs'): 
;; 
;; (require 'column-marker) 
;; 
;; Other init file suggestions (examples): 
;; 
;; ;; Highlight column 80 in foo mode. 
;; (add-hook 'foo-mode-hook (lambda() (interactive) (column-marker-1 80))) 

Не может быть яснее. Если вы действительно прочитали его.

Серьезно, минимальное расследование в порядке, прежде чем вы отправляете вопрос в StackOverflow. Вы должны выполнить поиск в Google, откройте README и прочитайте их и т. Д. --- first. И в случае вопросов Emacs, IMHO, вы должны спросить Emacs в первую очередь (например, C-h v auto-mode-alist).

В соответствии с правилами S.O. публикация, не делая предварительных простых исследований, является даже основанием для закрытия вопроса. Поэтому не удивляйтесь, если этот вопрос будет закрыт или опущен.

+0

Я сделал исследование, я прошел через многие форумы, даже другие сообщения из S.O, примеры, и я сделал много попыток, и никто не работает. Вот почему я спрашиваю. Кроме того, я ничего не знаю о elisp. . Я ищу, чтобы выполнить этот столбец-marker.el и другой .el-файл каждый раз, когда я открываю emacs, и путем ввода (требуется «маркер столбца») ничего не происходит – user3178838

+0

Для '(требуется« маркер столбца ») для загрузки библиотеки, библиотека должна находиться в вашем« пути загрузки ». Сделайте 'C-h v load-path'. Emacs поможет вам, но вам нужно спросить об этом. И если вы используете стороннюю библиотеку, такую ​​как 'column-marker.el', тогда вы должны сначала открыть ее в Emacs и посмотреть, что говорит ее« Комментарий »о том, как ее использовать. В любом случае, надеюсь, мой ответ поможет. – Drew

+0

Получил это. Спасибо :) – user3178838

Смежные вопросы