如何在vim终端中进行向上/向下翻页

6

我是Vim的新用户,我想要使用vim内嵌终端(使用:term打开),但不幸的是,我不能像我想要的那样使用这个终端。按下Shift+PageUp/Shift+PageDown组合键时(用于在日志中向上和向下滚动),没有反应。我尝试解决这个问题,并找到了映射方式 tnoremap <CTRL-V><CTRL-PAGEUP> :tabp<CR>,但它并没有起作用。


2
退出插入模式,然后使用常规的Vim命令(例如Ctrl-B向上翻页)。:help scrolling - Amadan
当我处于 TERMINAL 模式时(从 NORMAL 模式的文本窗格切换到 vim 终端),Ctrl-B 不起作用。 - BlackHawk3
3
我的意思是,退出终端作业模式(Ctrl-W N),进入终端正常模式。在终端作业模式下,光标和滚动由作业控制,您无法滚动。:help Terminal-Job:“当作业正在运行时,终端的内容受到作业的控制。这包括光标位置。” :help Terminal-Normal:“当作业在终端中输出行,以至于内容从顶部滚动出去时,这些行会被记住并可以在终端正常模式下查看。” - Amadan
shift+PageUp是您终端的滚动绑定吗?您在终端上具体查看什么?日志?将它们在vim中打开不是更好吗? - Doktor OSwaldo
1个回答

3

我发现最好的方法是在Vim终端中启动一个tmux会话,然后在tmux复制模式中滚动。我不能为此提供任何键绑定,因为这实际上取决于您的tmux设置。您可以通过将以下内容添加到.tmux.conf来使tmux使用类似于Vim的<C-u><C-d>(向上和向下翻半页):

set -gw mode-keys vi

那么,为什么不在bash中使用vi模式呢?
set -o vi

要在tmux中实际滚动,您需要使用tmux前缀键(默认为<C-b>),然后跟随[将其置于“复制模式”中。
这是我的 Vim/Tmux 终端的一个示例。请注意,最后我通过输入 <C-b>(默认的 tmux 前缀热键)加上 :(将 tmux 切换到命令模式)来关闭状态栏。最后输入命令 set -g status off

enter image description here


然而,我通常只在使用GVim或MacVim时这样做,但大部分时间我会在终端中的tmux会话中运行Vim,这让我免费获得所有这些功能。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接