Как автоматически создать весь путь при создании нового файла с помощью vim?

Чтобы открывать новые файлы в vim, я обычно делаю следующее:

:tabe my_newfile

Однако, скажем, я хочу открыть новый файл в НОВОМ каталоге, например:

:tabe newdir/my_newfile

приводит к ошибке

"newdir/my_newfile" E212: Can't open file for writing

Есть ли простой способ автоматически создать каталог new?


person Skurpi    schedule 01.06.2012    source источник


Ответы (2)


Попробуйте плагин auto_mkdir. Звучит именно так, как вы ищете.

PS: Я не использовал и не буду (из-за комментария @Aaron_Digulla

person mliebelt    schedule 01.06.2012

Я использую этот обходной путь вне vim: я создал сценарий оболочки vim в $HOME/bin, который делает резервную копию каждого файла, который я редактирую в папке $HOME/.vimback/...path.../file.

Аналогичным образом вы можете создать аналогичный сценарий, который запускает

for f in "$@" ; do
    mkdir -p $(dirname "$f")
done

/usr/bin/$(basename "$0") "$@"

Но я бы посоветовал спросить, нужно ли создавать каталоги, чтобы избежать случайного создания каталогов из-за опечаток.

person Aaron Digulla    schedule 01.06.2012