在VIM中保存/写入时我想修剪尾随空格并确保文件的行结尾是UNIX而不是DOS。
这两个命令都可以自行运行,但我无法弄清楚如何让它们在VIM中写入/保存文件时运行。
autocmd BufWritePre,FileWritePre * :%s/\s\+$//e
autocmd BufWritePre,FileWritePre * :%s/\r$//
我已经尝试了以下所有内容,但VIM仍会抛出错误:
autocmd BufWritePre,FileWritePre * :%s/\s\+$//e|:%s/\r$//
OR
autocmd BufWritePre,FileWritePre * %s/\s\+$//e|%s/\r$//
和
augroup prewrites
autocmd!
autocmd BufWritePre,FileWritePre * :%s/\s\+$//e
autocmd BufWritePre,FileWritePre * :%s/\r$//
augroup END
这些都不会产生所需的结果而VI不会引发错误。有什么帮助吗?
答案 0 :(得分:4)
我终于明白了。罪魁祸首并没有以e
结束第二次搜索。请参阅下面的结果:
augroup prewrites
autocmd!
autocmd BufWritePre,FileWritePre * :%s/\s\+$//e | %s/\r$//e
augroup END