2012-03-24 38 views
97

Kiedy edytuję pliki w moim ~/.vim, plik .netrwhist również został w tajemniczy sposób zmieniony.co to jest .netrwhist?

To treść:

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

Co to plik zrobić? Czy to ważne?

Odpowiedz

95

netrw jest rodzajem vim plugin/script, który obsługuje odczytywanie i zapisywanie plików w sieciach. .netrwhist to plik historii, który przechowuje wszystkie zmodyfikowane katalogi. Jeśli więc modyfikować zawartość ~/.vim dodaje jeden wpis w .netrwhist

Próbkę .netrwhist jest jak pokazano

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_dirhistmax wskazuje maksymalną liczbę zmodyfikowanych katalogów on przechowuje w pliku historii. tj. Max History Size. netrw_dirhist_cnt wskazuje aktualną historię modyfikacji zmodyfikowanych katalogów.

Jeśli chcesz wyłączyć netrw, aby wygenerować plik historii, zobacz this.

12

Ponadto, jeśli ktoś ustawia g:netrw_dirhistmax do zera, netrw uratuje żadnej historii i zakładek:

:let g:netrw_dirhistmax = 0 

Rozwiązanie to nie spowoduje żadnych wcześniejszych .netrwhist lub .netrwbook pliki mają zostać usunięte, jednak.

5

Ponadto, jeśli chcesz, aby vim respektował podstawowe specyfikacje katalogu XDG, aby zapobiec marnowaniu twojego folderu domowego przez pliki dotfile, takie jak ~/.vim, możesz chcieć podzielić buforowane pliki i pliki historii od konfiguracji (która zazwyczaj znajduje się w ścieżce środowiska wykonawczego). Tak na przykład, do przechowywania .netrwhist w ~/.cache/vim, może chcesz spróbować

let g:netrw_home=$XDG_CACHE_HOME.'/vim' 
+0

Jeśli twój folder .vim jest inny niż .vim, prawdopodobnie nowa lokalizacja znajduje się na runtimepath vima. g: netrw_home jest domyślnie ustawiony na pierwszy katalog na runtimepath, który z kolei jest domyślnie $ HOME/.vim. Jeśli więc (ayekat) ma się poprawnie skonfigurowany runtimepath, nie powinieneś modyfikować g: netrw_home. – user21497

+0

@ user21497 To prawda. Z drugiej strony, jeśli chcesz oddzielić konfigurację od rzeczy takich jak pliki wymiany, cofania plików lub (jak tutaj) 'netrwhist', prawidłowe ustawienie runtimepath tylko częściowo rozwiązuje problem. Ale zmienię odpowiedź, aby było to trochę bardziej zrozumiałe. – ayekat

0

Z netrw podręcznika:

     *.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'|. 

w moim przypadku, pierwsza ścieżka w runtimepath jest ~/.vim (sprawdź :echo &runtimepath). Jestem z tym dobry, więc nie muszę zmieniać g:netrw_home.


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

Tak, tak, let g:netrw_dirhistmax=0 przestanie pisać do pliku historii.