【问题标题】:Hide Vim backups (*~) in Windows Explorer在 Windows 资源管理器中隐藏 Vim 备份 (*~)
【发布时间】:2012-03-27 08:20:30
【问题描述】:

在 Windows 上,我通常使用 Total Commander,它可以轻松配置为完全忽略这些 *.*~*~。但有时当我切换到 Windows 资源管理器时,我会对所有“未知”文件/感到有点困惑。

我可以设置 Vim 以便它创建的每个备份也设置“隐藏”属性吗?

或者设置一些不错的解决方法?

我知道我可以设置 Vim 将它们放在其他目录中,但我想避免这种情况,因为 IIUC,它可能会遇到命名冲突。

【问题讨论】:

    标签: windows vim attributes backup hidden-files


    【解决方案1】:

    如果设置了backup 选项,则每次我们使用:w 写入文件时,vim 都会更新备份文件。并且每次,它都会创建一个即使您之前强行隐藏它也不会隐藏的文件!所以我们每次将缓冲区写入文件时都需要做一些事情。

    您可以在 Windows 上执行此操作。在您的 _vimrc 文件(通常位于 C:\Program Files (x86)\Vim )中,添加此行

    autocmd BufWritePost,FileWritePost * silent ! attrib +h <afile>~
    

    在哪里,

    attrib=Windows File attribute changinf command
    <afile>= Name of the file being sourced
    silent= Prevent an annoying command window from popping up and asking user to press a key
    

    这将确保备份文件在每次从缓冲区写入文件时隐藏。为什么每次? Cos vim 在每次写入时都会创建一个非隐藏文件!

    但是每次保存文件时,您都必须忍受闪烁的黑色窗口(我们正在运行attrib 命令的命令窗口),但值得痛苦:)

    在 linux/unix 系统上,您可以将其添加到您的 .vimrc

    autocmd BufWritePost,FileWritePost * silent ! mv <afile>~ .<afile>
    

    希望这对所有试图找到如何隐藏 vim 备份文件的人有所帮助。

    【讨论】:

    • 写一个没有弹出命令窗口的attrib命令的替换是微不足道的。
    • 打扰控制台窗口的问题是solved here on SU
    • OT,记录一下:似乎无论我如何尝试隐藏窗口,它都不起作用。看起来如果实际上 Vim 在执行我的命令之前打开了窗口。不过,这是另一个问题...感谢您提供出色而完整的答案!
    • 很高兴它对您有所帮助 :) 是的,Quiet 可执行文件似乎在这里也不起作用。如果我发现一些有趣的东西,我会回帖。
    • 但是还有一个不隐藏的a.txt.un~?我怎么也能隐藏它。 @PavanManjunath
    【解决方案2】:

    不久前我为此编写了一个名为autohide 的插件。按照 Pavan 的回答中的建议,它通过在写入后设置“隐藏”属性来工作。默认情况下,它只对交换文件、viminfo 和持久撤消文件执行此操作;您可以通过在 .vimrc 中配置 let g:autohide_types='b' 使其仅隐藏备份文件,或者将其添加到默认列表而不是使用 'suvb' 而不是仅 'b'

    在 Pavan 的回答中,手动方法的好处包括处理其他文件类型、任意文件模式(如点文件)和一些错误处理(特别是与不允许在创建文件后立即设置属性的慢速网络共享有关) )。

    【讨论】:

    • 我使用了你的插件。它运作良好。但是我怎样才能隐藏 .type~ 文件它没有隐藏文件名 a.txt~。 @本
    • 这是一个错误。抱歉,我稍后会尝试发布新版本。现在在 plugin/autohide.vim 脚本中,找到 "call Autohide_DoHide(fnamemodify(a:file,':r').&backupext)" 行并将 ':r' 更改为 ':n'。然后将 'b' 添加到 g:autohide_types 变量应该做你想要的。
    【解决方案3】:

    我的_gvimrc 中有这个:

    set nobackup
    

    首先不会生成任何备份文件。 但是,交换文件 (.*.swp) 仍然在编辑期间生成(并在您关闭 Vim 时删除)。因此,如果您的计算机崩溃了,您仍然可以恢复您的更改。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-15
      • 2016-05-04
      • 1970-01-01
      相关资源
      最近更新 更多