Chcę otworzyć plik w Vimie, jak w Eclipse, używając Ctrl+ Shift+ Rlub opcji Ctrl+ Nautouzupełniania. Wywołaj skrót klawiaturowy, wpisz nazwę / wzorzec pliku i wybierz spośród wszystkich pasujących nazw plików.
Wiem, że otwieram go normalnie jak:
:tabe <filepath>
:new <filepath>
:edit <filepath>
Problem polega na tym, że w takich przypadkach muszę określić całą ścieżkę do pliku.
vim
keyboard-shortcuts
Techmaddy
źródło
źródło
:tabe
, otwierając plik w nowej karcie,:new
dzieląc poziomo okno i:edit
zamykając bieżący plik przed otwarciem nowego.Odpowiedzi:
Niedawno zakochałem się w fuzzyfinder.vim ... :-)
: FuzzyFinderFile pozwoli ci otwierać pliki poprzez wpisywanie częściowych nazw lub wzorców.
źródło
To, co zwykle robię, to
e .
(e-spacja-kropka), która daje mi możliwy do przeglądania bieżący katalog - wtedy mogę/
- szukać fragmentów nazw, tak jak znajdowanie słowa w pliku tekstowym. Ogólnie uważam, że jest to wystarczająco dobre, proste i szybkie.źródło
:e.
).:e.
i:E
chociaż: jeśli bieżący plik był edytowany i nie został jeszcze zapisany, pierwszy będzie narzekał (jak:edit
) z powodu „braku zapisu od ostatniej zmiany”, podczas gdy ten drugi podzieli okno w poziomie (jak:new
), aby umożliwić otwarcie nowego pliku (podczas gdy oba zastąpią bieżący plik nowym plikiem, jeśli nie został on zmodyfikowany (jak:edit
)).:find
to inna opcja.Otwieram vim z katalogu głównego mojego projektu i mam tam
path
zestaw.Następnie mogę otwierać pliki znajdujące się w dowolnym miejscu w drzewie za pomocą:
Karta będzie automatycznie uzupełniać różne mecze. (
**
nakazuje jej rekurencyjne przeszukiwanie ścieżki).źródło
:find
ponieważ uzyskanie ścieżki względnej do katalogu roboczego. Zobacz pytanie i odpowiedź @romainl tutaj: stackoverflow.com/questions/28224168/… . Uważam, że bardziej interesująca jest odpowiedź @strager, aby łatwiej uzyskać ścieżkę względem katalogu roboczego.Możesz wyszukać plik w bieżącej ścieżce, używając
**
:Kliknij kartę, aby zobaczyć różne zakończenia, jeśli jest więcej niż jedno dopasowanie.
źródło
:tabe **/*der.h
, jak, jeśli nie pamiętasz pełnej nazwy pliku.Rozważ użycie wtyczki CtrlP .
Jest zawarty w Janus Distributive .
Umożliwia wyszukiwanie plików w bieżącym katalogu, otwieranie buforów lub ostatnio używanych plików przy użyciu „dopasowania rozmytego” lub wyrażenia regularnego.
źródło
chyba że czegoś brakuje,: e nazwa pliku jest najszybszą metodą, jaką znalazłem.
Możesz również użyć tabulatora, aby automatycznie uzupełnić nazwę pliku.
źródło
Podoba mi się: FuzzyFinderTextMate (lub Ctrl+ F) w mojej konfiguracji. Zobacz http://weblog.jamisbuck.org/2008/10/10/coming-home-to-vim
źródło
Używam kilku skrótów w moim pliku .vimrc (dokładna składnia poniżej).
Opierają się one na fakcie, że w 90% przypadków chcę otworzyć inny plik w tym samym katalogu, w którym aktualnie edytuję lub w katalogu, który jest bardzo zbliżony w hierarchii do edytowanego pliku.
Oto, co robią polecenia:
,cd
: Zmień bieżący katalog roboczy na katalog, w którym znajduje się aktualnie edytowany plik.,e
: Otwiera plik z już wypełnionym bieżącym katalogiem roboczym, więc musisz podać tylko nazwę pliku.Umieść je w swoim .vimrc:
Oto sekwencja wydarzeń:
,cd
-> Bieżący katalog roboczy to teraz „/ home / prog”,e
-> Rozwija się do „: e / home / prog”, aby można było po prostu wpisać nazwę pliku, powiedz test.h.,e
-> rozwija się do „: e / home”tab
-> Przełączaj między podkatalogami / homeenter
->cd
do katalogu, który chcesz powiedzieć / home / prog,e
-> rozwija się do „: e / home / prog”źródło
Jest też polecenie-t, które uważam za najlepsze z tej grupy (i wypróbowałem je wszystkie). Instalacja jest drobna, ale po zainstalowaniu jest to marzenie.
https://wincent.com/products/command-t/
źródło
Używaj zakładek, działają podczas wprowadzania ścieżek plików w trybie ucieczki vima!
źródło
Jeśli masz tagi (a powinieneś), możesz otworzyć plik z linii poleceń po prostu podając nazwę klasy lub metody lub funkcji c, używając "vim -t DBPlaylist", aw vimie za pomocą ": tag ShowList ”.
źródło
Jeśli edytujesz pliki we wspólnym katalogu, możesz
:cd
przejść do tego katalogu, a następnie użyć:e
tylko nazwy pliku.Na przykład zamiast:
Możesz to zrobić:
Lub, jeśli masz już otwarty plik w żądanym katalogu, możesz użyć
%
skrótu dla bieżącej nazwy pliku i przyciąć go do bieżącego katalogu za pomocą:h
modyfikatora (:help :_%:
):I, jak powiedzieli inni, nazwy plików można uzupełniać tabulatorami w ex-line (zobacz
:help cmdline-completion
więcej).źródło
Nie jest to dokładnie to, czego szukasz, ale w wielu przypadkach jest dobre (choć nie we wszystkich).
Jeśli otworzysz VIM i pojawi się nazwa pliku w buforze, możesz umieścić kursor na tej nazwie i typie gf. Spowoduje to otwarcie pliku, którego nazwa znajduje się pod kursorem w tym samym buforze. To jest to samo co
:e CTRL+r CTRL+w
źródło
:b oldname
Znam trzy wtyczki, które pozwalają na otwieranie plików, obsługują autouzupełnianie i nie wymagają podawania pełnej ścieżki do pliku (ów) do otwarcia (o ile pliki znajdują się w jednym z katalogów z
&path
opcji vim) ::e
/:find
, ale dla akcji podzielonych)Ostatnio widziałem inną wtyczkę z podobną funkcją, ale nie pamiętam nazwy.
Wkrótce: find prawdopodobnie będzie obsługiwał automatyczne uzupełnianie - łaty na ten temat krążą obecnie na liście dyskusyjnej vim_dev.
źródło
p*.dat
lub coś w tym stylu (jak w starych dosach)możesz również: przeglądaj potwierdź e (dla okna graficznego)
ale prawdopodobnie powinieneś także określić jakiej wersji vima używasz i jak to działa w emacsie. Może moglibyśmy znaleźć dokładną alternatywę dla vimów.
źródło
Wspomniano o FuzzyFinderze, jednak uwielbiam zachowanie wtyczki FuzzyFinderTextmate, podobne do tekstu, które rozszerza zachowanie o wszystkie podkatalogi.
Upewnij się, że używasz wersji 2.16 pliku fuzzyfinder.vim - Wyższe wersje psują wtyczkę.
źródło
Dzięki Exuberant ctags możesz tworzyć pliki tagów z informacjami o pliku:
Następnie otwórz plik z VIM za pomocą
Możesz także użyć
<tab>
do autouzupełniania nazwy pliku.źródło
W GVIM plik można przeglądać za pomocą okna dialogowego otwórz / odczyt / zapis;
{polecenie} - otwórz / odczyt / zapis
open - otwiera plik do odczytu - dołącza plik zapis - okno dialogowe Zapisz jako
źródło
Zainstalowałem FuzzyFinder. Jednak ograniczenie polega na tym, że znajduje tylko pliki w bieżącym katalogu. Jednym z obejść tego jest dodanie FuzzyFinderTextmate. Jednak na podstawie dokumentacji i komentarzy nie działa to niezawodnie. Potrzebujesz odpowiedniej wersji FuzzyFindera i potrzebujesz skompilować swoją kopię Vima z obsługą Rubiego.
Innym rozwiązaniem, które teraz wypróbowuję, jest otwarcie wszystkich plików, których prawdopodobnie będę potrzebować na początku sesji edycji. Np. Otwórz wszystkie pliki w kluczowych katalogach ...
(Oznacza to, że prawdopodobnie miałbym otwarte dziesiątki plików, jednak jak dotąd wydaje się, że nadal działa OK.)
Potem mogę używać FuzzyFindera w trybie bufora i będzie on działał trochę jak
command-o
skrót TextMate ...źródło