我使用 Neovim,它有一个非常酷的功能,如果我输入,:terminal
它会在 Neovim 中加载一个终端仿真器。这个终端仿真器的有趣之处在于,我可以随时输入 CTRL-\ CTRL-N 并像浏览任何文本文件一样浏览输出。这允许我向上滚动到输出的某个部分并将文本复制到剪贴板。
我希望在常规终端中也能有这种功能。有什么方法可以做到这一点吗?我现在使用 Zsh,但尽管我尝试了各种方法,我还是找不到像在 Neovim 中那样浏览终端输出的方法。我更希望能够使用 Vim 命令进行浏览。
答案1
我赞同提到的评论tmux
。就像它的堂兄一样screen
,这是一个终端复用器。这意味着您可以在一个物理终端(模拟器)内拥有多个 shell。与 Vim 一样,tmux 支持拆分窗口、多个标签页和特殊复印模式,您可以在其中向后滚动并捕获文本。您可以通过 进入此模式<C-B>[
;默认为 Ctrl-B前缀键所有 tmux 命令都以此开头。(所有这些都是可配置的,类似于 Vim。)
作为 Vim 用户,您可能更喜欢 vi 风格的键绑定。将其放入您的~/.tmux.conf
:
# Use Vim key bindings.
setw -g mode-keys vi
set -g status-keys vi
至于复制到剪贴板,你可以在网上找到配置片段。或者使用tmux-yank 插件,最好通过插件管理器。
备择方案
screen
应该可以很好地工作,但我认为它没有那么多强大的功能。您也可以使用 Neovim / Vim 8 本身作为终端多路复用器。我还没有仔细研究过新的终端功能,但我记得有人建议 Vim 应该能够进行轻量级终端多路复用,作为不需要全部复杂性的用户的替代方案tmux
。
答案2
考虑使用阿拉克里蒂就像 99% 一样,重点是终端的 vi 导航和视觉模式。