From 0197464c4ea1ae09415fc34d2ecb4c8d8e1fc2b7 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Sat, 23 Feb 2013 19:54:21 +1300 Subject: Cleverer syntax for filetype shortcuts --- vim/vimrc | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) (limited to 'vim') diff --git a/vim/vimrc b/vim/vimrc index 3c815378..3a7fa8a6 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -9,20 +9,26 @@ silent! call pathogen#helptags() if has('autocmd') filetype indent plugin on - " Shortcuts - nnoremap _ap :setlocal filetype=apache - nnoremap _bi :setlocal filetype=bindzone - nnoremap _cs :setlocal filetype=css - nnoremap _ht :setlocal filetype=html - nnoremap _js :setlocal filetype=javascript - nnoremap _md :setlocal filetype=markdown - nnoremap _pl :setlocal filetype=perl - nnoremap _ph :setlocal filetype=php - nnoremap _py :setlocal filetype=python - nnoremap _rb :setlocal filetype=ruby - nnoremap _sh :setlocal filetype=sh - nnoremap _vi :setlocal filetype=vim - nnoremap _xm :setlocal filetype=xml + " Filetype shortcuts + let s:typekeys = { + \ '_ap': 'apache', + \ '_bi': 'bindzone', + \ '_cs': 'css', + \ '_ht': 'html', + \ '_js': 'javascript', + \ '_md': 'markdown', + \ '_pl': 'perl', + \ '_ph': 'php', + \ '_py': 'python', + \ '_rb': 'ruby', + \ '_sh': 'sh', + \ '_vi': 'vim', + \ '_xm': 'xml', + \} + for [s:keys, s:type] in items(s:typekeys) + silent! exec 'nnoremap ' . s:shortcut + \ . ' :setlocal filetype=' . s:type . '' + endfor endif " Backups -- cgit v1.2.3