以前编码习惯不太好,所以代码中用到的tab很多。
现在我想把tab转化为space,通过设置vimrc
然后执行:ret
命令就可以了,问题是需要被处理的文件有很多,手动为每个文件执行:ret
命令不太现实,请问我可以从哪个角度考虑来解决这个问题?
大家讲道理2017-05-16 16:43:14
例如你要处理的都是python文件,那么cd到项目根目录:
1. $> vim `find . -type f -name "*.py"` // 用VIM打开所有要处理的文件
2. :argdo :ret | update // 对vim参数列表中的所有文件都执行:ret命令并且保存
另外可以再了解下bufdo, windo命令的用法。
以上只是针对楼主的问题展示VIM是可以很轻松做到这个的,不用一个一个去弄。当然按照楼上的思路写脚本也是很好的方法。
PHP中文网2017-05-16 16:43:14
建议别用 vim,写个脚本处理。
可以用 shell 写,find + sed 命令就可以搞定了,也可以用 python 写,os.path.walk 遍历文件,逐行扫描,没多少代码的。
给我你的怀抱2017-05-16 16:43:14
ls *.py | while read file;do
vi $file<<EOF
:%s/^I/ /g
:wq
EOF
done
使用vi(m)的非交互方式。^I
使用CTRL+V+I
输入。
EOF后面不能用空格。
vi(m)命令前不能有空格。