【问题标题】:Vim auto line-breakVim 自动换行
【发布时间】:2012-02-26 05:24:50
【问题描述】:

当我在 vim 中写一长行文本时(例如乳胶中的段落),它会将我的文本包装成多行,这很好。但是,如果我尝试使用“j”和“k”(或向上/向下箭头)导航这些行,它将跳过整个段落。我通过突出显示该段落并按gq 解决了这个问题。这会在每行的末尾插入换行符。

我的问题是,有没有办法自动化这个,所以我不必一直突出显示文本并按下gq

【问题讨论】:

  • 您是否要求自动换行以自动插入换行符?

标签: vim word-wrap line-breaks


【解决方案1】:

您可以使用textwidth 选项限制线条的宽度 (见:help tw)。

例如,如果要将宽度限制为 80 列,可以使用:

:set tw=80

使用这个选项,当你输入超过 80 列的内容时,Vim 会自动插入换行符。

【讨论】:

  • 但是有一个问题:在现有行中添加新单词时,您必须选择段落并按gq 重新对齐它。您可以通过键入 :set fo+=a 来自动执行此操作。阅读:help fo:help fo-table 了解此内容。但是,不幸的是,这种模式(在:set fo+=a 之后)效果不是很好,并且也存在一些问题。
  • 此外,它不会在没有空格的情况下换行。只是觉得值得一提。
【解决方案2】:

您需要退后一点,使用gjgk,它们在包裹线内上下移动。

由于gjgk在非换行行中的工作方式与jk完全相同,您可以安全地将j<down>映射到gjk或@987654331 @ 到 gk 让一切无缝衔接。

-- 编辑--

是的,它并没有解决 Eddy 的直接问题,但它解决了他最初的问题(缠绕线中的垂直移动),这导致他找到了一个糟糕的解决方法,反过来又使他陷入了这种情况。

【讨论】:

  • 谢谢,这很好,因为我对我的乳胶文档使用 svn 版本控制,所以现在 diff 不会显示由于换行和自动换行而更改的行的负载。
猜你喜欢
  • 2011-08-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-12
  • 2018-07-25
  • 2011-05-27
  • 1970-01-01
  • 2023-03-06
  • 1970-01-01
相关资源
最近更新 更多