2009-04-21 1 views

Antwort

133

Von /etc/vim/vimrc Datei Ubuntu ist dieses Beispiel auf Kommentar:

" Uncomment the following to have Vim jump to the last position when              
" reopening a file 
if has("autocmd") 
    au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") 
    \| exe "normal! g'\"" | endif 
endif 

Wenn dies nicht funktioniert, ein häufiges Problem, das Eigentum an Ihrer ~/.viminfo Datei nicht aufweist, ist. Wenn dies der Fall ist, dann laufen:

sudo chown user:group ~/.viminfo 

wo Benutzer Ihre username und group ist oft das gleiche wie Ihr Benutzername.

+6

Die AutoCAD-Datei kommt direkt aus dem vim doc. Siehe: help last-position-jump – user55400

+13

Wenn das einfache Zitat in der vorletzten Zeile in einen Backtick geändert wird, springt es zur tatsächlichen Cursorposition, nicht nur zum Anfang der Zeile: '\ | exe "normal! g \\" "| endif" – u2622

+3

Der 'chown' Teil hat das Problem für mich behoben. – slowpoison

17
:h views-sessions 

du platzieren können in Ihrem .vimrc:

au BufWinLeave * mkview 
    au BufWinEnter * silent loadview 

die Ansichten werden in $ HOME/.vim/Ansicht platziert werden. Wahrscheinlich müssen Sie diese Verzeichnisse erstellen.

+0

Ich mag diese Antwort, weil der andere auf eine Datei/etc/vim/verweist, die auf meinem Mac nicht existiert. – MarkHu

32

Wenn Sie nicht über den Handel Automatisierung der Einfachheit halber dagegen haben, drücken Sie einfach die Tasten '" (Apostroph, gefolgt von doppelten Anführungszeichen) auf das Öffnen einer Datei, die Sie springen werden, wo Sie waren. Dies ist im Wesentlichen , was @ marcog Antwort tut

5

Wenn Sie viminfo aktiviert haben, es so einfach wie `0 ist auf die zuletzt bearbeitete Datei Position zu gehen, Sie werden feststellen, dass dies nur eine ist Befehl ‚zu markieren, gehen‘;..

In der Tat können Sie später '3, um zum dritten vorherigen bearbeiteten Speicherort (vielleicht in einer anderen Datei) zu gehen, und dann zu zurückkehren die letzte mit `0 wieder

Werfen Sie einen Blick auf

:marks 

erinnerte Orten zu sehen. Beachten Sie auch, dass viminfo alle möglichen anderen Dinge speichert (wie den Inhalt von Registern, Marken pro Datei, Befehl und Suchverlauf). Die meisten Leute haben dies aus offensichtlichen Gründen aktiviert

+0

'0 funktioniert nicht für mich auf vim Version 7.4.1689 auf Mac. Aber '0 macht den Trick. Ist das ein Tippfehler in der Antwort? – alamoot

+0

@alamoot nein es ist nicht, siehe [vimdoc motion.txt] (http://vimdoc.sourceforge.net/htmldoc/motion.html#mark-motions) - Prüfe, welches Zeichen dein '\' 'Schlüssel tatsächlich erzeugt, oder tun ': ausführliche Karte \' ' – sehe

+0

Sie haben Recht. Laut vimdoc sind beide richtig! – alamoot

2

Es gibt ein Plugin namens vim-lastplace (ich bin der Autor), die Ihre Dateien dort öffnen, wo Sie aufgehört haben. Es verbessert die obigen Vorschläge, indem es Commit-Nachrichten ignoriert, da Sie in der Regel eine neue Nachricht bearbeiten und am Anfang der Nachrichtendatei für das Commit starten möchten.

+0

alles, was Sie ohne Plugins tun können, ist am besten. Ziel für .vimrc: Je kleiner der Code desto leichter und schneller – nilon

1

Manchmal wird /root/.viminfo schreibgeschützt. Dies könnte auch ein Grund dafür sein, dass vim die Cursorposition beim Schließen der Datei nicht speichert. mit Angabe

vim 

Weiter drücken Sie STRG + O zweimal an der letzten Stelle in jeder Datei, die Sie auf

1

Sie können Vim starten, ohne einen Dateinamen gearbeitet zu bewegen.

Verwandte Themen