: '"Apostroph gefolgt von doppelten Anführungszeichen leitet Ihre letzte Änderungszeile weiter
Dhiren Hamal
Antworten:
195
In der Ubuntu- /etc/vim/vimrcDatei ist dieses Beispiel auskommentiert:
" 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, besteht ein häufiges Problem darin, dass Sie nicht Eigentümer Ihrer ~/.viminfoDatei sind. Wenn dies der Fall ist, führen Sie Folgendes aus:
sudo chown user:group ~/.viminfo
Dabei ist der Benutzer Ihr Benutzer usernameund grouphäufig derselbe wie Ihr Benutzername.
Das Autocmd kommt direkt aus dem VIM-Dokument. Siehe: Hilfe Last-Position-Jump
Benutzer55400
19
Wenn das einfache Anführungszeichen in der vorletzten Zeile in einen Backtick geändert wird, springt es zur tatsächlichen Cursorposition, nicht nur zum Anfang dieser Zeile:\| exe "normal! g`\"" | endif
u2622
4
Der chownTeil hat das Problem für mich behoben. Hut ab!
Slowpoison
2
Schließlich weist jemand darauf hin, dass meine .viminfo aus irgendeinem Grund im Besitz von root ist! Dies muss in den anderen 100 Dokumentationen sein, die ich gelesen habe.
Jack
2
Ich möchte nur +1 chown user ~/.viminfohinzufügen. Ich habe jetzt seit einer Stunde versucht, das herauszufinden, und Sie haben gerade meinen Tag gerettet.
Christopher Reid
48
Wenn Ihnen die Handelsautomatisierung der Einfachheit halber nichts ausmacht, drücken Sie beim '"Öffnen einer Datei einfach den Tastendruck (Apostroph, gefolgt von doppelten Anführungszeichen), und Sie springen dorthin, wo Sie waren. Dies ist im Wesentlichen die Antwort von @ marcog.
Wenn Sie NERDTree installiert haben, kann durch zweimaliges Drücken von Co NERDTree im aktuellen Puffer geöffnet werden. In meinem Fall muss ich manchmal bis zu fünf Mal auf Co drücken, aber irgendwann erhalte ich den von @MatAff beschriebenen Effekt.
Ashrasmun
Ctrl-cEinmal drücken ist genug für mich. Darüber hinaus drücken Ctrl-cmehr nimmt mich weiter hinten in der histroy Cursorposition (auch relevant ungeöffnet Dateien zu öffnen). Ich benutze Neovim 0.4.2, aber ich verstehe, dass es auch für gilt vim.
T_T
7
Wenn Sie viminfo aktiviert haben, können Sie ganz einfach `0zur zuletzt bearbeiteten Dateiposition wechseln . Sie werden feststellen, dass dies nur ein Befehl zum Markieren ist.
In der Tat können Sie später '3 ausführen, um zum dritten zuvor bearbeiteten Speicherort (möglicherweise in einer anderen Datei) zu wechseln und dann erneut zum letzten Speicherort `0zurückzukehren
Schau es dir an
:marks
erinnerte Orte zu sehen. Beachten Sie auch, dass viminfo alle Arten anderer Dinge speichert (wie den Inhalt von Registern, Markierungen pro Datei, Befehl und Suchverlauf). Die meisten Menschen haben dies aus offensichtlichen Gründen aktiviert
`0 funktioniert bei mir nicht unter vim version 7.4.1689 auf mac. Aber '0 macht den Trick. Ist das ein Tippfehler in der Antwort?
Alamoot
@alamoot nein, ist es nicht, siehe vimdoc motion.txt - Überprüfen Sie, welches Zeichen Ihr `Schlüssel tatsächlich generiert, oder tun Sie:verbose map `
Sie
Du hast recht. Laut vimdoc sind beide richtig!
Alamoot
6
Es gibt ein Plugin namens vim-lastplace (ich bin der Autor), das Ihre Dateien dort öffnet, wo Sie aufgehört haben. Die oben genannten Vorschläge werden verbessert, indem Festschreibungsnachrichten ignoriert werden, da Sie normalerweise eine neue Nachricht bearbeiten und oben in der Festschreibungsnachrichtendatei beginnen möchten.
Alles, was Sie ohne Plugins tun können, ist am besten. Ziel für .vimrc: Je kleiner der Code,
desto
1
Manchmal ~/.viminfowird es schreibgeschützt oder Ihr Benutzer hat keinen Zugriff auf die Datei. Dies könnte auch ein Grund dafür sein, dass vim Ihre Cursorposition beim Schließen Ihrer Datei nicht speichert.
Antworten:
In der Ubuntu-
/etc/vim/vimrc
Datei ist dieses Beispiel auskommentiert:Wenn dies nicht funktioniert, besteht ein häufiges Problem darin, dass Sie nicht Eigentümer Ihrer
~/.viminfo
Datei sind. Wenn dies der Fall ist, führen Sie Folgendes aus:Dabei ist der Benutzer Ihr Benutzer
username
undgroup
häufig derselbe wie Ihr Benutzername.quelle
\| exe "normal! g`\"" | endif
chown
Teil hat das Problem für mich behoben. Hut ab!chown user ~/.viminfo
hinzufügen. Ich habe jetzt seit einer Stunde versucht, das herauszufinden, und Sie haben gerade meinen Tag gerettet.Wenn Ihnen die Handelsautomatisierung der Einfachheit halber nichts ausmacht, drücken Sie beim '"Öffnen einer Datei einfach den Tastendruck (Apostroph, gefolgt von doppelten Anführungszeichen), und Sie springen dorthin, wo Sie waren. Dies ist im Wesentlichen die Antwort von @ marcog.
quelle
Sie können dies in Ihre .vimrc einfügen :
Die Ansichten werden in $ HOME / .vim / view abgelegt. Sie müssen diese Verzeichnisse wahrscheinlich erstellen.
quelle
Sie können vim starten, ohne einen Dateinamen mit anzugeben
Drücken Sie anschließend zweimal STRG + O, um zum letzten Speicherort in einer Datei zu gelangen, an der Sie gearbeitet haben.
quelle
Ctrl-c
Einmal drücken ist genug für mich. Darüber hinaus drückenCtrl-c
mehr nimmt mich weiter hinten in der histroy Cursorposition (auch relevant ungeöffnet Dateien zu öffnen). Ich benutze Neovim 0.4.2, aber ich verstehe, dass es auch für giltvim
.Wenn Sie viminfo aktiviert haben, können Sie ganz einfach
`0
zur zuletzt bearbeiteten Dateiposition wechseln . Sie werden feststellen, dass dies nur ein Befehl zum Markieren ist.In der Tat können Sie später '3 ausführen, um zum dritten zuvor bearbeiteten Speicherort (möglicherweise in einer anderen Datei) zu wechseln und dann erneut zum letzten Speicherort
`0
zurückzukehrenSchau es dir an
erinnerte Orte zu sehen. Beachten Sie auch, dass viminfo alle Arten anderer Dinge speichert (wie den Inhalt von Registern, Markierungen pro Datei, Befehl und Suchverlauf). Die meisten Menschen haben dies aus offensichtlichen Gründen aktiviert
quelle
`
Schlüssel tatsächlich generiert, oder tun Sie:verbose map `
Es gibt ein Plugin namens vim-lastplace (ich bin der Autor), das Ihre Dateien dort öffnet, wo Sie aufgehört haben. Die oben genannten Vorschläge werden verbessert, indem Festschreibungsnachrichten ignoriert werden, da Sie normalerweise eine neue Nachricht bearbeiten und oben in der Festschreibungsnachrichtendatei beginnen möchten.
quelle
Manchmal
~/.viminfo
wird es schreibgeschützt oder Ihr Benutzer hat keinen Zugriff auf die Datei. Dies könnte auch ein Grund dafür sein, dass vim Ihre Cursorposition beim Schließen Ihrer Datei nicht speichert.quelle