答案 0 :(得分:2)
查找是否有}
使用的映射
:map }
现在,您可以取消映射找到的任何映射
:unmap }
如果您想将其放入.vimrc
中,建议您在该插件的after目录中进行。
像~/.vim/after/plugin
答案 1 :(得分:1)
跳过是随机发生的事实表明,空行并不是真正的空。它们包含空格或其他特殊字符。
将光标移到这些“空”行,然后按$
来查看它们是否真的为空。
(是的,其他人也有您的问题。)
让vim显示空格字符
Vim有一种显示这些字符的方法。使用set list
并定义listchars
。从listchars的vim帮助中:
Strings to use in 'list' mode and for the :list command. It is a comma separated list of string settings. [...] lcs-space space:c Character to show for a space. When omitted, spaces are left blank. lcs-trail trail:c Character to show for trailing spaces. When omitted, trailing spaces are blank. Overrides the "space" setting for trailing spaces.
有关更多信息,请参见:help :list
和:help listchars
。
突出显示尾随空格
我总是在任何空格处都显示一个字符,这很烦人,我的眼睛也很糟糕,看不到行尾的一点(对于空格)。因此,我使用突出显示组来显示所有尾随空格字符:
" Show trailing whitespace
highlight ExtraWhitespace ctermbg=red " define highlight group
match ExtraWhitespace /\s\+$/ " define pattern
autocmd BufWinEnter * match ExtraWhitespace /\s\+$/ " apply match to all buffers
autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/ " don't match while in insert
autocmd InsertLeave * match ExtraWhitespace /\s\+$/
autocmd BufWinLeave * call clearmatches() " It's good for the RAM
自动删除尾随空格
还有一种方法可以在写入缓冲区时自动删除这些字符-但有一些注意事项(想想markdown的双尾空格用于换行符)。
Vim wiki有一个很好的解释。
最简单(但可能不是最好)的解决方案是添加
autocmd BufWritePre * %s/\s\+$//e
访问您的.vimrc
或相应的ftplugin
文件。
我个人在vimrc
中有一个功能,并针对不需要/不需要的文件类型禁用了该功能。
您可能还对Make { and } ignore lines containing only whitespace
感兴趣 免责声明
可能有些字符不是空格,但默认情况下vim也不会显示这些字符。我从来没有遇到过这个问题,但是我在“简短回答”下所说的内容仍然适用。