diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2018-06-26 10:51:06 +1200 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2018-06-26 10:56:31 +1200 |
commit | c8816903f0dbae151385f7198610f24ad945c01d (patch) | |
tree | 57fd5ce529113810f0776f958ef9e98c095831ce /vim/filemap.vim | |
parent | Remap normal J only if loading plugins (diff) | |
download | dotfiles-c8816903f0dbae151385f7198610f24ad945c01d.tar.gz dotfiles-c8816903f0dbae151385f7198610f24ad945c01d.zip |
Refactor filetype-specific .vimrc material
Put filetype bindings into a separate file filemap.vim at the same level
as filetype.vim, to be loaded directly after the "filetype" command.
This removes per-filetype logic one step from ~/.vimrc, which seems
appropriate, and also allows me to use long line breaks in the new file.
Diffstat (limited to 'vim/filemap.vim')
-rw-r--r-- | vim/filemap.vim | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/vim/filemap.vim b/vim/filemap.vim new file mode 100644 index 00000000..bbbf1955 --- /dev/null +++ b/vim/filemap.vim @@ -0,0 +1,51 @@ +" Filetype-specific mappings +if &compatible || v:version < 700 || !has('autocmd') + finish +endif + +" No 'loaded' guard; this file is an extension of our .vimrc, and we do want +" to reload it if the .vimrc is re-sourced. + +" Set up filetype mapping hooks +augroup filetypemap + autocmd! + + " Clear existing local leader maps if possible + autocmd FileType * + \ silent! call clear_local_maps#Clear() + + " Diff: prune sections + autocmd FileType diff + \ nmap <buffer> <LocalLeader>p <Plug>DiffPrune + \|xmap <buffer> <LocalLeader>p <Plug>DiffPrune + + " HTML: lint, URL-to-link, tidy + autocmd FileType html + \ nmap <buffer> <LocalLeader>l <Plug>HtmlLint + \|nmap <buffer> <LocalLeader>r <Plug>HtmlUrlLink + \|nmap <buffer> <LocalLeader>t <Plug>HtmlTidy + + " Perl: check, lint, and tidy + autocmd FileType perl + \ nmap <buffer> <LocalLeader>c <Plug>PerlCheck + \|nmap <buffer> <LocalLeader>l <Plug>PerlLint + \|nmap <buffer> <LocalLeader>t <Plug>PerlTidy + + " PHP: check + autocmd FileType php + \ nmap <buffer> <LocalLeader>c <Plug>PhpCheck + + " Shell: check and lint + autocmd FileType sh + \ nmap <buffer> <LocalLeader>c <Plug>ShCheck + \|nmap <buffer> <LocalLeader>l <Plug>ShLint + + " VimL: lint + autocmd FileType vim + \ nmap <buffer> <LocalLeader>l <Plug>VimLint + + " Zsh: check + autocmd FileType zsh + \ nmap <buffer> <LocalLeader>c <Plug>ZshCheck + +augroup END |