# HG changeset patch # User Meredith Howard # Date 1478759708 18000 # Node ID 4cb4cd6a25703e4ab13873db3b76a5c870a93109 # Parent cac0a6e87836f9aa492d8f52dbc818bb4eba2fd1 auto-mkdir on write diff --git a/.vimrc b/.vimrc --- a/.vimrc +++ b/.vimrc @@ -360,6 +360,20 @@ augroup vimrc \ endif augroup END +function! s:MkNonExDir(file, buf) + if empty(getbufvar(a:buf, '&buftype')) && a:file!~#'\v^\w+\:\/' + let dir=fnamemodify(a:file, ':h') + if !isdirectory(dir) + call mkdir(dir, 'p') + endif + endif +endfunction + +augroup AutoMkdir + autocmd! + autocmd BufWritePre * :call s:MkNonExDir(expand(''), +expand('')) +augroup END + " https://mjj.io/2015/01/27/encrypting-files-with-gpg-and-vim/ augroup encrypted autocmd!