2013-06-11 22 views
6

Muszę przeskakiwać pomiędzy dwoma plikami w Vimie.W Vimie jak przeskakiwać pomiędzy dwoma plikami

Mogę to zrobić ręcznie jako :e file1.txt, a następnie :e file2.txt. Czy istnieje skrót do bezpośredniego przejścia do poprzednio otwartego pliku?

Uwaga: Nie chcę otwierać dwóch plików w podzielonych oknach lub wielu kartach.

szukam czegoś jak [ctrl + o] tylko skok powinien być do poprzedniego pliku, a nie poprzednia lokalizacja w samym pliku

Dzięki za wszelkie podpowiedzi

Odpowiedz

8

Użyj <C-^> lub <C-6>.

Od :h ctrl-^:

Edit the alternate file. Mostly the alternate file is 
the previously edited file. This is a quick way to 
toggle between two files. It is equivalent to ":e #", 
except that it also works when there is no file name. 

If the 'autowrite' or 'autowriteall' option is on and 
the buffer was changed, write it. 
Mostly the^character is positioned on the 6 key, 
pressing CTRL and 6 then gets you what we call CTRL-^. 
But on some non-US keyboards CTRL-^ is produced in 
another way. 
2

Nie znam lepszego rozwiązania, ale jeden z nich jest możliwe po prostu wykonaj następujące kroki:

:e file1.txt 
:e file2.txt 
: <commands commands> 
:e <UP_ARROW>/<DOWN_ARROW> to switch between the files 

prawdopodobnie nie jest to o co prosiliście, ale korzysta z funkcji autouzupełniania.

6

Nie jestem pewien, czy rozumiem poprawnie, ale z tylko dwoma otwartymi plikami może być wystarczająca buffer next:bn?

+0

To robi dokładnie to, czego szukałem. Dzięki. –

3

Jest to temat pliku i zarządzanie buforami. Możesz sprawdzić powiązane dokumenty. Wymyślę niektóre polecenia, które mogą Cię zainteresować:

CTRL+^: przejdź do ostatnio edytowanego pliku w tym samym oknie.

gf: przejdź do pliku, jeśli znajduje się link pod kursorem.

:bn:bp: przejście do następnego lub poprzedniego bufora.

:n:N: przejdź do następnego lub poprzedniego pliku arg.

I jest wtyczka o nazwie unimpaired, która sprawi, że będziesz bardziej szczęśliwy!

Jeśli chcesz, aby przejść do pliku, jak chcesz:

:b partial_word następnie nacisnąć Tab, dostaniesz zakończenie auto.

:ls następnie :b a_number, aby przejść do tego bufora.

Niektóre wtyczki, takie jak bufexplorer, nerdtree są bardzo przydatne. Ale w tej sytuacji możesz wziąć pod uwagę CtrlP, który przeszukuje wszystkie pliki bardzo szybko!

+0

+1. Dzięki. To przydatne podsumowanie –

2

Gdybym uzyskać właściwe pytanie, to :e#

5

Aby naprawdę przełączać się między dwoma plikami, użyj :b#: jest bardziej przydatna, gdy masz więcej niż dwa pliki otwarte.

Say masz file1, file2, file3 załadowany i chce przerzucić między 2 i 3:

  • :b file2 otwiera plik2
  • :b file3 otwiera plik3
  • odtąd :b# przełączniki od 3 do 2 i odwrotnie.

W tej sytuacji :bn wola pętla przez 1, 2, 3, 1, 2, 3, ...

0

używam: mld goto następnego otwartego pliku, ale ponieważ jestem leniwy I remap N więc wszystko, co muszę zrobić, to zmiana-n ... bardzo szybko!

(Bonus pytanie: Co to jest^Z dla A: To jest przeniesienie z moich dni SCO kiedy będzie palec tłuszcz ctrl-z i pop vi do pracy w tle ... I powinien go usunąć, ale wspomnienia ...)

to mój gvimrc które używają dostosować Vima na każdym oknie systemu Windows pracuję na:

„niestandardowym gvimrc ” polecenia w tym są wykonywane, gdy GUI jest uruchomiona. "SLC 07/05/2013 - domyślna (zwykle c: \ pliki programowe \ Vim)

zestaw linijka

zestaw TabStop = 3

zestaw shiftwidth = 3

zestaw expandtab

ustawić nobackup

zestaw backupdir = C: \ Windows \ Temp

zestaw dir = C: \ Windows \ Temp

colorschem tort

zestaw nohlsearch

mapa N: bn

mapa ZZ: xa

mapa^Z: Jobs. ..NOT używany w Vim ...

składnia na

Powiązane problemy