Przełączanie buforów w vimie bez zapisywania w aktualnie zmodyfikowanym pliku

24

Ok, jestem użytkownikiem vima z wtyczką Minibufexl, która pokazuje karty buforów, zmapowałem Shift + J i Shift + K, aby przełączać się między kartami. Jedną z rzeczy, która często mnie frustruje, jest edytowanie pliku i przechodzenie do innego bufora, MUSZĘ zapisać do bieżącego pliku, a następnie przełączyć.

Np. Mam dwa foo.cpp i foo.h otwarte w dwóch buforach, edytuję foo.cpp i nie zapisałem go, muszę sprawdzić foo.h, aby zobaczyć definicję funkcji. Następnie używam albo wtyczki alternatywnych plików szybko (a.vim), albo mojego powyższego skrótu. Tutaj muszę oszczędzać przed zmianą, szybko się denerwuje.

Nie wiem, które wyszukiwane hasło zastosować w Google, więc pytam tutaj, przepraszam, jeśli jest mylące.

Kai
źródło

Odpowiedzi:

39

Chcesz mieć

set hidden

w twoim .vimrcpliku. Przeczytaj (trochę) więcej o ukrytej opcji i ukrytych buforach

Hamish Downer
źródło
twój pierwszy link to tylko przekierowanie z vim.wikia.com na stronę vimdoc w drugim linku. Interesujące może być również vim.wikia.com/wiki/… .
jamessan
@jamessan - tak, wiem, ale strona, na którą przekierowuje, zawiera pojedyncze cudzysłowy w adresie URL i nie mogłem uzyskać poprawnego wyświetlania za pomocą Markdown, więc zamiast tego użyłem adresu przekierowania.
Hamish Downer,
0

Przydatne może być użycie podzielonych okien. Na przykład podczas edycji pliku foo.c wykonaj polecenie

:split foo.h

To otworzy foo.h w oknie powyżej foo.c. Możesz poruszać się między oknami za pomocą ^W^W(Ctrl-W Ctrl-W) i maksymalizować bieżące okno za pomocą ^W_. Możesz znaleźć więcej informacji na ten temat, wykonując

:help windows
garyjohn
źródło
Robiłem to jakiś czas temu, ale mój pinky szybko bolał i tak naprawdę nie chciałem ponownie mapować Cntrl do Shift, ale jeśli przejdę na maszynę bez mojego przydatnego pliku .vimrc, absolutnie zastosuję się do twojej wskazówki. Dzięki.
Kai