Vim otwórz plik w miejscu, które było ostatnio przeglądane

5

Kiedy zamykam plik w vimie i otwieram go ponownie, plik otwiera się na początku pliku. Czy istnieje możliwość otwarcia pliku w ostatnim miejscu, które oglądałem?

sześćdziesiąt stóp
źródło

Odpowiedzi:

7

Umieść to w .vimrc:

if has („autocmd”)
  „Podczas edycji pliku zawsze przeskakuj do ostatniej pozycji kursora
  autocmd BufReadPost *
  \ if linia („'\” ”)> 0 i& linia („ ”\” ”) X = linia („ $ ”) |
  \ exe "normal g '\" "|
  endif
endif

Po prostu zmień duży X za pomocą <.

Jeśli wstawię, <kod nie zostanie wydrukowany poprawnie.

Studer
źródło
2
+1. Jako BTW możesz przeczytać więcej na ten temat z: pomoc w skoku z ostatniej pozycji.
DaveParillo
Ponadto to polecenie („”) nie jest dostępne w vi, co może być przyczyną, że vi sześćdziesięciostopniak nie zachowuje się tak domyślnie. Jest to domyślne zachowanie w vim.
DaveParillo
+1: Dziękuję za odpowiedź, ale myślę, że znalazłem prostsze rozwiązanie (przez pomyłkę)
sixtyfootersdude
6

Właśnie zauważyłem, że mój kursor zaczął mieć takie zachowanie. Przejrzałem mój vimrc (komentując wiersz po wierszu) i stwierdziłem, że ten kod będzie również działał:

"make vim save and load the folding of the document each time it loads"
"also places the cursor in the last place that it was left."
au BufWinLeave * mkview
au BufWinEnter * silent loadview

(Cytaty zakończone, aby ułatwić czytanie)

Głównym celem tego bloku jest, aby wszystkie utworzone fałdy pojawiały się ponownie, gdy plik jest otwarty, ale najwyraźniej zapisuje / ładuje pozycję kursora.

sześćdziesiąt stóp
źródło
2

Istnieje wtyczka o nazwie vim-lastplace (jestem autorem), która otworzy twoje pliki tam, gdzie zostało przerwane. Poprawia powyższe sugestie, ignorując komunikaty zatwierdzania, ponieważ zazwyczaj edytujesz nową wiadomość i chcesz zacząć od góry pliku wiadomości zatwierdzenia.

Greg Dietsche
źródło
Cześć Greg, odnośnie twoich ostatnich odpowiedzi, spójrz tutaj .
bummi
Myślę, że jak dotąd Greg ma się dobrze. Mimo to musi przejść przez udostępniony link
pun
1
Myślę, że moja odpowiedź jest dobra i trafna. Ujawniłem, że jestem autorem. Czy coś mi umknęło? Z zasady: „Publikuj dobre, trafne odpowiedzi, a jeśli niektóre (ale nie wszystkie) dotyczą twojego produktu lub witryny, to jest w porządku. Musisz jednak ujawnić swoje powiązanie w swoich odpowiedziach”.
Greg Dietsche