Fix up various pattern matching constructs
Add vim temp files to .gitignore