Szukaj…


Wprowadzenie

Jeśli edytujesz nowy plik: vim these/directories/dont/exist/newfile , nie będziesz mógł zapisać pliku, ponieważ katalog, w którym próbuje zapisać vim nie istnieje.

Monituj o tworzenie katalogów za pomocą: w lub elegancko twórz je za pomocą: w!

Ten kod poprosi cię o utworzenie katalogu za pomocą :w lub po prostu zrób to za pomocą :w! :

augroup vimrc-auto-mkdir
  autocmd!
  autocmd BufWritePre * call s:auto_mkdir(expand('<afile>:p:h'), v:cmdbang)
  function! s:auto_mkdir(dir, force)
    if !isdirectory(a:dir)
          \   && (a:force
          \       || input("'" . a:dir . "' does not exist. Create? [y/N]") =~? '^y\%[es]$')
      call mkdir(iconv(a:dir, &encoding, &termencoding), 'p')
    endif
  endfunction
augroup END


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow