Vim for Hugo

Ich verwende ja den Sitegenerator hugo für diese Seite. Das herumgewurschtel auf der Kommandozeile ist aber etwas nervig. Daher hab ich ein paar Befehle für Vim geschrieben um es etwas schmerzfreier zu machen. Soweit ist es aber noch etwas schmerzhaft.

Auf der Anleitung vi and vim autocommand hab ich ein paar Ideen gefunden.

Für die vimrc hab ich nun folgendes autocmd entwickelt:

augroup hugo
  autocmd!
  autocmd bufnewfile ~/Documents/Sites/c1891011/content/**/*.md so ~/Documents/Sites/c1891011/private/post_temp.md
	\ | exe "2,7" . 'g/^title = .*$/s//title = "' . expand("%:t:r") . '"' 
	\ | exe "2,7" . 'g/^date =.*$/s//date = "' .strftime("%FT%T%z") .'"'
	\ | exe "2,7" . 'g/^date =/s/\(+\d\{2\}\):\?\(\d\{2\}\)/\1:\2/'
augroup END

Wobei das Template private/post_temp.md wie folgt aussieht:

:insert
+++
Categories = []
Description = ""
Tags = ["blog"]
date = "insert Date here"
title = "MyTitle"
+++

.

Wenn ich nun :e content/post/hello.md ein Post erstelle wird eine Datei erstellt wie ich vorher mit !hugo new post/hello.md erhalten habe.

Ganz glücklich bin ich noch nicht - ich hätte gerne eine Funktion die den Dateinamen so verändert, dass er mit dem jeweiligen Datum beginnt. Auch sollte ich so Sachen wie das Blogverzeichnis (~/Documents/Sites/c1891011) und den Bereich (2,7) nicht fest eincoden.

Aber eins nach dem anderen. In ferner Zukunft wird vielleicht mal ein Packet daraus.