Was ist .netrwhist?

122

Wenn ich Dateien in meinem bearbeite ~/.vim, wird die .netrwhistDatei auf mysteriöse Weise ebenfalls geändert.

Sein Inhalt:

let g:netrw_dirhistmax  =10
let g:netrw_dirhist_cnt =6
...and so on...

Was macht diese Datei? Ist es wichtig?

Lai Yu-Hsuan
quelle

Antworten:

118

netrw ist eine Art vim-Plugin / -Skript, das das Lesen und Schreiben von Dateien über Netzwerke hinweg unterstützt. .netrwhistist eine Verlaufsdatei, die alle geänderten Verzeichnisse verwaltet. Wenn Sie also den Inhalt ändern, wird ~/.vimein Eintrag hinzugefügt.netrwhist

Ein Beispiel .netrwhistist wie gezeigt

let g:netrw_dirhistmax  =10
let g:netrw_dirhist_cnt =6
let g:netrw_dirhist_1='/Users/wolever/EnSi/repos/web/env/web/lib/python2.6/site-packages/django'
let g:netrw_dirhist_2='/private/tmp/b/.hg/attic'
let g:netrw_dirhist_3='/Users/wolever/code/sandbox/pydhcplib-0.6.2/pydhcplib'
let g:netrw_dirhist_4='/Users/wolever/EnSi/repos/common/env/common/bin'
let g:netrw_dirhist_5='/Users/wolever/EnSi/repos/common/explode'
let g:netrw_dirhist_6='/Users/wolever/Sites/massuni-wiki/conf'

netrw_dirhistmaxGibt die maximale Anzahl geänderter Verzeichnisse an, die in der Verlaufsdatei gespeichert sind. dh maximale Verlaufsgröße. netrw_dirhist_cntGibt die aktuelle Anzahl der geänderten Verzeichnisse an.

Wenn Sie netrw deaktivieren möchten, um eine Verlaufsdatei zu generieren, sehen Sie dies .

Pavan Manjunath
quelle
1
OK, aber ... warum verwaltet netrw eine Verlaufsdatei? Was bricht, wenn ich es automatisch lösche, wie von Ihrem Link vorgeschlagen?
Han Seoul-Oh
1
Verwandte, wenn es für entfernte Dateien bestimmt ist, warum zeichnet es Pfade für lokale Dateien auf?
zaTricky
13

Wenn man g:netrw_dirhistmaxauf Null setzt, speichert netrw außerdem keinen Verlauf oder Lesezeichen:

:let g:netrw_dirhistmax = 0

Dadurch werden jedoch keine vorherigen .netrwhistoder .netrwbookDateien gelöscht.

user21497
quelle
1
@glts aber ... was ist der Nachteil von netrw, wenn keine Verlaufslesezeichen gespeichert werden? Was ist anders an meiner Erfahrung mit Vim?
Han Seoul-Oh
11

Wenn ~/.vimSie möchten, dass vim die XDG-Basisverzeichnisspezifikationen einhält , um zu verhindern, dass Ihr Basisordner durch Punktedateien wie verschmutzt wird , möchten Sie möglicherweise zwischengespeicherte Dateien und Verlaufsdateien aus Ihrer Konfiguration (die sich normalerweise in der Laufzeit befindet) trennen Pfad). So zum Beispiel, zu speichern , .netrwhistin ~/.cache/vim, können Sie wollen versuchen ,

let g:netrw_home=$XDG_CACHE_HOME.'/vim'
Ayekat
quelle
Wenn sich Ihr .vim-Ordner an einem anderen Ort als .vim befindet, befindet sich dieser neue Speicherort vermutlich im Laufzeitpfad von vim. g: netrw_home wird standardmäßig auf das erste Verzeichnis im Laufzeitpfad gesetzt, das wiederum standardmäßig $ HOME / .vim ist. Wenn Sie (ayekat) Ihren Laufzeitpfad ordnungsgemäß eingerichtet haben, sollten Sie g: netrw_home nicht ändern müssen.
user21497
@ user21497 Das ist wahr. Wenn Sie andererseits Ihre Konfiguration von Dingen wie Auslagerungsdateien trennen, Dateien rückgängig machen oder (wie hier) netrwhistden Laufzeitpfad richtig einstellen möchten, wird das Problem nur teilweise gelöst. Aber ich werde die Antwort bearbeiten, um dies etwas klarer zu machen.
Ayekat
3

Aus dem neuen Referenzhandbuch:

                        *.netrwhist*
See |g:netrw_dirhistmax| for how to control the quantity of history stack
slots.  The file ".netrwhist" holds history when netrw (and vim) is not
active.  By default, it's stored on the first directory on the user's
|'runtimepath'|.

In meinem Fall der erste Weg in runtimepathist ~/.vim(Check mit :echo &runtimepath). Ich bin gut damit, also muss ich mich nicht ändern g:netrw_home.


  *g:netrw_dirhistmax*            =10: controls maximum quantity of past
                                       history.  May be zero to supppress
                                       history.

Also, ja, hört auf, let g:netrw_dirhistmax=0in die Verlaufsdatei zu schreiben.

Ericbn
quelle