什么是.un~文件或者为什么终端中的Vim会生成.un~文件?

kap*_*lan 83 vim terminal dotfiles

我注意到我有一些最终的dotfiles,.un~例如我有一个.vividchalk.vim.un~,但我不知道它来自哪里.看起来它们是我在终端中使用Vim时创建的.这些文件是什么?当我关闭我正在编辑的文件时,可以让他们自己删除吗?

The*_*ook 119

编辑和保存文件时,Vim会创建一个与原始文件同名的文件,并un~在末尾创建一个扩展名.

Vim 7.3包含一个新的持久性撤销功能,即退出Vim时不会丢失撤消信息,并存储在以.un~.结尾的文件中.您已设置undofile选项,因此Vim在保存原始文件时会创建撤消文件.您可以通过清除选项来阻止Vim创建备份文件:

:set noundofile
Run Code Online (Sandbox Code Playgroud)

请注意,默认情况下,此选项已关闭.您已undofile在其中一个初始化文件中明确启用了该选项.如果您希望仅将您的undofiles存储在特定目录中,则可以将该undodir选项指向包含所有聚合的undofiles的目录.

资料来源:http://vimhelp.appspot.com/vim_faq.txt.html#faq-7.2

  • 看起来好像vim 8(至少8.0.427)默认启用此功能.YMMV当然...... (8认同)
  • 谢谢!我是Vim的新手并试图在没有货物结果的情况下理解和配置.我现在看到这个环境来自"vim-sensible".阅读[vim-sensible](https://github.com/tpope/vim-sensible)上的自述文件非常有帮助.我学会了(从一个窥视代码截屏视频)我可以做`:详细设置undofile?`我会看到该选项的设置位置.我想我有这个权利. (3认同)
  • 天啊!!现在我必须记住:如果我不想要小狗的踪迹,在每个 _vimrc 中设置 nobackup set noswapfile set noundofile ??!! 你可能会认为其中一个可能会默认关闭或其他什么...... (2认同)

小智 13

我花了一段时间才找到实际放置:set noundofile命令的位置。我是新人,我\xe2\x80\x99ll 只是回复我如何让它不做备份。

\n\n
    \n
  1. 打开vim。
  2. \n
  3. 在命令模式下输入:e $HOME/.vimrc
  4. \n
  5. 写:set noundofile
  6. \n
  7. 保存并退出::wq
  8. \n
\n

  • 请不要!撤消是一项非常有价值的功能。你只需要定义一个[undodir](/sf/answers/4504677621/)。 (3认同)

Bra*_*rks 12

避免 vim 在各处创建撤消文件的另一种可能方法是将撤消目录设置为某个现有目录,例如

if has('persistent_undo')         "check if your vim version supports
  set undodir=$HOME/.vim/undo     "directory where the undo files will be stored
  set undofile                    "turn on the feature
endif
Run Code Online (Sandbox Code Playgroud)

从这里被抓住

  • 确切地。Vim 撤消是一个非常有价值的工具(当它不会弄乱你的文件夹时)。例如,我喜欢“:earlier 30m”。 (2认同)