【问题标题】:How do you activate line-wrapping in Emacs?如何在 Emacs 中激活换行?
【发布时间】:2009-06-04 12:46:34
【问题描述】:

如何在 emacs 中使用换行(自动滚动?)? 这样不适合屏幕的部分就不会显示,而是显示在下一行?

【问题讨论】:

    标签: emacs scroll


    【解决方案1】:

    您所描述的听起来更像是换行而不是滚动。如果这就是您真正感兴趣的,它由缓冲区局部变量truncate-lines 控制。您可以使用自定义来全局设置它,或使用挂钩。例如,我曾经用这个来防止换行:

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

    【讨论】:

    • tx man,对于术语: M-xtoggle-truncate-lines 做到了。虽然对我(emacs 新手)来说,滚动和截断之间只有一线之隔,因为滚动似乎意味着截断。
    【解决方案2】:

    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
    

    【讨论】:

      【解决方案3】:

      您也可以从菜单中更改它。

      选项->此缓冲区中的换行->截断长行

      或者如果你想全局使用这个函数,你可以使用函数

      全局视觉线模式

      【讨论】:

      • 我没有那个global-visual-line-mode 功能。我在 GNU 22.3.1 上,它更新了吗?
      • 我在 XP 上使用 GNU Emacs 23.0.91.1 (i386-mingw-nt5.1.2600)。
      • 是的,该功能从版本 23 开始。
      【解决方案4】:

      我更喜欢这些设置:

      ;; 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)
      

      【讨论】:

      • 对我来说,(setq default-truncate-lines t) 不起作用,但 (setq-default truncate-lines t) 起作用。 Emacs 27.2.
      【解决方案5】:
      ;; Wrapping the lines
      (global-set-key (kbd "C-x p") 'toggle-truncate-lines)
      

      这适用于 Emacs-27.1

      【讨论】:

        猜你喜欢
        • 2023-02-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-08
        • 1970-01-01
        • 1970-01-01
        • 2013-03-25
        相关资源
        最近更新 更多