Czy jest sposób, aby otworzyć wszystkie pliki w katalogu z poziomu Vima? Więc to :commandw efekcie powiedziałoby: „Otwórz wszystkie pliki /some/pathdo buforów”.
Idealnie byłoby wspaniale otwierać rekursywnie wszystkie pliki w katalogu.
Odpowiedzi:
Polecenie, którego szukasz, to args:
Na przykład:
:args /path_to_dir/*
otworzy wszystkie pliki w katalogu
:tab allaby umieścić je w poszczególnych zakładkach.
"/path_to_dir/subdir/" Illegal file name). Szybkim rozwiązaniem jest argd */ponowne uruchomienie drugiego polecenia, aby usunąć te z listy
:argdo source my_commands_batch.vim
Próbowałeś
:n /some/path/*
Otworzy wszystkie pliki w / some / path
Nie sądzę jednak, aby otworzył plik rekurencyjnie.
EDYTOWAĆ
Może użycie ** otworzy się rekurencyjnie, jak wspomniano w Daf
Metodą, która nie wymaga bałaganu, argsjest umieszczenie listy plików w pliku tekstowym, a następnie użycie :sopolecenia do uruchomienia poleceń w tym pliku.
Na przykład, jeśli chcesz otworzyć wszystkie pliki, które kończą się w .phpdanym katalogu, najpierw utwórz files.txtlistę plików, poprzedzoną dowolnym poleceniem, którego chcesz użyć do ich otwarcia.
sp alpha.php
sp bravo.php
sp charlie.php
Następnie w ramach VIM:
:so files.txt
Jeśli lista plików jest duża, stosunkowo proste jest files.txtszybkie wygenerowanie pliku przez przekierowanie wyjścia programu lsdo pliku, a następnie użycie makra vim do wstawiania spprzed każdą nazwą pliku.
To oczywiście nie jest tak eleganckie, jak używanie poleceń argsi argdo, ale te polecenia są również znacznie bardziej skomplikowane.
Może istnieć sposób na zrobienie tego za pomocą jednego polecenia w wierszu poleceń, ale nawet po 16 latach nadal uważam programowanie Vima za dziwne i tajemnicze.
Inny sposób na rekurencyjne otwieranie plików
find . -type f -exec vi {} \;
kate **/*(^/)odrzucasz warunki, możesz równie dobrze powiedzieć, że (używając składni zsh globbing) robi to, co jest potrzebne: rekurencyjnie otwiera pliki z podanego katalogu. Nie jest „od wewnątrz” iw ogóle nie używa vima, ale „robi to, co jest potrzebne”. Albo nawet kate ~/.vimrc ~/.bashrc. Pomijając „od początku”, „z danego katalogu” i „rekurencyjnie” w ogóle, ale „robi to, co trzeba”: otwiera pliki.
**do rekurencyjnego dopasowywania plików. Np.:args /path_to_dir/**