X-Git-Url: https://git.sthu.org/?p=vimconf.git;a=blobdiff_plain;f=keymaps.vim;h=38f7774ee4d6a38379edc9f0e8f66e243c19337b;hp=8d7e5495790dfad746463cc2ab40db104d85b708;hb=HEAD;hpb=56ecdc03efcf665e164761695fc37752312d313e diff --git a/keymaps.vim b/keymaps.vim index 8d7e549..38f7774 100644 --- a/keymaps.vim +++ b/keymaps.vim @@ -1,3 +1,26 @@ +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Global settings + +if has('clipboard') + " Use + or * registers + if has('unnamedplus') + set clipboard+=unnamedplus + else + set clipboard+=unnamed + endif + + " Ordinary ctrl+{c,x,v} using system clipboard register +. We use autocmd to + " override plugin keymaps. + "autocmd VimEnter * vnoremap "+y + "autocmd VimEnter * vnoremap "+x + " Is performed by S+Ins + "autocmd VimEnter * nnoremap "+p + "autocmd VimEnter * inoremap + +endif + +" ctrl+d as EOF exits shells and the like. Add a keymap for the same here. +nnoremap :q + nnoremap :Denite file/rec nnoremap / :Denite grep:. nnoremap s :Denite buffer @@ -6,7 +29,6 @@ nnoremap pumvisible() ? "\" : "\" nnoremap :NERDTreeToggle nnoremap :TagbarToggle -au Filetype gnuplot map :call OpenIn("gnuplot -persist") nmap :bn nmap :bp @@ -17,16 +39,58 @@ imap (neosnippet_expand_or_jump) smap (neosnippet_expand_or_jump) xmap (neosnippet_expand_target) -au Filetype c,cpp,objc map :vsplit:FSRight -au Filetype c,cpp,objc map :FSHere - -au Filetype markdown map :call RunMarkdown() - " 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-F12 as F24 +au Filetype c,cpp,objc map :FSHere +au Filetype c,cpp,objc map :FSHere + +au Filetype markdown map :call RunMarkdown() +au Filetype asciidoc,asciidoctor map :call RunAsciidoc() + +" 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 endif