4

neovim バッファ内に端末を配置するオプションがあるためです。ターミナルを含むバッファを「トグル」して、画面の下部などの固定位置に表示する方法が欲しいです。

nerdtree が私のためにこれを行うことを知っています。キーバインドで切り替えて、常に画面の左側に表示されます。私が望むのは、neovimのターミナルバッファと同じです。このようなプラグインを知っている人、またはプラグインを作成する方法を知っている人はいますか?

4

4 に答える 4

3

解決策があるかもしれません。以下のコードは、左端の端末を f4 ボタンで切り替えます。

let g:term_buf = 0
function! Term_toggle()
  1wincmd w
  if g:term_buf == bufnr("")
    setlocal bufhidden=hide
    close
  else
    topleft vnew
    try
      exec "buffer ".g:term_buf
    catch
      call termopen("bash", {"detach": 0})
      let g:term_buf = bufnr("")
    endtry
    startinsert!
  endif
endfunction
nnoremap <f4> :call Term_toggle()<cr>
于 2016-05-15T13:11:52.443 に答える
2

私はこれがもう少し良くならなければならないと思いますIDEのように、

let g:term_buf = 0
function! Term_toggle()
  1wincmd w
  if g:term_buf == bufnr("")
    setlocal bufhidden=hide
    close
  else
    rightbelow new
    12winc -
    try
      exec "buffer ".g:term_buf
    catch
      call termopen("bash", {"detach": 0})
      let g:term_buf = bufnr("")
    endtry
    set laststatus=0
    startinsert!
  endif
endfunction
nnoremap <f4> :call Term_toggle()<cr>

" Terminal go back to normal mode
tnoremap <Esc> <C-\><C-n>
" When switching to terminal windows it goes into insert mode automatically
au BufEnter * if &buftype == 'terminal' | :startinsert | endif
于 2016-11-26T18:10:30.837 に答える