是什么?

当我在 ~/.vim中编辑文件时,.netrwhist文件也会神秘地发生变化。

它的内容是:

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

这个文件是做什么的? 很重要吗?

48628 次浏览

Netrw 是一种支持跨网络读写文件的 Vim 插件/脚本.netrwhist是一个历史文件,它维护所有被修改的目录。因此,无论何时修改 ~/.vim的内容,它都会在 .netrwhist中添加一个条目

示例 .netrwhist如下所示

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表示它在历史文件中存储的修改过的目录的最大数量。最大历史尺寸。netrw_dirhist_cnt表示已修改目录的当前历史记录计数。

如果要禁用 netrw 来生成历史文件,请参见 这个

此外,如果将 g:netrw_dirhistmax设置为零,netrw 将不会保存任何历史记录或书签:

:let g:netrw_dirhistmax = 0

但是,这样做不会导致删除以前的任何 .netrwhist.netrwbook文件。

此外,如果您希望 vim 遵守 XDG 基本目录规范,以防止您的主文件夹被诸如 ~/.vim之类的 dotfiles 弄得乱七八糟,那么您可能希望将缓存文件和历史文件从您的配置中分离出来(通常位于运行时路径中)。例如,要在 ~/.cache/vim中存储 .netrwhist,您可能需要尝试

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

来自新的参考手册:

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

在我的例子中,runtimepath中的第一条路径是 ~/.vim(请查看 :echo &runtimepath)。我对此很满意,所以我不需要改变 g:netrw_home


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

所以 let g:netrw_dirhistmax=0会停止写入历史文件。