Szybkie wyjście jest jedną z zabójczych funkcji edytora Sublime Text. Umożliwia zamknięcie edytora w dowolnym momencie bez obawy o zmiany w otwartych plikach - po prostu zamyka się bez pytania. Po ponownym uruchomieniu ST wszystkie otwarte i edytowane pliki będą w tym samym stanie, co przed zamknięciem
Zastanawiam się, czy istnieje sposób, aby zrobić to samo w vimie?
Odpowiedzi:
Vim może to zrobić, choć może być trochę niezręczny i wymaga trochę konfiguracji.
romainl pozwala ci się z tobą rozstać
session
. Brakujące bity to pliki wymiany:preserve
i&
flaga dlacpoptions
.Pliki wymiany są przeznaczone do odzyskiwania w przypadku awarii Vima lub systemu. Umożliwiają odzyskanie niezapisanych zmian (z pewnymi ograniczeniami, patrz
:he swap-file
). Jednak gdy Vim kończy się normalnie, usuwa wszystkie używane pliki wymiany, nawet jeśli bufor zawiera niezapisane zmiany.To gdzie
:preserve
icpoptions
„s&
przyjść.:preserve
Siły Vim napisać wszystkie bufory do swoich plików wymiany natychmiast (w przeciwieństwie do normy po 4 sekundach lub 200 znaków, czy cokolwiek twoje opcje ustawić go na). Robienie:set cpoptions+=&
mówi Vimowi, żeby nie kasował plików wymiany zapisanych:preserve
przy normalnym wychodzeniu.Niestety, Vim nie usuwa automatycznie plików wymiany podczas odzyskiwania z nich, więc wkrótce możesz skończyć z katalogiem wyglądającym tak:
Możesz usunąć starsze ręcznie, ale Vim automatycznie zaoferuje odzyskanie tylko wtedy, gdy istnieje
*.swp
plik, w którym umieściłby swój nowy plik wymiany.:recover
Komenda zmusi Vima szukać plików wymiany w celu odzyskania od.Korzystając z poleceń automatycznych, możesz zautomatyzować przechowywanie (prawdopodobnie ze
QuitPre
zdarzeniem) i odzyskiwanie (prawdopodobnie za pomocąBufRead
lubBufReadPost
). Recover.vim to wtyczka, która może działać jako przyjazna alternatywa dla zarządzania odzyskiwaniem. Wygląda na to, że obsługuje również czyszczenie plików wymiany. Nie jestem pewien, jak poradziłby sobie z katalogiem z plikiem,.swo
ale bez.swp
pliku. W:recover
tym przypadku może być konieczne użycie .vim-obsession to kolejna wtyczka, która twierdzi, że znacznie ułatwia obsługę sesji.
źródło
Tak. Nazywa się to „sesją” i możesz o tym przeczytać w:
źródło