2010-06-20 10 views
5

Załóżmy, że chcesz otworzyć wszystkie pliki w folderze kasowym w podkatalogu/trunk. Załóżmy, że pliki są nazywane first.c second.r third.cpp. Jak otworzyć wszystkie pliki w vim za pomocą jednego polecenia.Otwórz wszystkie pliki w folderze

Oczywistą odpowiedzią jest następująca

$ vim first.c second.r third.cpp 

Ale można to zrobić prościej?

Odpowiedz

10

Brzmi, jakbyś był na Linuksie lub w jakimś Uniksie. Korzystanie gwiazdkę dostaje wszystkie pliki w bieżącym folderze:

$ vim * 
+1

Stackoverflow to naprawdę cud w epoce nowożytnej. Twoje rozwiązanie jest proste, łatwe do zapamiętania i działa. – Milktrader

+5

@Milktrader, zdajesz sobie sprawę z tego, że jest to muszla, a nie vim, prawda ?. Jak skopiować _wszystkie pliki w folderze? 'cp */some/other/place'. Jak usunąć _all_ pliki w folderze? 'rm *' itp. –

+5

To nie będzie domyślnie otwierać plików dot. Dla wszystkich plików potrzebujesz '{,.} *' (W bash, zakładając, że istnieje co najmniej jeden plik zaczynający się od kropki) lub '(|.) *' (W zsh, działa nawet jeśli nie ma plików dot) . – ZyX

10

Aby edytować wszystkie pliki w bieżącym folderze, użytkowania:

vim * 

Aby edytować wszystkie pliki znajdujące się w zakładkach, zastosowanie:

vim -p * 

Aby edytować wszystkie pliki podzielone poziomo oknami, użyj:

vim -o * 
+1

vim -p * wykonał pracę dla mnie –

0

Pozostałe odpowiedzi nie będą działać, jeśli masz podkatalogi. Jeśli trzeba otworzyć wszystkie pliki w wszystkich podkatalogów można użyć command substitution:

vim `find . -type f` 

Jeśli chcesz ignorować pliki w podkatalogach napisz:

vim `find . -type f -depth 1` 

Można oczywiście uzyskać jak fantazyjne jak ty chcesz użyć polecenia find.

Powiązane problemy