3

Я использую Emacs 23 в дистрибутиве вариантов Debian GNU/Linux. В сеансе Emacs по умолчанию, запущенном с помощью emacs -q (для подтверждения настроек), я выполняю следующее, чтобы настроить желаемую среду:

 M-x toggle-truncate-lines <RET>
 M-x set-variable word-wrap t <RET>

Я оставляю visual-line-mode установленным по умолчанию.

Я хотел бы поместить эти настройки в мой файл ~/.emacs, чтобы они всегда были активными. Я сделал это со следующим:

(setq word-wrap t)
(setq-default truncate-lines nil)
(setq visual-line-mode nil)

Тем не менее, эти настройки не воспроизводят среду, которую я хотел бы. Длинные строки не оборачиваются - они выходят за правый край. Если я затем запустил M-x toggle-truncate-lines они переносятся так, как я хочу, но не на границах слов, поэтому настройка переноса слов также не действует. Я также попытался установить truncate-lines в ~/.emacs в t , но это не имело никакого значения. Документация по truncate-lines выглядит следующим образом, поэтому мне нужно задать для этой переменной значение nil :

*Non-nil means do not display continuation lines.
Instead, give each line of text just one screen line.

Я не разделил никакие окна по горизонтали, поэтому truncate-partial-width-windows не применяется.

Как настроить окружение, которое я хотел бы в ~/.emacs?

2 ответа2

2

если toggle-truncate-lines задан отрицательный аргумент, он всегда отключает усечение.

Так:

(setq-default word-wrap t)
(toggle-truncate-lines -1)
1

Если вы просто хотите повторить поведение вызова функции toggle-truncate-lines , почему бы просто не сделать:

(toggle-truncate-lines)

в вашем файле ~/.emacs ?

Конечно, вы также можете поместить туда (setq word-wrap t) , хотя я подозреваю, что вы должны это сделать (setq-default word-wrap t) , так как переменная word-wrap становится буферизованной при любой установке.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .