代码之家  ›  专栏  ›  技术社区  ›  Nimrod Weinberg

Vim windows导航内部Vim内部Vim终端未按预期工作

vim
  •  0
  • Nimrod Weinberg  · 技术社区  · 2 年前

    一旦我执行以下步骤,Vim windows导航就会中断:

    在终端模式下,从(在我的例子中是bash)终端打开vim(8.1)

    >vim -c ":term ++curwin"
    

    然后从vim端子打开vim

    >vim
    

    从vim内部,打开一个新的拆分窗口

    :sp
    

    尝试导航

    <C-w><C-w>
    

    但它不起作用

    0 回复  |  直到 2 年前
        1
  •  2
  •   romainl    2 年前

    我明白了,使用Vim作为终端仿真器,并再次在其内部使用Vim。你想创造一个黑洞吗?

    无论如何,如果内置终端允许这样做,它将起到键盘陷阱的作用,实际上不可能将焦点移动到另一个(主机)Vim窗口。

    这是主机捕捉击键并阻止宿主程序接收击键的典型案例。就像使用屏幕一样 <C-a> 作为前导,从而防止您在Vim中增加光标下的数字。

    就像屏幕一样,你可以 <C-a>a 发送实际的 <C-a> 对于托管程序,Vim的内置终端允许您执行以下操作: <C-w>. 发送实际的 <C-w> .

    因此,你可以 <C-w>.<C-w>. 实现你的目标(不管它有多误导)。

    看见 :help terminal-typing .