VIM 8.2术语缓冲快捷方式



在我的工作流程中,我映射了ctr+right和ctr+left来切换VIM中的缓冲区。然而,每当我到达一个终端缓冲区时,该终端都不会移动到下一个缓冲区。我认为关键不是交给vim,而是交给term。我如何让某些键通过终端,这样我就可以在没有鼠标的情况下切换缓冲区?我使用的是带有GVIM 8.2的windows 10。

这可能发生在您的终端处于终端插入模式时,捕获击键并将其发送到终端内运行的程序。

您仍然可以使用:tnoremap命令为这些键创建映射。参见:help :tnoremap:help mapmode-t

例如:

tnoremap <C-Left> <C-w>h
tnoremap <C-Right> <C-w>l

(不确定这些是您在正常模式下使用的实际映射,或者您是否使用了<C-w>W<C-w>w。无论如何,您都可以在终端插入模式下使用tnoremap来复制映射。(

更新:根据您的评论,您正在使用这些映射切换缓冲区,因此这些映射应该有效:

tnoremap <C-Left> <C-w>:bp<CR>
tnoremap <C-Right> <C-w>:bn<CR>

这些映射与正常模式映射的不同之处在于,它们需要<C-w>前缀,这是在终端插入模式下从终端输入Ex命令所必需的。

最新更新