Vim基础篇(八)——行末空格管理vim-better-whitespace

前言:
  强迫症患者写代码,行末不能留任何多余空格,通过插件可以快捷的删除当前文件内所有行末空格。

1 安装vim-better-whitespace

  通过vim-plug安装 ntpeters/vim-better-whitespace 非常简单,在.vimrc配置文件中添加以下配置。

1
Plugin 'vim-better-whitespace'

  之后在Vim中执行指令 :PlugInstall 安装插件。

2 配置vim-better-whitespace

  以下是我对vim-better-whitespace的配置,将其添加到.vimrc文件中重启vim后生效。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"vim-better-whitespace
let g:better_whitespace_enabled = 1 "开启行末空格高亮。
let g:better_whitespace_ctermcolor = 'gray' "行末空格高亮颜色。
let g:strip_whitespace_on_save = 1 "保存时删除文件内所有行末空格。
let g:strip_whitespace_confirm = 0 "关闭保存文件时删除行末空格的询问。
let g:better_whitespace_operator = '' "取消所有默认快捷键。
let g:better_whitespace_blacklist = [] "清空黑名单,对所有文件有效。
"markdown需要指定才能生效,即使没加入黑名单。
:autocmd FileType markdown EnableWhitespace
:autocmd FileType markdown EnableStripWhitespaceOnSave

"Normal模式下高亮当前行空白字符。开启会使响应变慢。
let g:current_line_whitespace_disabled_hard = 0
let g:current_line_whitespace_disabled_soft = 0

  显示效果如下。

Vim基础篇(八)——行末空格管理vim-better-whitespace

前言:
  强迫症患者写代码,行末不能留任何多余空格,通过插件可以快捷的删除当前文件内所有行末空格。

1 安装vim-better-whitespace

  通过vim-plug安装 ntpeters/vim-better-whitespace 非常简单,在.vimrc配置文件中添加以下配置。

1
Plugin 'vim-better-whitespace'

  之后在Vim中执行指令 :PlugInstall 安装插件。

2 配置vim-better-whitespace

  以下是我对vim-better-whitespace的配置,将其添加到.vimrc文件中重启vim后生效。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"vim-better-whitespace
let g:better_whitespace_enabled = 1 "开启行末空格高亮。
let g:better_whitespace_ctermcolor = 'gray' "行末空格高亮颜色。
let g:strip_whitespace_on_save = 1 "保存时删除文件内所有行末空格。
let g:strip_whitespace_confirm = 0 "关闭保存文件时删除行末空格的询问。
let g:better_whitespace_operator = '' "取消所有默认快捷键。
let g:better_whitespace_blacklist = [] "清空黑名单,对所有文件有效。
"markdown需要指定才能生效,即使没加入黑名单。
:autocmd FileType markdown EnableWhitespace
:autocmd FileType markdown EnableStripWhitespaceOnSave

"Normal模式下高亮当前行空白字符。开启会使响应变慢。
let g:current_line_whitespace_disabled_hard = 0
let g:current_line_whitespace_disabled_soft = 0

  显示效果如下。

whitespace.png

  保存时删除行末空格功能有时候会不工作,也可进行以下按键映射,手动触发删除行末空格。

1
2
"删除文件内所有行末空格。
nnoremap <silent> <leader>sw :StripWhitespace<cr>

  如果嫌手动太麻烦,但又想确保保存文件时自动执行一次删除行末空格,可以在.vimrc中添加以下指令。

  保存时删除行末空格功能有时候会不工作,也可进行以下按键映射,手动触发删除行末空格。

1
2
"删除文件内所有行末空格。
nnoremap <silent> <leader>sw :StripWhitespace<cr>

  如果嫌手动太麻烦,但又想确保保存文件时自动执行一次删除行末空格,可以在.vimrc中添加以下指令。