# HG changeset patch # User Steve Losh # Date 1455972060 0 # Node ID 3eb02b69551b3e654b16e7745fd4a5aa55c2bf2b # Parent 5c97265b7ffc5ff288e71e48dfa4eb33d06d2cbc what have i done diff -r 5c97265b7ffc -r 3eb02b69551b vim/vimrc --- a/vim/vimrc Sat Feb 20 12:40:36 2016 +0000 +++ b/vim/vimrc Sat Feb 20 12:41:00 2016 +0000 @@ -830,19 +830,26 @@ " Friendlier Paredit mappings. au FileType clojure noremap () :call PareditWrap("(", ")") + au FileType clojure noremap (( :call PareditMoveLeft() au FileType clojure noremap )( :call PareditSplice() - au FileType clojure noremap (( :call PareditMoveLeft() au FileType clojure noremap )) :call PareditMoveRight() au FileType clojure noremap (j :call PareditJoin() au FileType clojure noremap (s :call PareditSplit() au FileType clojure noremap [ :call PareditSmartJumpOpening(0) au FileType clojure noremap ] :call PareditSmartJumpClosing(0) - " ))) + " )) + + au FileType clojure noremap :call SexpBack() + au FileType clojure noremap :call SexpForward() + au FileType clojure noremap :call SexpUp() + au FileType clojure noremap :call SexpDown() " Indent top-level form. - au FileType clojure nmap = mz99[(v%='z + " au FileType clojure nmap = mz99[(v%='z " ]) + au FileType clojure call s:vim_sexp_mappings() + " Not sure about this but we'll give it a try. au FileType clojure nmap gi mz99[(v%='z " ]) @@ -2200,6 +2207,144 @@ \ ] " }}} +" Sexp {{{ + +function! s:vim_sexp_mappings() " {{{ + xmap af (sexp_outer_list) + omap af (sexp_outer_list) + xmap if (sexp_inner_list) + omap if (sexp_inner_list) + xmap aF (sexp_outer_top_list) + omap aF (sexp_outer_top_list) + xmap iF (sexp_inner_top_list) + omap iF (sexp_inner_top_list) + xmap as (sexp_outer_string) + omap as (sexp_outer_string) + xmap is (sexp_inner_string) + omap is (sexp_inner_string) + xmap ae (sexp_outer_element) + omap ae (sexp_outer_element) + xmap ie (sexp_inner_element) + omap ie (sexp_inner_element) + " nmap ( (sexp_move_to_prev_bracket) + " xmap ( (sexp_move_to_prev_bracket) + " omap ( (sexp_move_to_prev_bracket) + " nmap ) (sexp_move_to_next_bracket) + " xmap ) (sexp_move_to_next_bracket) + " omap ) (sexp_move_to_next_bracket) + " nmap (sexp_move_to_prev_element_head) + " xmap (sexp_move_to_prev_element_head) + " omap (sexp_move_to_prev_element_head) + " nmap (sexp_move_to_next_element_head) + " xmap (sexp_move_to_next_element_head) + " omap (sexp_move_to_next_element_head) + " nmap g (sexp_move_to_prev_element_tail) + " xmap g (sexp_move_to_prev_element_tail) + " omap g (sexp_move_to_prev_element_tail) + " nmap (sexp_move_to_next_element_tail) + " xmap (sexp_move_to_next_element_tail) + " omap (sexp_move_to_next_element_tail) + " nmap [[ (sexp_move_to_prev_top_element) + " xmap [[ (sexp_move_to_prev_top_element) + " omap [[ (sexp_move_to_prev_top_element) + " nmap ]] (sexp_move_to_next_top_element) + " xmap ]] (sexp_move_to_next_top_element) + " omap ]] (sexp_move_to_next_top_element) + " nmap [e (sexp_select_prev_element) + " xmap [e (sexp_select_prev_element) + " omap [e (sexp_select_prev_element) + " nmap ]e (sexp_select_next_element) + " xmap ]e (sexp_select_next_element) + " omap ]e (sexp_select_next_element) + " nmap == (sexp_indent) + " nmap =- (sexp_indent_top) + " nmap i (sexp_round_head_wrap_list) + " xmap i (sexp_round_head_wrap_list) + " nmap I (sexp_round_tail_wrap_list) + " xmap I (sexp_round_tail_wrap_list) + " nmap [ (sexp_square_head_wrap_list) + " xmap [ (sexp_square_head_wrap_list) + " nmap ] (sexp_square_tail_wrap_list) + " xmap ] (sexp_square_tail_wrap_list) + " nmap { (sexp_curly_head_wrap_list) + " xmap { (sexp_curly_head_wrap_list) + " nmap } (sexp_curly_tail_wrap_list) + " xmap } (sexp_curly_tail_wrap_list) + " nmap w (sexp_round_head_wrap_element) + " xmap w (sexp_round_head_wrap_element) + " nmap W (sexp_round_tail_wrap_element) + " xmap W (sexp_round_tail_wrap_element) + " nmap e[ (sexp_square_head_wrap_element) + " xmap e[ (sexp_square_head_wrap_element) + " nmap e] (sexp_square_tail_wrap_element) + " xmap e] (sexp_square_tail_wrap_element) + " nmap e{ (sexp_curly_head_wrap_element) + " xmap e{ (sexp_curly_head_wrap_element) + " nmap e} (sexp_curly_tail_wrap_element) + " xmap e} (sexp_curly_tail_wrap_element) + " nmap h (sexp_insert_at_list_head) + " nmap l (sexp_insert_at_list_tail) + " nmap @ (sexp_splice_list) + " nmap o (sexp_raise_list) + " xmap o (sexp_raise_list) + " nmap O (sexp_raise_element) + " xmap O (sexp_raise_element) + " nmap (sexp_swap_list_backward) + " xmap (sexp_swap_list_backward) + " nmap (sexp_swap_list_forward) + " xmap (sexp_swap_list_forward) + " nmap (sexp_swap_element_backward) + " xmap (sexp_swap_element_backward) + " nmap (sexp_swap_element_forward) + " xmap (sexp_swap_element_forward) + " nmap (sexp_emit_head_element) + " xmap (sexp_emit_head_element) + " nmap (sexp_emit_tail_element) + " xmap (sexp_emit_tail_element) + " nmap (sexp_capture_prev_element) + " xmap (sexp_capture_prev_element) + " nmap (sexp_capture_next_element) + " xmap (sexp_capture_next_element) + " imap (sexp_insert_backspace) + " imap " (sexp_insert_double_quote) + " imap ( (sexp_insert_opening_round) + " imap ) (sexp_insert_closing_round) + " imap [ (sexp_insert_opening_square) + " imap ] (sexp_insert_closing_square) + " imap { (sexp_insert_opening_curly) + " imap } (sexp_insert_closing_curly) +endfunction " }}} + +let g:sexp_filetypes = '' +let g:sexp_mappings = {} +let g:sexp_insert_after_wrap = 0 +let g:sexp_enable_insert_mode_mappings = 0 + +" wew lads +function! SexpUp() + execute "normal \(sexp_move_to_prev_bracket)" + execute "normal! v" + execute "normal \(sexp_inner_element)" + execute "normal! o\" +endfunction + +function! SexpDown() + execute "normal! v" + execute "normal \(sexp_inner_element)" + execute "normal! \v" + execute "normal \(sexp_inner_list)" + execute "normal! o\" +endfunction + +function! SexpForward() + execute "normal \(sexp_move_to_next_element_head)" +endfunction + +function! SexpBack() + execute "normal \(sexp_move_to_prev_element_head)" +endfunction + +" }}} " Sparkup {{{ let g:sparkupNextMapping = ''