在我的工作流程中,我映射了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命令所必需的。