Ответ 1
Попробуйте следующее:
(defun my-set-tab-mode ()
(when (and (stringp buffer-file-name)
(string-match "\\.cat\\'" buffer-file-name))
(insert "OK")
(orgtbl-mode)))
(add-hook 'find-file-hook 'my-set-tab-mode)
Я хотел бы запустить hook для определенных расширений файлов (т.е. не для режимов). У меня есть нулевой опыт с elisp, поэтому я грузик-культ закодировал это:
(defun set_tab_mode ()
(when (looking-at-p "\\.cat")
(insert "OK")
(orgtbl-mode)))
(add-hook 'find-file-hook 'set_tab_mode)
(Должен установить дополнительный режим orgtbl для файлов с суффиксом .cat и вставить текст "ОК", т.е. это не только вопрос настройки режима). К сожалению, это не работает.
Попробуйте следующее:
(defun my-set-tab-mode ()
(when (and (stringp buffer-file-name)
(string-match "\\.cat\\'" buffer-file-name))
(insert "OK")
(orgtbl-mode)))
(add-hook 'find-file-hook 'my-set-tab-mode)
Вы можете использовать lambda в auto-mode-alist
:
(add-to-list 'auto-mode-alist
'("\\.cat\\'" . (lambda ()
;; add major mode setting here, if needed, for example:
;; (text-mode)
(insert "OK")
(turn-on-orgtbl))))