2015-08-11 7 views
5

Stworzyłem pusty „plik zera” bufor w vim, używając :vnew,
Aktualizacja: na użytkownika @ romainl komentarze - „plik na zarysowania jest niewłaściwy termin” - - Powinienem powiedzieć „a«przejściową»bufor (w pamięci, ale nie skojarzony z konkretnym plikiem) "Potem grałem z pewnym tekstem, teraz po prostu chcę wyjść z edytora - nie zachowując zawartości tego" bufora scratch ".Jak mogę wyjść z vima, gdy bufor nie zapisał zmian ORAZ czy bufor nie ma nazwy?

kiedy wpisz polecenie:

:q! 

Vim daje mi:

[No Name][+]            
E37: No write since last change (add ! to override) 
E162: No write since last change for buffer "[No Name]" 
Press ENTER or type command to continue 

Jak mogę rzucić vim z tego stanu?

+0

Czy możesz podać pełne instrukcje, aby to odtworzyć? Sam go wypróbowałem i mogę użyć ': q' po prostu dobrze. – poke

+0

Niestety nie. ale jeśli to działa dla ciebie, mam nadzieję, że po prostu natknąłem się na dziwne - prawdopodobnie nie powtórzy się - sprawa. wypróbuje teraz kilka testów ... –

+0

hmm, kiedy uruchomię nową instancję vima, ': vnew', dokonam pewnych zmian, mogę zakończyć dobrze używając': q! '. Może to jakiś niezwykły przypadek? –

Odpowiedz

12

Dzieje się tak, gdy masz zmodyfikowany ukryty bufor. Użyj opcji :qa!, aby mimo to wyjść.

Od :h :quit:

:q[uit]!  Quit without writing, also when currently visible 
       buffers have changes. Does not exit when this is the 
       last window and there is a changed hidden buffer. 
       In this case, the first changed hidden buffer becomes 
       the current buffer. 
       Use ":qall!" to exit always. 

W przypadku gdy ktoś chce go odtworzyć:

  • Vima i modyfikować bufor nienazwanych
  • Edycja innego pliku (może trzeba :set hidden), tj. :e README
  • Spróbuj wyjść z :q!
+0

dziękuję, tak wierzę, że musiałem mieć drugi nie ukryty, ale pusty "bufor na zarysowania" otwarty, ponieważ vim błędnie nie pokazywał treści, a kiedy wcisnąłem enter, aby kontynuować, to przywracałem zawartość, podejrzewam, że vim był przełączany na drugi bufor? –

3

W najlepszym wypadku można nazwać to „przejściowa” bufor (w pamięci, ale nie wiąże się z określonym pliku), ale to, co stworzył z :vnew jest nie bufor „zera”.

W Vimie bufor "scratch" jest normalnym buforem, w którym ustawiasz kilka lokalnych opcji. Można to zrobić za pomocą następującego polecenia:

:vnew | setlocal nobuflisted buftype=nofile bufhidden=wipe noswapfile