2010-06-20 30 views
5

Supponiamo di voler aprire tutti i file nella cartella di checkout nella sottodirectory/trunk. Supponiamo che i file siano chiamati first.c second.r third.cpp. Come puoi aprire tutti i file in vim con un singolo comando.Apri tutti i file in una cartella

La risposta ovvia è la seguente

$ vim first.c second.r third.cpp 

Ma si può fare questo più semplicemente?

risposta

10

Sembra che tu sia su linux o su una variante Unix. Utilizzando l'asterisco si ottiene tutti i file nella cartella corrente:

$ vim * 
+1

stackoverflow è davvero una meraviglia nell'era moderna. La tua soluzione è semplice, facile da ricordare e funziona. – Milktrader

+5

@Milktrader, ti rendi conto che è una cosa di shell e non una cosa vim, giusto? Come copi tutti i file in una cartella? 'cp */some/other/place'. Come si eliminano _ tutti i file in una cartella? 'rm *' ecc. –

+5

Questo non aprirà i file punto per impostazione predefinita. Per tutti i file è necessario '{,.} *' (In bash, supponendo che esista almeno un file che inizia con un punto) o '(|.) *' (In zsh, funziona anche se non ci sono file punto) . – ZyX

10

Per modificare tutti i file nella cartella corrente, uso:

vim * 

Per modificare tutti i file in schede, uso:

vim -p * 

Per modificare tutti i file in Windows divisa in orizzontale, usare:

vim -o * 
+1

vim -p * ha fatto il lavoro per me –

0

Le altre risposte non funzioneranno se si dispone di sottodirectory. Se è necessario aprire tutti i file in tutte le sottodirectory è possibile utilizzare command substitution:

vim `find . -type f` 

Se si vuole ignorare i file nelle sottodirectory di scrittura:

vim `find . -type f -depth 1` 

È possibile, naturalmente, ottenere sofisticato come voi desidera utilizzare il comando find.

Problemi correlati