Emacs:如何保持很长的包裹线的缩进级别

Chr*_*ris 29 emacs indentation word-wrap

如果文件中的行太长而无法在屏幕上显示,我们可以使用自动换行.现在长线被分成屏幕上可见的块.

通常,代码是结构化的,并且缩进用于可读性.如果一条线被包裹成两条(或更多条)线,则只有第一条线具有右缩进,而其他线条从一行的开头开始.有没有办法保持所有包装线具有相同的缩进级别(或更一般不同的缩进级别)?

我搜索了很长时间,但仍然找不到解决方案.这个问题类似于vim的帖子,但我没有找到emacs的帖子或答案.

ffe*_*tte 30

该软件包自适应包,它可以通过安装ELPA包装系统,应该做你想要什么.

安装包后,只需运行以下命令:

  • M-xvisual-line-modeRET (包裹长行)
  • M-xadaptive-wrap-prefix-modeRET (使包裹的线条缩进得很好)

我也有我的下面的代码片段init.el文件自动激活adaptive-wrap-prefix-mode一起visual-line-mode:

(when (fboundp 'adaptive-wrap-prefix-mode)
  (defun my-activate-adaptive-wrap-prefix-mode ()
    "Toggle `visual-line-mode' and `adaptive-wrap-prefix-mode' simultaneously."
    (adaptive-wrap-prefix-mode (if visual-line-mode 1 -1)))
  (add-hook 'visual-line-mode-hook 'my-activate-adaptive-wrap-prefix-mode))
Run Code Online (Sandbox Code Playgroud)

  • 此外,如果人们对自适应包装有同样的困惑,当开始缩进包含制表符时,自适应换行不起作用,因此您需要仅使用空格进行缩进以使其正常工作.如果在这方面适应性包装可以更灵活,那将是很好的. (4认同)
  • 是否有充分的理由反对将这些模式默认设置为活动状态? (2认同)