我找不到一种方法来让Vim将所有空格显示为一个字符。我找到的只是制表符、尾随空格等。


当前回答

如果用空格表示“”字符,我的建议就是搜索/替换。正如其他人所暗示的,set list将非打印字符更改为以列表字符配置的可见字符。

要将空格显式显示为其他字符,应使用类似于以下内容的方法:

:%s//█/克

然后只需撤消更改即可再次返回。

(以获得█ 我按了这个精确的键顺序::%s//CTRL-KFB/g)

其他回答

把这个添加到我的.vimrc中对我很有用。只要确保你没有其他冲突。。

autocmd VimEnter * :syn match space /\s/
autocmd VimEnter * :hi space ctermbg=lightgray ctermfg=black guibg=lightgray guifg=black

我喜欢使用特殊字符来显示空白,这样更清晰。即使是切换地图也是快速检查的关键功能。

您可以在一个自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

就这样

将这些黑客作为注释保存在.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将非打印字符更改为以列表字符配置的可见字符。

要将空格显式显示为其他字符,应使用类似于以下内容的方法:

:%s//█/克

然后只需撤消更改即可再次返回。

(以获得█ 我按了这个精确的键顺序::%s//CTRL-KFB/g)

突出显示搜索

:set hlsearch 

在.vimrc中

搜索空格制表符和回车符

/ \|\t\|\r

或搜索所有空白字符

/\s

搜索所有非空白字符(不显示空白字符,因此可以看到单词之间的空白字符,但不能看到尾随的空白字符)

/\S

显示所有尾随空格字符-在行的末尾

/\s$