使用argdo和带有vim的set
我正在尝试对多个文件运行命令“settabstop=4”,然后是“retab” 我已经到了这样得到我的arglist的地步使用argdo和带有vim的set,vim,args,tabstop,Vim,Args,Tabstop,我正在尝试对多个文件运行命令“settabstop=4”,然后是“retab” 我已经到了这样得到我的arglist的地步 args ~/workspace/**/*.java 当我只是使用args命令查看文件时,我可以看到这很有效。现在,当我试图对其运行“settabstop=4”命令时,我无法得到这两个选项的正确组合。我试过了 argdo "set tabstop=4" 然后 argdo "update" 但它似乎从未应用过更新,而且我确信会有更新,因为我可以单独转到其中一个文件并
args ~/workspace/**/*.java
当我只是使用args命令查看文件时,我可以看到这很有效。现在,当我试图对其运行“settabstop=4”命令时,我无法得到这两个选项的正确组合。我试过了
argdo "set tabstop=4"
然后
argdo "update"
但它似乎从未应用过更新,而且我确信会有更新,因为我可以单独转到其中一个文件并运行命令,它会更改文件。我试过不同的组合,比如
argdo execute "set tabstop=4"
它似乎什么也没做。任何帮助都将不胜感激 语法为
:argdo
(根据:help
)
不涉及报价。要一次性执行多个命令,只需使用|
将它们分开即可:
:argdo set tabstop=4 | retab | update
:argdo
(根据:help
)的语法为
不涉及报价。要一次性执行多个命令,只需使用|
将它们分开即可:
:argdo set tabstop=4 | retab | update
“argdo retab”怎么样“argdo retab”怎么样?我试过这样做,它会更新文件-但由于某种原因,当我在vim中单独查看文件时(缩进已从argdo命令更改),它的效果与只对文件执行set tabstop=4不同,即运行该命令后,我单独转到一个文件并运行“set tabstop=4”,它再次被更改。命令
:retab
很复杂,您可能需要传递一个数字(:retab 8
),使其生效,还可能添加代码>当原始文件使用空格进行缩进时。最好在单个缓冲区中找到正确的命令,然后通过:argdo
应用该命令。因此,如果我访问的文件可能会因缩进而出错,我只需执行:set tabstop=4并查看所有内容是否都适合,因此我确信该命令在每个文件中都能正常工作,但是现在我已经尝试过了:argdo set tabstop=4 | update,它的效果仍然不一样(它似乎为tabstop添加了更大的数字)。实际上,我按照您的建议重新设置了8,我想我需要处理这个问题,正如您所说的:set tabstop=…
只是更改Vim为制表符显示的空间量;它不会改变文件本身!只有:retab
可以这样做!所以我试着这样做,它确实会更新文件-但由于某种原因,当我在vim中单独查看文件时(缩进已从argdo命令更改),它的效果与只对文件执行set tabstop=4的效果不同,也就是说,一旦我运行该命令,然后,我就单独转到一个文件并运行“set tabstop=4”它再次被更改。:retab
命令很复杂,您可能需要传递一个数字(:retab 8
)使其生效,也可能需要添加代码>当原始文件使用空格进行缩进时。最好在单个缓冲区中找到正确的命令,然后通过:argdo
应用该命令。因此,如果我访问的文件可能会因缩进而出错,我只需执行:set tabstop=4并查看所有内容是否都适合,因此我确信该命令在每个文件中都能正常工作,但是现在我已经尝试过了:argdo set tabstop=4 | update,它的效果仍然不一样(它似乎为tabstop添加了更大的数字)。实际上,我按照您的建议重新设置了8,我想我需要处理这个问题,正如您所说的:set tabstop=…
只是更改Vim为制表符显示的空间量;它不会改变文件本身!只有:retab
可以这样做!