Как активировать перенос строк в Emacs?

Как вы используете line-wrap (автопрокрутка? в emacs? Так что часть, которая не помещается на экране, не отображается в отличие от следующей строки?

4 ответов


то, что вы описываете, больше похоже на linewrap, чем на прокрутку. Если это то, что вас действительно интересует, оно управляется с помощью буферной локальной переменной truncate-lines. Вы можете использовать настройку, чтобы установить ее глобально, или использовать крючки. Например, я использовал для предотвращения linewrap в dired с этим:

(add-hook 'dired-mode-hook (lambda () (setq truncate-lines t)))

toggle-truncate-lines позволяет включать-выключать его (как отметил Питер в комментарии к этот пост)

я сопоставил его с функциональной клавишей:

(define-key global-map [f5] 'toggle-truncate-lines)

Он не будет работать в окнах с разделением по вертикали (частичная ширина), если не установлено значение усечения-частичная ширина-окна nil (от my .emacs):

(setq-default truncate-lines t)
(setq truncate-partial-width-windows nil) ;; for vertically-split windows

вы также можете изменить это в меню.

Options - >Line Wrapping в этом буфере - >усечь длинные строки

или если вы хотите это глобально, вы можете использовать функцию

глобальные-видео он-лайн-режиме


Я предпочитаю эти параметры:

;; disable line wrap
(setq default-truncate-lines t)
;; make side by side buffers function the same as the main window
(setq truncate-partial-width-windows nil)
;; Add F12 to toggle line wrap
(global-set-key (kbd "<f12>") 'toggle-truncate-lines)