Heim > Fragen und Antworten > Hauptteil
Meine Codierungsgewohnheiten waren in der Vergangenheit nicht sehr gut, daher wurden im Code viele Tabulatoren verwendet.
Jetzt möchte ich Tabulatoren in Leerzeichen umwandeln. Es ist nicht praktikabel, den Befehl vimrc
然后执行:ret
命令就可以了,问题是需要被处理的文件有很多,手动为每个文件执行:ret
festzulegen. Aus welchem Blickwinkel kann ich dieses Problem lösen?
大家讲道理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)命令前不能有空格。