我有一个包含数百个TTL(TeraTermLanguage)文件的文件夹。
现在我想要缩进所有这些文件。
现在我想要缩进所有这些文件。
我已经创建了teraterm.vim缩进,我使用VIM打开一个文件,并做“gg = G”和整个文件正确缩进。
我想与壳牌的帮助。但是在VIM中,我不能传递文件缩进命令作为VIM的参数。
请建议哪种是最好的方式,我可以缩小到VIM中的所有文件。
比从脚本vim的bash命令行更简单的是使用vimscript从vim内部(或者可能是一个更简单的一行程序从命令行脚本vim)。我个人更喜欢使用arg列表进行所有多文件操作。例如:
:args ~/src/myproject/**/*.ttl | argdo execute "normal gg=G" | update
> args设置arglist,使用通配符(**将匹配当前目录以及子目录)
> |让我们在一行上运行多个命令
> argdo在每个arg上运行以下命令(它将吞下第二个|)
>执行防止正常吞下下一个管道。
>正常运行以下正常模式命令(您首先使用的是什么)
> update就像:w,但只有在缓冲区被修改时才会保存。
这是:args … | argdo … |更新模式对于任何类型的项目范围文件操作(例如,通过%s / foo / bar / ge搜索和替换或设置统一文件格式或文件编码)非常有用。
(其他人喜欢使用缓冲区列表和:bufdo类似的模式,但是使用arg列表,我不需要担心关闭当前缓冲区或打开新的vim会话。)