From 4bdf3190cbd4d247ed95a80a8fce633eb45a66f5 Mon Sep 17 00:00:00 2001 From: Joe Zhao Date: Sun, 20 Sep 2015 15:43:20 -0600 Subject: added some keybindings from phil's repo --- config/bindings.vim | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 config/bindings.vim diff --git a/config/bindings.vim b/config/bindings.vim new file mode 100644 index 0000000..3ddc4f9 --- /dev/null +++ b/config/bindings.vim @@ -0,0 +1,87 @@ +" set leader to , +let mapleader="," +let g:mapleader="," + +cnoremap +cnoremap +inoremap +inoremap +inoremap +inoremap + +" indent jumps +" <[l>, <]l>: exclusive jump to prev/next line with lower indent +" +" exclusive (bool): true: Motion is exclusive +" false: Motion is inclusive +" fwd (bool): true: Go to next line +" false: Go to previous line +" lowerlevel (bool): true: Go to line with lower indentation level +" false: Go to line with the same indentation level +" skipblanks (bool): true: Skip blank lines +" false: Don't skip blank lines +function! NextIndent(exclusive, fwd, lowerlevel, skipblanks) + let line = line('.') + let column = col('.') + let lastline = line('$') + let indent = indent(line) + let stepvalue = a:fwd ? 1 : -1 + while (line > 0 && line <= lastline) + let line = line + stepvalue + if ( ! a:lowerlevel && indent(line) == indent || + \ a:lowerlevel && indent(line) < indent) + if (! a:skipblanks || strlen(getline(line)) > 0) + if (a:exclusive) + let line = line - stepvalue + endif + exe line + exe "normal " column . "|" + return + endif + endif + endwhile +endfunction +" Moving back and forth between lines of same or lower indentation. +nnoremap [l :call NextIndent(1, 0, 1, 1) +nnoremap ]l :call NextIndent(1, 1, 1, 1) +vnoremap [l :call NextIndent(1, 0, 1, 1)m'gv'' +vnoremap ]l :call NextIndent(1, 1, 1, 1)m'gv'' +onoremap [l :call NextIndent(1, 0, 1, 1) +onoremap ]l :call NextIndent(1, 1, 1, 1) + +:command GT GhcModType +:command GTC GhcModTypeClear +:command GC GhcModCheckAndLintAsync + +" Type of expression under cursor +nmap ht :GhcModType +" Insert type of expression under cursor +nmap hT :GhcModTypeInsert +" GHC errors and warnings +nmap hc :SyntasticCheck ghc_mod +" Haskell Lint +nmap hl :SyntasticCheck hlint + +" Hoogle the word under the cursor +nnoremap hh :Hoogle + +" Hoogle and prompt for input +nnoremap hH :Hoogle + +" Hoogle for detailed documentation (e.g. "Functor") +nnoremap hi :HoogleInfo + +" Hoogle for detailed documentation and prompt for input +nnoremap hI :HoogleInfo + +" Hoogle, close the Hoogle window +nnoremap hz :HoogleClose + +" thanks to vim-slime, we can send v-mode selection to tmux by Ctrl-C Ctrl-C + +:command SP ConqueTermSplit zsh +:command VSP ConqueTermVSplit zsh +:command NL NeoCompleteLock +:command Black colors badwolf +:command Pretty colors solarized + -- cgit v1.2.3-70-g09d2