Advertisement
Guest User

Neovim terminal toggle

a guest
Jan 18th, 2018
7,041
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VIM 0.65 KB | None | 0 0
  1. " Toggle 'default' terminal
  2. nnoremap <M-`> :call ChooseTerm("term-slider", 1)<CR>
  3. " Start terminal in current pane
  4. nnoremap <M-CR> :call ChooseTerm("term-pane", 0)<CR>
  5.  
  6. function! ChooseTerm(termname, slider)
  7.     let pane = bufwinnr(a:termname)
  8.     let buf = bufexists(a:termname)
  9.     if pane > 0
  10.         " pane is visible
  11.         if a:slider > 0
  12.             :exe pane . "wincmd c"
  13.         else
  14.             :exe "e #"
  15.         endif
  16.     elseif buf > 0
  17.         " buffer is not in pane
  18.         if a:slider
  19.             :exe "topleft split"
  20.         endif
  21.         :exe "buffer " . a:termname
  22.     else
  23.         " buffer is not loaded, create
  24.         if a:slider
  25.             :exe "topleft split"
  26.         endif
  27.         :terminal
  28.         :exe "f " a:termname
  29.     endif
  30. endfunction
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement