首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以在Vim中可视化右边距吗?

问可以在Vim中可视化右边距吗?
EN

Stack Overflow用户
提问于 2010-02-02 15:18:27
回答 4查看 25.9K关注 0票数 79

有没有办法让Vim (或者gVim,或者两者)突出显示当前缓冲区的右边距?

我刚刚开始使用Vim一段时间,我发现不能看到右边距是一件令人恼火的事情(比如,在第80栏)。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-01-03 13:23:04

Vim 7.3引入了colorcolumn。

代码语言:javascript
复制
:set colorcolumn=80

你可能更容易记住这个缩写形式。

代码语言:javascript
复制
:set cc=80
票数 124
EN

Stack Overflow用户

发布于 2010-02-02 16:09:12

在Vim版本7.2或更早的版本中,没有简单的方法来可视化textwidth-margin的垂直边缘;从版本7.3开始,有专门的colorcolumn选项。但是,用户可以使用:match命令突出显示超过80列限制的所有字符:

代码语言:javascript
复制
:match ErrorMsg /\%>80v.\+/

我们只需要动态构建匹配模式来替换textwidth选项的正确值,这就是通用的解决方案:

代码语言:javascript
复制
:autocmd BufWinEnter * call matchadd('ErrorMsg', '\%>'.&l:textwidth.'v.\+', -1)
票数 19
EN

Stack Overflow用户

发布于 2011-01-14 02:23:07

我已经在我的.vimrc中编写了一个vimscript函数,当我按下8(逗号后跟8,其中逗号是用户定义命令的定义前导,8是我的助记键‘在第80列显示边距)时切换colorcolumn:

代码语言:javascript
复制
" toggle colored right border after 80 chars
set colorcolumn=81
let s:color_column_old = 0

function! s:ToggleColorColumn()
    if s:color_column_old == 0
        let s:color_column_old = &colorcolumn
        windo let &colorcolumn = 0
    else
        windo let &colorcolumn=s:color_column_old
        let s:color_column_old = 0
    endif
endfunction

nnoremap <Leader>8 :call <SID>ToggleColorColumn()<cr>
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2182427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档