Was ist eine .un ~ -Datei oder warum erstellt Vim im Terminal die .un ~ -Datei?

93

Ich habe bemerkt, dass ich einige Dotfiles habe, die mit enden .un~, zum Beispiel eine .vividchalk.vim.un~, aber ich bin mir nicht sicher, woher das kommt. Es scheint, als würden sie erstellt, wenn ich Vim im Terminal verwende. Was sind diese Dateien? Können sie sich selbst entfernen, wenn ich die zu bearbeitende Datei schließe?

Kaplan
quelle

Antworten:

136

Wenn Sie Dateien bearbeiten und speichern, erstellt Vim eine Datei mit demselben Namen wie die Originaldatei und einer un~Erweiterung am Ende.

Vim 7.3 enthält eine neue Funktion zum dauerhaften Rückgängigmachen, dh, Informationen zum Rückgängigmachen gehen beim Beenden von Vim nicht verloren und werden in einer Datei gespeichert, die mit endet .un~. Sie haben die undofileOption festgelegt, sodass Vim beim Speichern der Originaldatei eine Rückgängig-Datei erstellt. Sie können Vim daran hindern, die Sicherungsdatei zu erstellen, indem Sie die Option deaktivieren:

:set noundofile

Beachten Sie, dass diese Option standardmäßig deaktiviert ist. Sie haben die undofileOption in einer der Initialisierungsdateien explizit aktiviert . Wenn Sie möchten, dass Ihre Undofiles nur in einem bestimmten Verzeichnis gespeichert werden, können Sie die undodirOption auf ein Verzeichnis verweisen, das alle Ihre aggregierten Undofiles enthält.

Quelle: http://vimhelp.appspot.com/vim_faq.txt.html#faq-7.2

TheEwook
quelle
4
Vielen Dank! Ich bin neu in Vim und versuche zu verstehen und zu konfigurieren, ohne Fracht zu kultivieren. Ich sehe jetzt, dass die Einstellung von kommt vim-sensible. Das Lesen von ReadMe auf vim-sense ist sehr hilfreich. Und ich habe (aus einem Peepcode-Screencast) gelernt, was ich tun kann, :verbose set undofile?und ich werde sehen, wo diese Option eingestellt ist. Ich glaube, ich habe das Recht.
Kaplan
1
Ich habe Vim 7.3 und das dauerhafte Rückgängigmachen funktioniert bei mir nicht (ich muss set undofiledas dauerhafte Rückgängigmachen erhalten). Beeinträchtigen andere Einstellungen die neue Funktion, z. B. nobackupoder noswapfile?
Dennis
Ich denke, der Cream Non-Cream-Vim-Installer setzt dies auch standardmäßig aktiviert.
Josiah Yoder
1
Oh Mann!! jetzt muss ich mich erinnern: set nobackup set noswapfile set noundofilein jedem _vimrc wenn ich keine welpenspuren will ?? !! Sie würden denken, dass einer von denen standardmäßig ausgeschaltet sein könnte oder so ...
Ebyrob
12
Es scheint, als ob in vim 8 (mindestens 8.0.427) diese Funktion standardmäßig aktiviert ist. YMMV natürlich ...
Chuck Wolber
2

Ich habe eine Weile gebraucht, um herauszufinden, wo ich den :set noundofileBefehl tatsächlich platzieren kann . Ich bin neu und werde nur antworten, wie ich dafür gesorgt habe, dass keine Backups erstellt werden.

  1. Öffnen Sie vim.
  2. Geben Sie den Befehlsmodus ein :e $HOME/.vimrc
  3. Schreiben :set noundofile
  4. Speichern & beenden: :wq
Spiros Skouras
quelle
Es funktioniert für meinen Anwendungsfall, das ist ein bisschen anders: Verwenden von Vim in ConEmu unter Windows. Vielen Dank!
Mário Meyrelles