我找不到一种方法来让Vim将所有空格显示为一个字符。我找到的只是制表符、尾随空格等。
当前回答
如果设置:
:highlight Search cterm=underline gui=underline ctermbg=none guibg=none ctermfg=none guifg=none
然后搜索空格,每个空格字符将显示为下划线字符。
您可以在切换空格“下划线”的便捷函数中使用此命令。
set hls
let g:HLSpace = 1
let g:HLColorScheme = g:colors_name
function ToggleSpaceUnderscoring()
if g:HLSpace
highlight Search cterm=underline gui=underline ctermbg=none guibg=none ctermfg=none guifg=none
let @/ = " "
else
highlight clear
silent colorscheme "".g:HLColorScheme
let @/ = ""
endif
let g:HLSpace = !g:HLSpace
endfunction
将功能映射到快捷键,快捷键包括:
nmap <silent> <F3> <Esc>:call ToggleSpaceUnderscoring()<CR>
注意:设置配色方案后,在vimrc中定义函数。
其他回答
我认为这里的其他答案更全面,但我想我会分享一个技巧,我通常使用它来区分制表符和空格:
:syntax on
:set syntax=whitespace
这些是空白编程语言的语法高亮显示规则-制表符以绿色显示,空格以红色显示。:)
可以与许多其他答案中提到的:set list组合使用,尽管选项卡将显示为^I,没有绿色的高亮,但空格将显示为红色。
将这些黑客作为注释保存在.vimrc中,因此在shell中,只需:
echo '
" how-to see the non-visible while spaces
" :set listchars=eol:¬,tab:>·,trail:~,extends:>,precedes:<,space:␣
" set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:<
" :set list
" but hei how-to unset the visible tabs ?!
" :set nolist
' >> ~/.vimrc
你可以使用
:set list
真正看到一条线的结构。您将显式地看到制表符和换行符。当你看到空白时,它真的是空白。
正如其他人所说,您可以使用
:set list
这将与
:set listchars=...
显示不可见字符。现在,没有一个显式选项可以用来显示空白,但在listchars中,您可以设置一个字符来显示除空白以外的所有内容。例如,我的看起来像这样
:set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:<
所以,现在,在你使用
:set list
所有没有明确显示为其他内容的内容实际上都是一个普通的空白。
像往常一样,要了解listchars的工作原理,请使用帮助。它提供了关于可以显示哪些字符(例如尾随空格)以及如何显示的详细信息:
:help listchars
给它添加一个切换可能会很有帮助,这样您可以在编辑过程中轻松看到更改(来源:VIM:set list!作为.virc中的切换):
noremap <F5> :set list!<CR>
inoremap <F5> <C-o>:set list!<CR>
cnoremap <F5> <C-c>:set list!<CR>
要突出显示空间,只需搜索:
/<空间>
笔记:<space>表示只需键入空格字符。使用:set hlsearch启用搜索结果的突出显示
突出显示空格和制表符:/[<space><tab>]
删除高光的快速方法是搜索其他任何内容:/美国国防部
(只需键入任意随机字符的短列表)
推荐文章
- 如何把空格字符放入XML字符串名?
- 没有空格的合并会产生冲突
- 在Vim/Vi中,如何将光标移动到前一个单词的末尾?
- 如何显示默认隐藏字符(零宽度空间,即。& # 8203)
- 如何在vim中自动删除尾随空格
- 为什么Vim使用~扩展名保存文件?
- 如何在Vim或Linux中将空格转换为制表符?
- 我如何使用vimdiff来解决git合并冲突?
- 在Vim中删除当前缓冲区的文件名/路径
- Git在终端提交时打开VIM,但无法返回终端
- 请参阅编辑器中的换行符和回车
- 如何在NERDTree中显示隐藏文件(以句点开始)?
- 如何复制一个选择到OS X剪贴板
- 如何删除(不削减)在Vim?
- Vim:在可视模式下快速选择文本块的方法