From d8250d5c6aa1cadf6a288edddd37a02d3e86b1cd Mon Sep 17 00:00:00 2001 From: Daniel Flanagan Date: Sat, 20 May 2017 13:56:34 -0500 Subject: [PATCH] Add a handy terminal that runs make via leader,m --- apps/neovim/init.vim | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/apps/neovim/init.vim b/apps/neovim/init.vim index 07772a1..0538dff 100644 --- a/apps/neovim/init.vim +++ b/apps/neovim/init.vim @@ -200,6 +200,28 @@ autocmd BufNewFile,BufReadPost *.md setl filetype=markdown spell " Text autocmd BufNewFile,BufReadPost *.txt setl spell textwidth=0 wrapmargin=0 +" Make any necessary directories in the path when saving a file +fun! AutoMakeDirectory() + let s:directory = expand(":p:h") + if !isdirectory(s:directory) + call mkdir(s:directory, "p") + endif +endfun +autocmd BufWritePre,FileWritePre * :call AutoMakeDirectory() + +if !exists("g:make_args") + let g:make_args="run" +endif +fun! RunMake() + split + if has('nvim') + execute 'terminal make ' . g:make_args + :autocmd TermClose * call feedkeys('') + else + execute '!make ' . g:make_args + endif +endfun + " whitespace " use tabs at a two-space width set tabstop=2 @@ -451,6 +473,9 @@ endif " enter insert mode when entering a terminal buffer autocmd BufWinEnter,WinEnter term://* startinsert +" run make with leader,m +nnoremap m :call RunMake() + " change buffers with leader,tab nnoremap :bnext nnoremap :bprevious