Jeśli wywołam, vim foo/bar/somefile
ale foo/bar
jeszcze nie istnieje, Vim odmówi zapisania.
Wiem, że mógłbym przełączyć się na powłokę lub zrobić :!mkdir foo/bar
z Vima, ale jestem leniwy :) Czy jest sposób, aby Vim robił to automatycznie, gdy zapisuje bufor?
write
i wywołuje system mkdir -p
w dirname
przeciwnym razie, W
:w
aby mkdir -p %:h
następnie builting:write
mkdir -p %:h
jest lepsza, ponieważ działa w przypadku zagnieżdżonych nieistniejących ścieżek, nie zgłasza błędu, gdy ścieżka już istnieje i%:h
jest pełną ścieżką do bieżącego pliku. Jednak nie wiem, jak wywołać to automatycznie. Zwykle odbywa się to za pomocą automatycznych poleceń, aleBufWritePre
zdarzenie wydaje się nie działać tutaj.