我找不到一种方法来让Vim将所有空格显示为一个字符。我找到的只是制表符、尾随空格等。
当前回答
你可以使用
:set list
真正看到一条线的结构。您将显式地看到制表符和换行符。当你看到空白时,它真的是空白。
其他回答
如果设置:
: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中定义函数。
我喜欢使用特殊字符来显示空白,这样更清晰。即使是切换地图也是快速检查的关键功能。
您可以在一个自2004年以来未更新的旧vim脚本中找到这些功能:
vim脚本/cream-showinvisibles@vim.org
多亏了项目vim脚本和vundle,你可以重新使用这个插件
vim脚本/cream-showinvisibles@github
更好的是,我的两分钱是添加一个可配置的快捷方式(而不是预定义的F4)
所以把这个添加到~/.vimrc中
Plugin 'albfan/cream-invisibles'
let g:creamInvisibleShortCut = "<F5>" "for my F4 goto next error
在vim上安装插件
:PluginInstall
就这样
上面的所有答案都试图使vim中的空间可见。如果你真的坚持将可见空间作为点,还有另一种方法。。。
如果无法在vim中完成,请完全更改字体。我复制了Ubuntu One Mono字体,并使用FontForge进行了编辑。记住要更改字体的全名、字体族、首选字体族、兼容字体(在FontFoge中,它位于字体信息中的TTF名称下),以便将其作为单独的字体。只需编辑空格字符,使其中间有一个点,然后将字体保存到~/.fonts现在你可以把它用于你的gvim或整个终端。。。我复制了“!”字符,删除了行并将点移到中间。花了5分钟多一点。。。
注意:更改空格字符(0x20)会导致在整个vim屏幕上出现点的不便。。。(但它将分隔空格和制表符…)
你可以使用
:set list
真正看到一条线的结构。您将显式地看到制表符和换行符。当你看到空白时,它真的是空白。
:set列表将以字符形式显示所有空白。除了一个空间之外,其他所有的东西看起来都会不同于它的正常状态,这意味着如果你仍然看到一个普通的旧空间,那真的是一个普通旧空间。:)