From 8eade142ef9339fd1fd38101c6f7c9fe59053af2 Mon Sep 17 00:00:00 2001 From: Felix Tenley Date: Thu, 23 Jan 2020 15:11:18 +0100 Subject: [PATCH] feat: add terminal toggle to neovim --- home/common/init.vim | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/home/common/init.vim b/home/common/init.vim index b573f11..a754d72 100644 --- a/home/common/init.vim +++ b/home/common/init.vim @@ -1,3 +1,5 @@ +" set shell=/bin/sh + colorscheme gruvbox let g:gruvbox_number_column = 'bg1' @@ -51,7 +53,39 @@ let g:ale_linters = { " call nvim_lsp#setup("ghcide", {}) set relativenumber +set splitbelow map ; :Files map :NERDTreeToggle map (easymotion-prefix) + +" Terminal Function +let g:term_buf = 0 +let g:term_win = 0 +function! TermToggle(height) + if win_gotoid(g:term_win) + hide + else + botright new + exec "resize " . a:height + try + exec "buffer " . g:term_buf + catch + call termopen($SHELL, {"detach": 0}) + let g:term_buf = bufnr("") + set nonumber + set norelativenumber + set signcolumn=no + endtry + startinsert! + let g:term_win = win_getid() + endif +endfunction + +" Toggle terminal on/off (neovim) +nnoremap :call TermToggle(12) +inoremap :call TermToggle(12) +tnoremap :call TermToggle(12) + +" Terminal go back to normal mode +tnoremap :q! :q!