使用鼠标滚轮在集成终端中滚动

Ant*_*sto 8 visual-studio-code

我在 Visual Studio Code 2021 年 9 月版中使用远程 ssh 扩展和(远程)bash 作为集成终端。

当我在集成终端中使用滚轮时,我会浏览 bash 命令历史记录(就像按向上/向下箭头键一样)。此外,终端中没有滚动条,因此我无法看到不适合当前视口的文本。

有什么方法可以使用滚轮来实际滚动集成终端窗口的内容吗?如果我没记错的话,使用该程序的早期版本,我能够完全按照我的要求进行操作。

支持页面https://code.visualstudio.com/docs/editor/integrated-terminal对此没有任何说明。

我还有一个问题:有没有一个地方有集成终端的完整设置列表?

细节:

Version: 1.61.0 (user setup)
Commit: ee8c7def80afc00dd6e593ef12f37756d8f504ea
Date: 2021-10-07T18:13:09.652Z
Electron: 13.5.1
Chrome: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Windows_NT x64 10.0.19043
Microsoft remote-ssh: version v0.65.8
Run Code Online (Sandbox Code Playgroud)

小智 7

CTRL+A 然后 ESC 将允许您使用滚轮向上/向下滚动 按 ESC 取消它并返回到正常的滚轮功能。


dos*_*ssy 3

这里描述的问题是“替代屏幕缓冲区”,它导致滚轮充当箭头键,滚动 shell 历史记录而不是窗口。

如果您执行的命令(例如vim)将您置于“备用屏幕缓冲区”,但在退出时不会将您放回原处,您可以使用以下命令从备用屏幕缓冲区切换回来:

$ echo -ne '\x1B[?1049l'

# or, if you don't want to memorize that:
$ tput rmcup
Run Code Online (Sandbox Code Playgroud)

如果您确实想禁用备用屏幕缓冲区切换,这可能会导致其他应用程序的行为与您习惯的依赖备用屏幕缓冲区的应用程序非常不同,您可以创建一个新的 terminfo 条目,删除 和smcup功能rmcup,从而启用此功能能力。

例如,如果您使用xterm-256color,则可以创建一个xterm-256color-noaltterminfo 条目,如下所示:

$ infocmp xterm-256color | sed \
  -e 's/^xterm-256color/xterm-256color-noalt/' \
  -e 's/[rs]mcup=[^,]*,//' \
  >xterm-256color-noalt.ti

$ tic xterm-256color-noalt.ti
Run Code Online (Sandbox Code Playgroud)

然后,将您的设置TERMxterm-256color-noalt

$ export TERM=xterm-256color-noalt
Run Code Online (Sandbox Code Playgroud)

但是,这有点更激烈,正如我所说,可能会导致其他依赖于终端中可用的备用屏幕缓冲区功能的应用程序行为不当或至少以您不期望的方式运行。