1

Когда в 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 .

Что я делаю неправильно?

0