我不喜欢vim如何使我的文件夹与备份文件混乱,所以我的.vimrc文件中有以下行:
set backupdir=~/.vim_backup
Run Code Online (Sandbox Code Playgroud)
但是,有时这个文件夹不存在,因为我正在复制我的用户文件的新机器.
如何从.vimrc中自动创建此文件夹(如果不存在)?还是有更好的方法来处理这种情况?
jdg*_*jdg 86
我认为这是独立于操作系统的:
if !isdirectory("/my/directory")
call mkdir("/my/directory", "p")
endif
Run Code Online (Sandbox Code Playgroud)
ABe*_*oon 27
你可以把它放到你的.vimrc中:
silent !mkdir ~/.vim_backup > /dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)
每次启动vim时都会尝试创建〜/ .vim_backup.如果它已经存在,mkdir将发出错误信号,但你永远不会看到它.
我更喜欢已发布的单行.但是,我想我会分享我一直在使用的东西:
function! EnsureDirExists (dir)
if !isdirectory(a:dir)
if exists("*mkdir")
call mkdir(a:dir,'p')
echo "Created directory: " . a:dir
else
echo "Please create directory: " . a:dir
endif
endif
endfunction
call EnsureDirExists($HOME . '/.vim_backup')
Run Code Online (Sandbox Code Playgroud)
您可以使用mkdir()
Vim功能。它可以创建中间目录并在目录上设置适当的权限:
if !isdirectory($HOME . "/.vim/backup")
call mkdir($HOME . "/.vim/backup", "p", 0700)
endif
Run Code Online (Sandbox Code Playgroud)