Как выполнить функцию при запуске в Emacs
Я хочу запустить следующую функцию (из Заменить один пробел на два после предложений в Emacs), когда я щелкаю правой кнопкой мыши файл в файловом менеджере, чтобы открыть документ с помощью Emacs.
(defun space12 ()
(interactive)
(save-excursion
(goto-char (point-min))
(while (re-search-forward "\\. \\([^ ]\\)" nil t)
(replace-match ". \\1" t))))
Это преобразует ". "
в ". "
без увеличения пространства существующих двух вхождений пространства.
Как это может быть сделано. Я думал о добавлении (space12) в init.el, но он, кажется, загружается до загрузки документа.
Пример ввода:
This is for test. This is second line with only one space at start. This is third line which already has 2 spaces before it. End of document.
1 ответ
Решение
Попробуйте добавить это в свой init.el:
(add-hook 'find-file-hook 'space12)
Однако это будет запускать вашу функцию для каждого файла, который вы открываете. Это то, что вы хотите?