6

我注意到当我在文本中显示 EOL 列表字符时,换行符会丢失

体育

 this is my text of this 
 message

在设置列表之后变为..eol

 this is my text of this mess
 age(EOL CHAR)

我希望看到 EOL 字符而不破坏窗口边界处的单词。那可能吗?

4

1 回答 1

2

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

当 'wrap' 选项关闭或 'list' 开启时,不使用该选项。

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

:highlight endofline ctermbg=Green
:match endofline /$/

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

原始答案

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

从帮助'list'

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

从帮助'cpoptions'

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

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

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

于 2010-03-18T15:11:49.213 回答