Linux 如何配置Vim备份目录

Linux 如何配置Vim备份目录,linux,vim,editor,Linux,Vim,Editor,我不喜欢Vim在我的工作目录中乱放备份和交换文件,但我不想在发生故障时关闭它们。我发现添加以下行: set backupdir=./.backup set directory=./.backup set backupdir=./.backup,/tmp,. set directory=./.backup,/tmp,. vimrc配置文件告诉Vim将这些文件放在一个隐藏目录中。这很好,但如果我不手动创建这些隐藏目录,Vim似乎不会创建备份或交换文件。我在别的地方看到过这样的台词: set ba

我不喜欢Vim在我的工作目录中乱放备份和交换文件,但我不想在发生故障时关闭它们。我发现添加以下行:

set backupdir=./.backup
set directory=./.backup
set backupdir=./.backup,/tmp,.
set directory=./.backup,/tmp,.
vimrc配置文件告诉Vim将这些文件放在一个隐藏目录中。这很好,但如果我不手动创建这些隐藏目录,Vim似乎不会创建备份或交换文件。我在别的地方看到过这样的台词:

set backupdir=./.backup
set directory=./.backup
set backupdir=./.backup,/tmp,.
set directory=./.backup,/tmp,.
并认为这会告诉Vim使用其他位置,
/tmp
,如果它不能使用
/.backup
,但Vim似乎没有这样做

我将如何制作Vim:

  • 创建所需的
    /backup
    目录,或
  • 如果
    /backup
    目录不存在,是否使用工作目录

  • 如果目录不存在,我在我的.vimrc中有这些文件来创建目录:

    silent !mkdir ~/.vim/backups > /dev/null 2>&1
    
    我相信您可以根据自己的需要进行修改,最可能的情况是:

    silent !mkdir ./.backup > /dev/null 2>&1
    
    这对我有用

    :h'backupdir'
    :h'directory'
    似乎表明您的解决方案应该可以工作

    检查:

  • set directory=./.backup、/tmp、.
    添加到
    ~/.vimrc
  • 关闭Vim
  • 确保备份不存在
  • 在Vim中重新打开
    ~/.vimrc
  • 检查
    /tmp
    中的
    .vimrc.swp
    。(
    ls-la/tmp | grep.vimrc.swp

  • 将这些添加到您的
    ~/.vimrc

    set backup
    if !isdirectory($HOME."/.vim/backupdir")
        silent! execute "!mkdir ~/.vim/backupdir"
    endif
    set backupdir=~/.vim/backupdir
    "not generate .swap
    set noswapfile
    

    您将在目录
    ~/.vim/backupdir

    中找到备份,使用
    mkdir-p
    不介意目录是否存在,它可以创建路径,以便您可以执行以下操作:

    mkdir-p.vim/backups
    

    它总是创建目录,从不抱怨。没有混乱,没有大惊小怪。

    我创建了一个插件来实现这一点。这只是一个概念证明,但它是可配置的。使用
    mkdir-p
    则无需忽略错误;)与此相关的好帖子: