vim - 仅显示空白以供选择

时间:2015-11-28 19:54:52

标签: vim whitespace

是否可以仅在可视模式下显示空白字符(空格,制表符,换行符),特别是在所选文本中?

或者是否有一个很好的插件可以完成这项工作?

3 个答案:

答案 0 :(得分:3)

根据为视觉模式设置突出显示的方式,可以将空白字符的前景色设置为窗口的背景颜色。

  • 这是一个示例Normal突出显示组(取自我自己的colorscheme),它定义了整个窗口的背景颜色:

    hi Normal ctermbg=235 ctermfg=250 guibg=#262626 guifg=#bcbcbc cterm=NONE gui=NONE
    

    我们想要的值是彩色终端235和GUI的#262626

  • 这是一个示例Visual突出显示组。它只是一种背景颜色的一种前景色:

    hi Visual ctermbg=110 ctermfg=235 guibg=#8fafd7 guifg=#262626 cterm=NONE gui=NONE
    

    颜色本身并不重要。

  • 我们可以使用上面的值设置SpecialKey突出显示组:

    hi SpecialKey ctermbg=NONE ctermfg=235 guibg=NONE guifg=#262626 cterm=NONE gui=NONE
    

    这就是它的外观:

    enter image description here

您需要修改您的colorscheme才能全面使用或将其添加到vimrc

augroup colors
  autocmd!
  autocmd ColorScheme * hi SpecialKey ctermfg=235 guifg=#262626
  autocmd ColorScheme * hi NonText    ctermfg=235 guifg=#262626
augroup END

当然,上面的颜色只是一个例子; YMMV。

答案 1 :(得分:1)

Vim中的“list”选项将显示空格字符:

  

列表模式:在显示CTRL-I时显示选项卡,在结束后显示$   线。用于查看选项卡和空格之间的区别以及用于   尾随空白。

请参阅:

:help list

有人说......

这不是您想要的,但是Tim Pope's unimpaired plugin提供了一种非常简单的方法来切换“列表”选项(在许多其他选项中)。

因此,如果您需要快速浏览一下这些空格字符,可以使用以下方式打开/关闭它们:

col

我认为未受损的是一个必不可少的,非常轻量级的插件(基本上只是一组映射)

答案 2 :(得分:1)

永久切换视觉选择的显示以启用int模式是不可能的,而缓冲区的其余部分没有设置list

然而,解决方法是,在视觉上选择一些行后,按,这样命令行如下所示:list然后只需使用:'<,'>命令(可以缩短为:list)。因此,使用:l将回显选定的行范围,就像列表设置已打开一样。然而,这仅适用于行,因此无法仅打印块选定区域。

请参阅:'<,'>l处的帮助。