在vim中消除行末的块状字符

3

enter image description here

在vim中,如何通过我的.vimrc文件来消除行末的棕色字符?
3个回答

5
这可能是之前搜索结束符“$”的结果,也可以是显式显示行尾标记的结果。
您可以使用“:set nohlsearch”命令禁用搜索结果的高亮显示。
您可以使用“:set nolist”命令禁用显式行尾标记。

3

如果您真的想删除尾随空格:

:%s/[[:space:]]\+$//

1
我在我的~/.vimrc文件中有一个函数,我习惯将其与我的保存例程链接起来。
fun! CleanExtraSpaces()
        let save_cursor = getpos(".")
        let old_query = getreg('/')
        :%s/\s\+$//e
        call setpos('.', save_cursor)
        call setreg('/', old_query)
 endfun
 com! Cls :call CleanExtraSpaces()

 " auto clean trailing spaces
 if has("autocmd")
    autocmd BufWritePre *.txt,*.js,*.py,*.wiki,*.sh :call CleanExtraSpaces()
 endif

这段代码能够在保存时或手动输入:Cls<Enter>时去除所有额外的空格。
其中最重要的部分是:%s/\s\+$//e
\s\+ .............. one space or mor
$ ................. at the end of the line
e ................. if not exists any extra space it ignores error messages

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接