2014-11-22 3 views
0

Я пытаюсь запустить команду «set tabstop = 4», а затем «retab» для нескольких файлов.Использование argdo с набором с vim

Я добрался до точки получения моего так как список аргументов

args ~/workspace/**/*.java 

и я могу видеть эту работу хорошо, когда я только просматривать файлы с помощью команды арг. Теперь, когда я пытаюсь запустить команду «set tabstop = 4», я просто не могу получить правильную комбинацию этого. Ive пытался

argdo "set tabstop=4" 

, а затем

argdo "update" 

, но он никогда не кажется, чтобы применить обновления, и я уверен, что есть обновления, так как я могу пойти в один из файлов по отдельности и выполнить команду и ее изменяет файл. Я пробовал различные комбинации, такие как

argdo execute "set tabstop=4" 

и он просто ничего не делает. Любая помощь будет оценена!

+0

как о «argdo retab» – Meitham

ответ

4

Синтаксис :argdo (согласно :help) является

:argdo[!] {cmd} 

Нет процитировать не участвует. Для выполнения нескольких команд на одном дыхании, просто разделив их |:

:argdo set tabstop=4 | retab | update 
+0

Так что я пытался делать это, и это делает обновление файлов - но по какой-то причине, когда я просмотреть файл индивидуально в vim (отступ был изменен из команды argdo), он не имел такого же эффекта, как просто выполнение set tabstop = 4 для файла, то есть, как только я запустил эту команду, а затем после этого, я перехожу в файл по отдельности и запустите «set tabstop = 4», он будет изменен еще раз. – Rahul

+0

Команда ': retab' сложна, вам, вероятно, нужно передать номер (': retab 8'), чтобы он имел какой-либо эффект, возможно, также добавить '!', Когда исходный файл использует пробелы для отступов. Лучше найти нужную команду в одном буфере и только затем применить через ': argdo'. –

+0

Итак, если я перехожу к файлу, который я могу испортить с отступом, я просто делаю: set tabstop = 4 и вижу, что все в порядке, поэтому я уверен, что команда отлично работает для каждого файла, но теперь я try: argdo set tabstop = 4 | обновление и его по-прежнему просто не тот же эффект (он, кажется, добавил гораздо большее число для табуляции) – Rahul

Смежные вопросы