我喜欢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 "即可恢复使用终端.
如果您使用的是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)
(这样您仍然可以在命令行中使用需要转义来保留其原始功能的程序,因为如果您不按其他任何内容,它只会在您定义的超时 长度之后发送常规转义事件。)
我这样做:
tnoremap <c-b> <c-\><c-n>
Run Code Online (Sandbox Code Playgroud)
然后<C-b>每当我需要向上滚动时,使用 gg 一直向上滚动,然后 G 返回,(或<C-F>逐页滚动)。我从任何页面按“i”或“a”以在 shell 中输入命令。简单本身。