В Emacs комбинация visual-line-mode и toggle-truncate-lines заставляет Ce не идти до конца строки. Как мне это исправить

492
Andrew Larned

Когда visual-line-modeв Emacs включен, длинные строки переносятся с естественным разрывом в тексте, что позволяет мне видеть весь текст в любой строке. 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аспект функции.

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

1
Режим визуальной линии отключается с помощью `(visual-line-mode -1)` Вы также можете убедиться, что вы не используете `global-visual-line-mode`, который влияет на все. lawlist 10 лет назад 1
Thatnks! Это была та часть, которую мне не хватало. Andrew Larned 10 лет назад 0

0 ответов на вопрос

Похожие вопросы