Давно хотел написать для emacs несколько функций, которые бы позволили мне делать некоторые операции быстрей. Одной из таких задумок является быстрая смена символов перевода строки, коих у нас в ходу аж целых три: unix, dos и mac. При каждом вызове функция определяет используемый в данный момент вариант и устанавливает следующий из доступных. Это функция - мое первое произведение на emacs lisp )
UPD: 09.05.2014
Улучшен код.
(defun pa23-change-eol ()
"Change EOL for current buffer."
(interactive)
(let (my-current-eol
my-new-eol
my-new-coding)
(setq my-current-eol
(coding-system-eol-type buffer-file-coding-system))
(if (equal my-current-eol 2)
(setq my-new-eol 0)
(setq my-new-eol (1+ my-current-eol)))
(setq my-new-coding
(coding-system-change-eol-conversion
buffer-file-coding-system my-new-eol))
(set-buffer-file-coding-system my-new-coding)
)
)
Приведенный выше код можно поместить в свой файл .emacs и назначить на эту функцию горячую клавишу, например, F12.(global-set-key [f12] 'change-eol)
Напомню также, что мой рабочий вариант файла .emacs можно взять здесь.UPD: 09.05.2014
Улучшен код.
Комментариев нет:
Отправить комментарий