像nerdtree插件一样切换neovim终端缓冲区

Kri*_*fer 4 vim-plugin nerdtree neovim

因为我们可以选择在 neovim 缓冲区内有一个终端。我非常希望有一种方法来“切换”包含终端的缓冲区,并将其显示在固定位置,例如屏幕底部。

我知道 nerdtree 为我做这件事,它通过键绑定切换总是出现在我的屏幕左侧。我希望与neovim中的终端缓冲区相同。有没有人知道这样的插件或者我将如何创建一个插件?

use*_*200 6

对于想要隐藏/显示任何高度的单个 Neovim 终端窗口的人来说,这就是我的解决方案。

终端将在插入模式下显示在最底部。如果您想更改拆分行为,只需编辑botright new其他内容即可。:help opening-window

let g:term_buf = 0
let g:term_win = 0

function! Term_toggle(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("")
        endtry
        startinsert!
        let g:term_win = win_getid()
    endif
endfunction


nnoremap <M-t> :call Term_toggle(10)<cr>
tnoremap <M-t> <C-\><C-n>:call Term_toggle(10)<cr>
Run Code Online (Sandbox Code Playgroud)