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

时间:2010-03-18 15:05:29

标签: vim line-breaks eol

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

体育专业。

 this is my text of this 
 message

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

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

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

1 个答案:

答案 0 :(得分:2)

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

  

当'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'和Virtual Replace模式(参见| gR |)将a计为两个字符,而不是a的正常行为。

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

当然,请确保wrapwrapmarginlinebreaktextwidth的设置符合您的要求。