Когда в Emacs включен visual-line-mode
, длинные строки переносятся с естественным разрывом в тексте, что позволяет мне видеть весь текст в любой заданной строке. Wrap
появляется в моей строке состояния. Иногда я хочу, чтобы строки не оборачивались. Я могу переключить это состояние командой: M-x visual-line-mode
. Тем не менее, когда я это делаю, C-e
не ведет меня до конца строки, а вместо этого где-то к "ширине экрана" или около того, хотя это кажется переменным.
Я могу исправить эту проблему, вызвав M-x toggle-truncate-lines
после запуска M-x visual-line-mode
, но я хотел бы использовать одну команду функциональных клавиш для последовательного запуска обеих команд.
В моем файле .emacs
меня сейчас есть это:
(global-set-key [f8] 'toggle-truncate-lines)
(global-set-key [f9] 'visual-line-mode)
После определения этих клавиш я могу последовательно использовать функциональные клавиши f9
и f8
, чтобы получить желаемые результаты. Я подумал, что мог бы написать функцию elisp для последовательного вызова двух функций, а затем сопоставить одну функциональную клавишу с этой функцией, например, так:
(defun unwrap-lines ()
"Unwrap lines, and fix the C-e not to the end problem"
(interactive)
(visual-line-mode)
(toggle-truncate-lines))
(global-set-key [f10] 'unwrap-lines)
Однако после определения этой функции кажется, что она вызывает только вторую команду в моей функции toggle-truncate-lines
и пропускает аспект функции visual-line-mode
.
Что я делаю неправильно?