特定文件中的 Vim 80 字符行

Posted

技术标签:

【中文标题】特定文件中的 Vim 80 字符行【英文标题】:Vim 80 character line in specific files 【发布时间】:2015-06-01 05:25:04 【问题描述】:

我最近开始使用 Vim。我在 .vimrc 中设置了 80 个字符行,使用以下命令:

set colorcolumn=80

但这一行并非在所有文件中都显示。看下面的截图:

我的 .vimrc 是 here。有谁知道是什么问题?

【问题讨论】:

把你的 .vimrc 放到不需要登录的地方,比如 www.pastebin.com 或 gist.github.com。 @robbrit 我已经更新了链接 【参考方案1】:

您的 vimrc 中散布着以下几行:

" higlight column right after max textwidth
set colorcolumn=+1

" Disable vertical line at max string length in NERDTree
autocmd FileType * setlocal colorcolumn=+1
autocmd FileType nerdtree setlocal colorcolumn=""

set colorcolumn=80

同样相关的事实是,您显然没有将'textwidth' 设置为任何值,因此它应该是默认值零,并且来自'colorcolumn' 上的vim 帮助:

当 'textwidth' 为零时,不使用带有 '-' 和 '+' 的项目。

所以,我怀疑正在发生的事情是带有* 作为通配符的自动命令正在运行并设置colorcolumn=+1,这基本上是禁用它,因为'textwidth' 为零。

因此,您可以通过确保设置'textwidth' 或删除自动命令来解决问题。而且,更一般地说,您应该清理 vimrc 中 'colorcolumn' 的各种设置,以免相互否定/干扰。

【讨论】:

非常感谢!我已经删除了自动命令。并留下一行颜色列

以上是关于特定文件中的 Vim 80 字符行的主要内容,如果未能解决你的问题,请参考以下文章

Vim 中超过 80 个字符的高亮行不适用于 php

Vim 80 列布局问题

如何使用 C++ 写入文件的特定列?

如何删除文件中某些行中的特定字符?

如果它存在于vim中,则删除行开头的特定char

使用 RandomAccessFile 到达文件中的特定行