在 VIM 中保存/写入时,我想修剪尾随空格并确保文件的行尾是 UNIX 而不是 DOS。
这两个命令都可以独立工作,但我不知道如何让它们在 VIM 中写入/保存文件时同时运行。
autocmd BufWritePre,FileWritePre * :%s/\s\+$//e
autocmd BufWritePre,FileWritePre * :%s/\r$//
Run Code Online (Sandbox Code Playgroud)
我已经尝试了以下所有方法,但 VIM 仍然抛出错误:
autocmd BufWritePre,FileWritePre * :%s/\s\+$//e|:%s/\r$//
Run Code Online (Sandbox Code Playgroud)
或者
autocmd BufWritePre,FileWritePre * %s/\s\+$//e|%s/\r$//
Run Code Online (Sandbox Code Playgroud)
和
augroup prewrites
autocmd!
autocmd BufWritePre,FileWritePre * :%s/\s\+$//e
autocmd BufWritePre,FileWritePre * :%s/\r$//
augroup END
Run Code Online (Sandbox Code Playgroud)
这些都不会产生预期的结果,而不会被 VI 抛出错误。有什么帮助吗?
我终于弄明白了。罪魁祸首并没有以e
after结束第二次搜索。见下面的最终结果:
augroup prewrites
autocmd!
autocmd BufWritePre,FileWritePre * :%s/\s\+$//e | %s/\r$//e
augroup END
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2593 次 |
最近记录: |