--- a/vim/vimrc Tue Sep 08 16:39:27 2015 +0000
+++ b/vim/vimrc Fri Sep 11 14:11:46 2015 +0000
@@ -279,6 +279,10 @@
" Kill window
nnoremap K :q<cr>
+" Save
+nnoremap s :w<cr>
+nnoremap :w<cr> :call input("NOPE!")<cr>
+
" Man
nnoremap M K
@@ -1170,6 +1174,15 @@
augroup END
" }}}
+" Makefile {{{
+
+augroup ft_make
+ au!
+
+ au Filetype make setlocal shiftwidth=8
+augroup END
+
+" }}}
" Markdown {{{
augroup ft_markdown
@@ -1470,6 +1483,79 @@
augroup END
" }}}
+" Shell {{{
+
+function! OpenShellRepl() "{{{
+ NeoRepl fish
+endfunction "}}}
+function! SendShellLine() "{{{
+ let view = winsaveview()
+
+ execute "normal! ^vg_\<esc>"
+ call NeoReplSendSelection()
+
+ call winrestview(view)
+endfunction "}}}
+function! SendShellParagraph() "{{{
+ let view = winsaveview()
+
+ execute "normal! ^vip\<esc>"
+ call NeoReplSendSelection()
+
+ call winrestview(view)
+endfunction "}}}
+function! SendShellSelection() "{{{
+ let view = winsaveview()
+
+ normal! gv
+ call NeoReplSendSelection()
+
+ call winrestview(view)
+endfunction "}}}
+function! SendShellBuffer() "{{{
+ let view = winsaveview()
+
+ execute "normal! ggVG\<esc>"
+ call NeoReplSendSelection()
+
+ call winrestview(view)
+endfunction "}}}
+
+augroup ft_shell
+ au!
+
+ " Set up some basic neorepl mappings.
+ "
+ " key desc mnemonic
+ " \o - connect neorepl [o]pen repl
+ " \l - send current line [l]ine
+ " \p - send current paragraph [p]aragraph
+ " \e - send selected hunk [e]val
+ " \r - send entire file [r]eload file
+ " \c - send ctrl-l [c]lear
+
+ au FileType sh nnoremap <buffer> <silent> <localleader>o :call OpenShellRepl()<cr>
+
+ " Send the current line to the REPL
+ au FileType sh nnoremap <buffer> <silent> <localleader>l :call SendShellLine()<cr>
+
+ " Send the current paragraph to the REPL
+ au FileType sh nnoremap <buffer> <silent> <localleader>p :call SendShellParagraph()<cr>
+
+ " " Send the current top-level hunk to the REPL
+ " au FileType sh nnoremap <buffer> <silent> <localleader>e :call SendShellTopLevelHunk()<cr>
+
+ " Send the current selection to the REPL
+ au FileType sh vnoremap <buffer> <silent> <localleader>e :<c-u>call SendShellSelection()<cr>
+
+ " Send the entire buffer to the REPL ([r]eload)
+ au FileType sh nnoremap <buffer> <silent> <localleader>r :call SendShellBuffer()<cr>
+
+ " Clear the REPL
+ au FileType sh nnoremap <buffer> <silent> <localleader>c :call NeoReplSendRaw("")<cr>
+augroup END
+
+" }}}
" Standard In {{{
augroup ft_stdin