【问题标题】:How to wrap the text 5 characters before the end of window?如何在窗口结束前将文本换行 5 个字符?
【发布时间】:2010-03-18 14:26:19
【问题描述】:

我想在窗口结束前将文本换行 5 个字符(不换行)。

如果不在文本中添加 EOL 字符(换行边距/文本宽度),我不知道该怎么做。

【问题讨论】:

    标签: vim eol


    【解决方案1】:

    您需要设置如下3个选项:

    :set linebreak
    :set wrap
    :set nolist
    

    如果以其他方式设置其中任何一个(例如:set list),则它将不起作用。

    此外,还有一个选项可以设置一个字符,该字符将显示在换行的开头。例如:

    :set showbreak=>
    

    如果您想再次关闭该功能,请将其设置为空字符串:

    :set showbreak=
    

    请注意,即使换行看起来本身就是行,Vim 仍然认为它们是单行。因此,使用j 键向下移动光标会将其移动到下一个编号行,而不是下一个显示的行。如果您显示了行号 (:set number),这会更有意义。如果要通过显示线上下移动,可以使用gkgj 代替。这里还有一些您会发现有用的 g 命令:

    Numbered line           Display line
    -------------           ------------
    j                       gj
    k                       gk
    $                       g$
    0                       g0
    ^                       g^
    

    【讨论】:

      【解决方案2】:

      也许linebreak 是您要查找的设置?

      :se linebreak
      

      【讨论】:

      • 'wrap' 选项配对将在单词边界处执行视觉换行。没有一种方法可以准确地指定离窗口边缘多远会发生环绕。
      • @jamessan:这绝对正确。但在我看来,OP 正在尝试获得更好的换行文本的视觉概览,我认为这个选项可能会有所帮助。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-02
      • 1970-01-01
      • 2021-07-14
      • 2019-04-30
      • 1970-01-01
      • 1970-01-01
      • 2015-04-09
      相关资源
      最近更新 更多