删除行末尾的所有空格和制表符

时间:2010-08-13 07:19:37

标签: vim

有关如何使用vim删除代码中所有行末尾的所有空格和制表符的想法吗?我有时会使用命令在我的行末添加内容,但有时候,由于这些意外的空白(也就是说,我在编码时无意中将这些空白放在那里),这没有任何意义,这些命令没有做到正确工作...所以我想一次性使用一些vim命令摆脱空白。提前谢谢!

2 个答案:

答案 0 :(得分:107)

在vim中:

:%s/\s\+$//

说明:

  • :命令
  • %适用于整个文件
  • s搜索并替换
  • /\s\+$/正则表达式,用于表示一行或多行空白字符,后跟行尾
  • //空字符串的替换值

答案 1 :(得分:13)

我使用这个功能:

func! DeleteTrailingWS()
  exe "normal mz"
  %s/\s\+$//ge
  exe "normal `z"
endfunc

领导者,我要删除尾随的空格

noremap <leader>w :call DeleteTrailingWS()<CR>

保存python文件时删除尾随空格:

autocmd BufWrite *.py :call DeleteTrailingWS()