2013-04-11 4 views
5

Po wykonaniu pełnego resetowania mojego środowiska Vima przy użyciu różnych standardowych rozszerzeń jest jedno zachowanie, że denerwuje mnie dość dużo:Unikaj prowadzenia Vima zamknięte bufory otwarte w tle

Gdy otwieram plik w oknie podzielonym i zamknij to okno ponownie (": wq") Vim wydaje się, że bufor pliku jest otwarty w tle. Kiedy teraz spróbuję otworzyć plik na innej karcie powłoki w nowej instancji Vima, plik wymiany nadal istnieje, co uniemożliwia mi edycję pliku.

Przypuszczam, że istnieje ustawienie, które sprawia, że ​​Vim zachowuje bufory otwarte, ale ukryte, gdy zamykam podział, ale nie mogłem się dowiedzieć, który to jest. To, czego naprawdę pragnę, to to, że Vim naprawdę zamyka bufory, gdy zamykam podziały, dzięki czemu mogę ponownie otwierać odpowiednie pliki w równoległej sesji Vima.

Oczekuję, że bufor zostanie zamknięty, gdy tylko ostatnie okno będzie zamknięte za pomocą ": q".

Odpowiedz

7

Sprawdź wartość opcji hidden, używając :set hidden?. Domyślnie vim ma ustawiony na nohidden, który powinien powodować zachowanie, o które prosisz; bufory są rozładowywane po ich porzuceniu (co oznacza, że ​​żadne okna ich nie wyświetlają). Możliwe, że to ustawienie zostało ustawione na hidden, co powoduje zachowanie, którego doświadczasz; bufory zostają ukryte po opuszczeniu.

Wykonaj :help 'hidden', aby uzyskać więcej informacji.

+0

Tego właśnie mi brakowało. Dzięki! :) – tobyS

0

nie jestem pewien, jak zamykają podział, na przykład za pomocą CtrlWCtrlo w innym oknie lub CtrlWCtrl q, ale nie myśl, że to ma również zamknąć bufor. Spliting jest tylko metodą zarządzania oknem, a nie zarządzaniem buforem.

Jeśli w podziale chcesz zamknąć bufor i jego okno, dlaczego nie używasz :bd? Spowoduje to bezpośrednie zamknięcie bufora.

+0

Zazwyczaj zamykam Split za pomocą ": q", które spodziewam się zamknąć okno, a także bufor. Przynajmniej takie jest zachowanie, do którego jestem przyzwyczajony. – tobyS

+0

@tobyS: dzięki za wyjaśnienie. Jeśli zaznaczysz ': help: q', to powie, że opuści ono tylko * okno *, nie powie nic na buforze. To normalne zachowanie. –

2

Myślę, że mylicie bufory z oknami. Dobre wyjaśnienie różnicy można znaleźć here.

Zasugeruję również to read. Ma przykład skryptu, który zamyka bufory bez zamykania okna, co powinno być efektem, który opisałeś.

Pozdrawiam, mam nadzieję, że to pomaga.

+0

Przepraszamy za pomylenie terminologii. Uaktualniłem to pytanie, aby starało się wyjaśnić, jakiego zachowania oczekuję. O ile mi wiadomo, oba odniesienia nie wyjaśniają tego, prawda? – tobyS

Powiązane problemy