我希望在文件打开时找到文件中的尾随空格(如果存在)。为此我想为vi / vim设置默认搜索关键字(模式以查找尾随空格 - \ s + $),以便每当我用vi / vim打开任何文件时,都会搜索到这个默认关键字。这可能吗?
答案 0 :(得分:2)
我曾经想过这一点并提出了尾随空间。但它只适用于insert mode
,并显示突出显示的尾随空格。
我的.vimrc配置了额外的空格
highlight ExtraWhitespace ctermbg=red guibg=red
matchExtraWhitespace /\s\+\%#\@<!$/
:au InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/
:au InsertLeave * match ExtraWhitespace /\s\+$/
它会突出显示
要删除空格,我仍然使用sed
:%s/[\ \t]*$//gc
(或)
使用BufWritePre
运行命令删除尾随空格。
答案 1 :(得分:2)
要完全按照您的要求行事,您可以
au BufReadPost * let @/='\v\s+$'
请注意@/
是全局的,因此它会更改所有缓冲区的搜索。
如果您只想突出显示尾随空格,您可以执行以下操作:
hi TrailingSpaces ctermbg=red guibg=red
au BufReadPost * call matchadd('TrailingSpaces', '\v\s+$')
答案 2 :(得分:1)
对于此特定用例(查找尾随空格),您可能需要考虑我的ShowTrailingWhitespace plugin,这是一个强大的实现,不破坏搜索模式。 (插件页面也有许多替代插件的链接。)