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

Posted

技术标签:

【中文标题】什么是 .un~ 文件,或者为什么终端中的 Vim 会生成 .un~ 文件?【英文标题】:What is a .un~ file or or why does Vim in the Terminal make the .un~ file? 【发布时间】:2013-03-17 15:23:40 【问题描述】:

我注意到我有一些以.un~ 结尾的点文件,例如我有一个.vividchalk.vim.un~,但我不确定它来自哪里。似乎它们是我在终端中使用 Vim 时创建的。这些文件是什么?当我关闭我正在编辑的文件时,可以让它们自行删除吗?

【问题讨论】:

【参考方案1】:

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

Vim 7.3 包含一个新特性persistent undo,即撤销信息 退出 Vim 时不会丢失并存储在以.un~ 结尾的文件中。 你已经设置了undofile 选项,所以 Vim 在保存时会创建一个撤销文件 原始文件。您可以通过以下方式阻止 Vim 创建备份文件 清除选项:

:set noundofile

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

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

【讨论】:

谢谢!我是 Vim 的新手,并试图在没有货物文化的情况下理解和配置。我现在看到该设置来自vim-sensible。阅读vim-sensible 上的自述文件非常有帮助。而且我(从 peepcode 截屏视频中)了解到我可以做到:verbose set undofile?,然后我会看到该选项的设置位置。我想我有这个权利。 我有 Vim 7.3 并且持久撤消对我不起作用(我需要 set undofile 才能获得持久撤消)。其他设置是否会干扰新功能,例如nobackupnoswapfile? 我认为 cream 非cream-vim-installer 也默认启用了这个。 天哪!现在我必须记住:set nobackup set noswapfile set noundofile 在每个 _vimrc 中,如果我不想要小狗轨道??!!您会认为其中一个可能默认为关闭或其他... 看来vim 8(至少8.0.427)默认开启了这个功能。当然是 YMMV...【参考方案2】:

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

    打开 vim。 在命令模式下输入:e $HOME/.vimrc 写信:set noundofile 保存并退出::wq

【讨论】:

它适用于我的用例,但有点不同:在 Windows 上的 ConEmu 中使用 Vim。谢谢! 我在 vim windows 安装程序上默认获得了撤消文件。您的向导帮助了我,谢谢! 请不要!撤消是一个非常有价值的功能。你只需要定义一个undodir。 这个答案对我有用。谢谢。【参考方案3】:

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

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

snagged from here

【讨论】:

没错。 Vim undo 是一个非常有价值的工具(当它不会乱扔你的文件夹时)。例如,我喜欢:earlier 30m

以上是关于什么是 .un~ 文件,或者为什么终端中的 Vim 会生成 .un~ 文件?的主要内容,如果未能解决你的问题,请参考以下文章

Windows终端(用的是powershell)中的vim输入全部是乱码

在VIM里面是怎样编译C语言的文件

ubuntu的vim模式输入啥命令都没有反应

我在iPhone4S上的SSH中的VIM编辑器不显示语法高亮。。

如何复制vim编辑器中的内容粘贴到另一个终端的编辑器里

如何复制vim编辑器中的内容粘贴到另一个终端的编辑器里