gpt4 book ai didi

vim - 使用文件夹中的所有文件在 VIM 中缩进

转载 作者:行者123 更新时间:2023-12-03 08:16:11 27 4
gpt4 key购买 nike

我有一个包含数百个 TTL (TeraTermLanguage) 文件的文件夹。
现在我想缩进所有这些文件。

我已经为缩进创建了 teraterm.vim 并且我使用 VIM 打开了一个文件并执行 "gg=G"并且整个文件被正确缩进。

但是有什么办法可以缩进文件夹中的所有文件。

我想在 shell 牌的帮助下做。但是在 VIM 中,我无法将文件缩进命令作为参数传递给 VIM。

请建议我可以对 VIM 中的所有文件进行缩进的最佳方式。

最佳答案

比从 bash 命令行编写 vim 脚本更简单的是从 vim 内部使用 vimscript(或者可能是从命令行编写 vim 脚本的更简单的单行程序)。我个人更喜欢将 arg 列表用于所有多文件操作。例如:

:args ~/src/myproject/**/*.ttl | argdo execute "normal gg=G" | update
  • args设置参数列表,使用通配符(** 将匹配当前目录以及子目录)
  • |让我们在一行上运行多个命令
  • argdo在每个 arg 上运行以下命令(它会吞掉第二个 | )
  • execute防止 normal从吞下下一个管道。
  • normal运行以下正常模式命令(您首先使用的是什么)
  • update就像 :w ,但仅在缓冲区被修改时保存。

  • :args ... | argdo ... | update模式对于任何类型的项目范围的文件操作都非常有用(例如,通过 %s/foo/bar/ge 搜索和替换或设置统一的 fileformatfileencoding )。

    (其他人更喜欢使用缓冲区列表和 :bufdo 的类似模式,但使用 arg 列表我不需要担心关闭当前缓冲区或打开新的 vim session 。)

    关于vim - 使用文件夹中的所有文件在 VIM 中缩进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3218528/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com