X-Git-Url: https://git.sthu.org/?p=vimconf.git;a=blobdiff_plain;f=keymaps.vim;h=bc6f51d547110ee3010ff132ad78b7bc56ef0887;hp=1cbfbf95256ff57156ddd5a2910a90b3af185325;hb=07c883a5418028bbb48b38d6a2cf86d011de4b1b;hpb=e88f3b103ccfad5854f4c5c7e64df998e02c4da9 diff --git a/keymaps.vim b/keymaps.vim index 1cbfbf9..bc6f51d 100644 --- a/keymaps.vim +++ b/keymaps.vim @@ -1,3 +1,15 @@ +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Global settings + +if has('clipboard') + " Ordinary ctrl+{c,x,v} using system clipboard register +. We use autocmd to + " override plugin keymaps. + autocmd VimEnter * vnoremap "+y + autocmd VimEnter * vnoremap "+x + autocmd VimEnter * nnoremap "+p + autocmd VimEnter * inoremap + +endif + nnoremap :Denite file/rec nnoremap / :Denite grep:. nnoremap s :Denite buffer @@ -6,7 +18,6 @@ nnoremap pumvisible() ? "\" : "\" nnoremap :NERDTreeToggle nnoremap :TagbarToggle -au Filetype gnuplot map :call OpenIn("gnuplot -persist") nmap :bn nmap :bp @@ -17,16 +28,57 @@ imap (neosnippet_expand_or_jump) smap (neosnippet_expand_or_jump) xmap (neosnippet_expand_target) -au Filetype c,cpp,objc map :vsplit:FSRight +" Start interactive EasyAlign in visual mode (e.g. vipga) +vmap (EasyAlign) +" Start interactive EasyAlign for a motion/text object (e.g. gaip) +nmap ga (EasyAlign) + + +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Some filetype-specific settings + +au Filetype gnuplot map :call OpenIn("gnuplot -persist") + +" Performs a vertial split and a FSHere. For a header file the split is +" performed to the left, for an implementation file to the right. +function FSvsplit() + " We split to the right on header files + if match(expand('%:e'), 'h.*') >= 0 + execute ':leftabove vsplit' + else + execute ':rightbelow vsplit' + endif + + execute ':FSHere' +endfunction + +au Filetype c,cpp,objc map :call FSvsplit() +" Terminal-based vi report S-F11 as F23 au Filetype c,cpp,objc map :FSHere +au Filetype c,cpp,objc map :FSHere au Filetype markdown map :call RunMarkdown() au Filetype asciidoc map :call RunAsciidoc() -" Start interactive EasyAlign in visual mode (e.g. vipga) -vmap (EasyAlign) -" Start interactive EasyAlign for a motion/text object (e.g. gaip) -nmap ga (EasyAlign) +" See https://github.com/artur-shaik/vim-Javacomplete2 +" ji ji +au FileType java nmap (JavaComplete-Imports-AddSmart) +au FileType java imap (JavaComplete-Imports-AddSmart) +" ii jii +au FileType java nmap (JavaComplete-Imports-Add) +au FileType java imap (JavaComplete-Imports-Add) +" I jI +au FileType java nmap (JavaComplete-Imports-AddMissing) +au FileType java imap (JavaComplete-Imports-AddMissing) +" R jR +au FileType java nmap (JavaComplete-Imports-RemoveUnused) +au FileType java imap (JavaComplete-Imports-RemoveUnused) + + +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Some plugin-specific settings + + if filereadable($HOME . '/.vim/keymaps-local.vim') source ~/.vim/keymaps-local.vim