Wróć do przeglądania katalogu wstecz po otwarciu pliku w vimie

123

Kiedy otwieram katalog przeglądany w vimie, mogę otworzyć plik, przesuwając kursor na nazwę pliku i naciskając Enter.

Czy jest jakieś polecenie powrotu do poprzedniego przeglądania katalogów?

Jeśli nie, czy istnieje sposób na otwarcie pliku bez zamykania trybu przeglądania katalogu?

MKo
źródło
2
Nie jestem pewien, ale jeśli chcesz naprawdę wygodnego przeglądania katalogów, polecam sprawdzić NERDTree
Johan

Odpowiedzi:

198

Możesz wrócić do ostatniego bufora używając :b#.

Jeśli właśnie otworzyłeś plik, spowoduje to powrót do przeglądania katalogu.

Aktualizacja : Ponieważ ta odpowiedź została zaakceptowana jako poprawna, a zatem jest na górze, chciałbym podsumować nieco odpowiedzi, w tym odpowiedź @romainl, że imho jest poprawna.

ezdazuzena
źródło
3
Tak powinno być :b#. Naprawiłbym to, ale edycje pojedynczych znaków nie działają.
echristopherson
Jeśli to zrobię, vim <dirname>a następnie przejdę do pliku i naciśnę Enter, to nie działa; jeśli otworzę vima, to :e <dirname>wybierz plik i Enterdziała. W obu przypadkach :bufferspokazuje tylko jeden bufor. Nie wiem, dlaczego tak jest.
mcmlxxxvi,
@mcmlxxxvi zgodnie z wiki vim'a b#działa tylko dla "wcześniej edytowanych buforów": vim.wikia.com/wiki/ ...
ezdazuzena
3
Fajna rzecz podsumowująca wszystkie inne poprawne odpowiedzi, chciałbym, żeby zrobiło to więcej osób.
LightMan
1
@veich Dziękuję za komentarz, ale na razie tego nie zrobię, ponieważ pytanie dotyczy tylko cofnięcia się. To nie jest strona typu wiki, tylko dla jasności podsumowuję inne pytania. Mam nadzieję, że to rozumiesz.
ezdazuzena
88

Możesz użyć Ctrl-, Oaby wrócić do poprzedniego bufora.

Peyman
źródło
2
Ogólnie bardzo przydatne (np. Do powrotu z gf), ale w przypadku przeglądania katalogów nie przenosi mnie z powrotem do "linii", w której byłem przy otwieraniu pliku. :Rex<Enter>, który jest nieco niezdarny (5 naciśnięć klawiszy vs 1), robi to. Prawdopodobnie jest to kandydat do mapowania ...
Tomasz Gandor
34

Właściwym poleceniem powrotu do listingu netrw jest :Rex[plore]. Możesz go uruchomić nawet po przeskoczeniu do iz dziesiątek plików.

romainl
źródło
Czy podczas edytowania pliku po opuszczeniu listy netrw powrót odbywa się :Rexploreinaczej niż w przypadku powrotu z :Explore?
Jasha
Aby odpowiedzieć na moje własne pytanie, wydaje się, że :Rexplorezawsze wraca do tego samego netrw aukcji, którą były przeglądania wcześniej, natomiast :Exploredaje aukcji dla katalogu bez względu na plik otwarty jest obecnie.
Jasha
29

:Ex zabierze Cię z powrotem (i pokaże, co edytowałeś, a czego nie zapisałeś).

drug_user841417
źródło
1
Głosowałem za KAŻDĄ z odpowiedzi. wszystkie były przydatne
javadba
Fajnie, jest trochę lepiej niż Ctrl-Odlatego, że podświetla katalog nadrzędny ( ..), zamiast górnej linii (jakiś nagłówek Netrw), ale nadal nie jest to miejsce, w którym zostawiłem eksploratora (otwarty plik). 4 naciśnięcia klawiszy w porównaniu z 1, trochę oszczędności, jaby przejść do miejsca, w którym byłem, ale nadal prawdopodobnie mapuję, :Rex<Enter>jeśli spodziewam się dużo nawigacji.
Tomasz Gandor
26

Polegam na Ctrl ^, aby przejść do przodu i do tyłu czarno-białe dwa bufory.

Aman Jain
źródło
1
To działało dla mnie z vimem 7.3 na OSX z homebrew. Wydaje się, że Ctrl-O nie działa.
Gardner Bickford,
5
Nie potrzebujesz nawet shift, możesz po prostu Ctrl 6
mVChr
bardziej poprawnie, to „edytuje plik alternatywny”: vimdoc.sourceforge.net/htmldoc/editing.html#CTRL- ^
ezdazuzena
Doskonały! Chociaż działa tylko w tę iz powrotem (jak "cofnij 1 poziom"), ale w rzeczywistości powraca do linii, w której byłem! Wygląda na to, że w końcu nie mapuję :Rex<CR>! (Oczywiście tylko wtedy, gdy nie mogę się doczekać „powrotu” z zagnieżdżonych nawigacji (przeskoczenia do innego pliku itp.).
Tomasz Gandor
14

Zwykle po prostu używam :E. Jest łatwy do zapamiętania i przenosi z powrotem do katalogu zawierającego otwarty plik.

NM Pennypacker
źródło
2
Dziwię się, że ma za mało głosów. To zdecydowanie odpowiedź.
TaoPR,
1
Nie zdziw się - na moim obecnym vimie 7.4.x :Ejest niejednoznaczny i nic nie robi. Musisz wpisać co najmniej :E<CR>.
Tomasz Gandor
1
Jest to to samo, co :Exlub :Explorerjeśli nie Ezostało zdefiniowane inne polecenie zaczynające się od . Zobacz na przykład stackoverflow.com/a/14367507/1141095
ezdazuzena