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.

Odpowiedzi:


39

Chcesz mieć

set hidden

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


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

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