Vim中如何通过不同背景色高亮显示行尾尾随空格与制表符
Vim 不同背景色标识行尾尾随空格、制表符实现方法
该功能完全可实现,无需安装第三方插件,Vim 原生的高亮匹配能力就能达到你给出的预期效果。
基础配置方法
直接把以下配置追加到 Vim 配置文件即可永久生效:
- Linux/macOS 系统配置文件路径为
~/.vimrc - Windows 系统配置文件路径为
$HOME/_vimrc
" 1. 定义两类尾随空白的高亮样式,可根据喜好自定义色值 " ctermbg 对应终端Vim的背景色,guibg对应图形界面Vim(Gvim/MacVim等)的背景色 highlight TrailingSpaces ctermbg=red guibg=#ff5f5f highlight TrailingTabs ctermbg=blue guibg=#5fafff " 2. 绑定匹配规则:仅匹配行尾连续的空格、制表符,不会误标行中间的正常空白 match TrailingSpaces /[ ]\+$/ 2match TrailingTabs /\t\+$/
配置完成后重启 Vim 就能看到效果:行尾多余的空格会显示红底,多余的制表符会显示蓝底,和预期效果一致。
可选进阶配置
如果需要临时开关该提示,可以加快捷键快速切换:
" 按 leader 键 + tw 组合键,快速开启/关闭尾随空白高亮提示 nnoremap <leader>tw :call ToggleTrailingWS()<CR> let g:enable_trailing_ws = 1 function! ToggleTrailingWS() if g:enable_trailing_ws match none 2match none let g:enable_trailing_ws = 0 else match TrailingSpaces /[ ]\+$/ 2match TrailingTabs /\t\+$/ let g:enable_trailing_ws = 1 endif endfunction
如果只想在代码类文件里启用该提示,可以把匹配规则放到对应文件类型的 ftplugin 配置目录下,避免编辑纯文本、Markdown 这类不需要严格校验空白的文件时被高亮干扰。
内容的提问来源于stack exchange,提问作者robert
相关产品推荐
相关产品推荐

