如何使用Vim 8.1的新终端/ termpack支持滚动终端?

dro*_*del 26 vim

我喜欢Vim 8.1提供的新终端支持,我喜欢上/下映射到终端,以便您可以选择之前的命令.但是如何在终端上下滚动?目前,在我的GDB程序输出窗口中,我看到如下字符:

^ [[A ^ [[A ^ [[A ^ [[A ^ [[B ^ [[B ^ [[B ^ [[d ^ [[d ^ [[

在终端窗口中,它只是在先前的命令之间移动.

lei*_*ski 44

在vim的终端上你必须用' Ctrl-w N '(那是Ctrl-w,大写N)切换到' 终端正常模式 ' 然后你可以使用通常的vim命令来移动,剪切,复制和糊.

Ctrl-w N
Run Code Online (Sandbox Code Playgroud)

完成后,只需按" i "或" a "即可恢复使用终端.

  • 要进入正常模式(vim 8.1),这是对我有用的组合:`Ctrl-\ Ctrl-n`。 (10认同)

Ist*_*115 6

如果您使用的是neovim,请按Ctrl+ \,然后按Ctrl+n以在终端中进入正常模式。

帮助 ( :help terminal-input) 的内容如下:

在此模式下,除此之外的所有密钥都<C-\><C-N>将发送到底层程序。用于<C-\><C-N>返回正常模式。CTRL-\_CTRL-N

另外,如果您经常这样做,我建议将其映射到更方便的东西,例如双击 Escape:

tnoremap <Esc><Esc> <C-\><C-n>
Run Code Online (Sandbox Code Playgroud)

(这样您仍然可以在命令行中使用需要转义来保留其原始功能的程序,因为如果您不按其他任何内容,它只会在您定义的超时 长度之后发送常规转义事件。)


M.S*_*.S. 5

我这样做:

tnoremap <c-b> <c-\><c-n>
Run Code Online (Sandbox Code Playgroud)

然后<C-b>每当我需要向上滚动时,使用 gg 一直向上滚动,然后 G 返回,(或<C-F>逐页滚动)。我从任何页面按“i”或“a”以在 shell 中输入命令。简单本身。