vim:显示列表更改屏幕包装

rem*_*mio 6 vim line-breaks eol

我注意到,当我在文本中显示EOL列表查询时,会删除换行符

PE

 this is my text of this 
 message
Run Code Online (Sandbox Code Playgroud)

变成集合列表..eol

 this is my text of this mess
 age(EOL CHAR)
Run Code Online (Sandbox Code Playgroud)

我希望看到EOL角色而不会破坏窗口边框处的文字.那可能吗?

Cas*_*bel 2

不幸的是,这听起来像是 Vim 的记录限制。来自 linebreak 的文档(导致每个字换行而不是每个字符的选项):

当“wrap”选项关闭或“list”打开时,不使用此选项。

替代解决方案:突出显示行尾。简单的一次性方法就是搜索它们 (/$)。除此之外,您还可以使用突出显示:

:highlight endofline ctermbg=Green
:match endofline /$/
Run Code Online (Sandbox Code Playgroud)

这将为您的 EOL 提供绿色背景。:help highlight-args有关如何指定突出显示的更多信息,请参阅参考资料。

原答案

这不是OP的实际问题,但有时可能会发生,所以我将其留在这里供其他人搜索时查找。

从帮助中'list'

请注意,当“cpoptions”包含“L”时,列表模式也会影响格式(使用“textwidth”或“wrapmargin”设置)。请参阅“listchars”以更改选项卡的显示方式。

从帮助中'cpoptions'

L 当设置 'list' 选项时,'wrapmargin'、'textwidth'、'softtabstop' 和虚拟替换模式(参见 |gR|)将 a 计为两个字符,而不是 a 的正常行为。

'cpoptions'都是关于 vi 兼容性 - 您是vim作为启动的吗vi?或者您是否手动设置这些标志?检查 的输出echo &cpoptions,确保启动为vim,如果它仍然设置(不知道为什么会这样),您可以取消设置标志 ( set cpoptions-=L)。

当然,请确保wrapwrapmarginlinebreak和 的设置textwidth是您想要的。