Zamiast tego chcę zamknąć pliki i otworzyć domyślny bufor No Name
. Czasami zamykam ostatni plik i muszę ponownie uruchomić gvim i cd w odpowiednim katalogu.Jak sprawić, by główne okno gvim nie zostało zamknięte podczas wpisywania `: q` lub`: qa`?
5
A
Odpowiedz
5
umieścić go w $ MYVIMRC
function! NumberOfWindows()
let i = 1
while winbufnr(i) != -1
let i = i+1
endwhile
return i - 1
endfunction
function! DonotQuitLastWindow()
if NumberOfWindows() != 1
let v:errmsg = ""
silent! quit
if v:errmsg != ""
"echohl ErrorMsg | echomsg v:errmsg | echohl NONE
"echoerr v:errmsg
echohl ErrorMsg | echo v:errmsg | echohl NONE
endif
else
echohl Error | echo "Can't quit the last window..." | echohl None
endif
endfunction
if has("gui_running")
cnoreabbrev <expr> q getcmdtype() == ":" && getcmdline() == 'q' ? 'call DonotQuitLastWindow()' : 'q'
cnoreabbrev <expr> qa getcmdtype() == ":" && getcmdline() == 'qa' ? 'call DonotQuitLastWindow()' : 'qa'
endif
3
Jeśli zamiast tego użyjesz polecenia :close
, polecenie to nie zamknie ostatniego okna.
+0
''
4
Dlaczego nie używacie
:bd
aby zamknąć bufor (po zapisaniu najnowsze zmiany)?
Powiązane problemy
- 1. Alarm, gdy okno przeglądarki zostało przypadkowo zamknięte
- 2. WPF wyłącza główne okno, gdy drugie okno jest otwarte, dopóki nie zostanie zamknięte.
- 3. Jak sprawić, by okno wyglądało bardziej nowocześnie
- 4. Okno główne lub okno dostępu iOS
- 5. Jak mogę sprawdzić, czy okno zostało zamknięte w JavaScript?
- 6. Jak sprawić, by okno podglądu intelli androida pozostało otwarte?
- 7. Jak sprawić, by okno dziecięce pozostało na wierzchu?
- 8. Okno dialogowe Okno główne z modalnym = true nie działa poprawnie
- 9. jak sprawić, by gvim na oknach zachowywał się tak jak vim konsoli linux?
- 10. Jak sprawić, by element div nie poruszył się podczas przewijania?
- 11. Pobierz główne okno aplikacji
- 12. Xamarin.Forms Previewer "Połączenie zostało zamknięte"
- 13. Okno debugowania programu nie zostanie zamknięte
- 14. Jak sprawić, by wget był odpowiednio cichy?
- 15. MFC - przyciemnione okno główne podczas wyświetlania modalnego okna dialogowego
- 16. jak sprawić, by DIV się nie rozpraszało?
- 17. Jak sprawić, by fabuła nie zniknęła?
- 18. Jak sprawić, by log Gita nie był wyświetlany, aby kontynuować?
- 19. Jak sprawić, by @ Html.EditorFor niepełnosprawnych
- 20. Jak sprawić, by interfejs działał?
- 21. Błąd podczas wywoływania HttpClient.GetAsync: Podstawowe połączenie zostało zamknięte
- 22. Jak sprawić, by element nadrzędny kurczył się podczas łamania linii?
- 23. "Podstawowe połączenie zostało zamknięte" podczas pobierania pliku z serwera FTP
- 24. ClickOnce i nieaktywne okno główne
- 25. Jak sprawić, by Tomcat był przenośny?
- 26. Jak sprawić, by Gedit wyglądał jak Textmate?
- 27. Wykryj, że działanie zostało zamknięte w Androidzie
- 28. Jak sprawić, by System.Net.WebProxy nie ominął lokalnych adresów URL?
- 29. „okno” nie zostało zdefiniowane w Vue.js 2
- 30. Jak sprawić, by fancybox href był dynamiczny?
fajny i wydaje się bezpieczny (wywołanie getcmdline()). Teraz: qa nadal będzie działać, ale nie q. – Benoit
zaktualizowano dla 'qa' – histrio
'DonotQuitLastWindow' zamknie tylko jedno okno ... dodaj do niego argument i ustaw go jako pętlę (' while NumberOfWindows()! = 1') jeśli została wywołana przez 'qa'. – Benoit