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?


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.


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.


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.


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ś).


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.


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.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.