如何在 emacs 中使用换行? 这样不适合屏幕的部分就不会显示,而是显示在下一行?
您所描述的听起来更像是换行而不是滚动。如果这就是您真正感兴趣的,它是由缓冲区局部变量
truncate-lines
控制的。您可以使用自定义来全局设置它,或者使用钩子。例如,我曾经用这个来防止换行:
(add-hook 'dired-mode-hook (lambda () (setq truncate-lines t)))
toggle-truncate-lines 允许您将其打开或关闭(正如 Peter 在 this post 的评论中指出的那样)
我将其映射到功能键:
(define-key global-map [f5] 'toggle-truncate-lines)
除非 truncate-partial-width-windows 设置为 nil (来自我的 .emacs),否则它无法在垂直分割(部分宽度)窗口中工作:
(setq-default truncate-lines t)
(setq truncate-partial-width-windows nil) ;; for vertically-split windows
您也可以从菜单中更改此设置。
选项->在此缓冲区中换行->截断长行
或者如果您想要全局使用此功能,您可以使用该函数
全局视觉线模式
我更喜欢这些设置:
;; 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)
;; Wrapping the lines
(global-set-key (kbd "C-x p") 'toggle-truncate-lines)
这适用于 Emacs-27.1