是否可以仅在可视模式下显示空白字符(空格,制表符,换行符),特别是在所选文本中?
或者是否有一个很好的插件可以完成这项工作?
答案 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
这就是它的外观:
您需要修改您的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
处的帮助。