我在 Ubuntu 上并且使用 GNOME 终端或终结者。
我希望减少对鼠标/触摸板的依赖。假设我ls
在终端中有输出,我想复制部分输出,以便将其用作我在终端中输入的下一个命令的输入。
当前方法:将鼠标移到终端输出部分,用光标突出显示它,右键单击并复制。按++Ctrl将其粘贴到命令行中。ShiftV
理想方法:输入键盘快捷键,这样我就可以切换到“缓冲模式”,在该模式下,我可以像浏览文本文件一样浏览终端输出(例如在 Emacs 中)。使用键盘查找输出的相关部分,使用类似 Emacs 的命令选择该输出并复制它。退出此“缓冲模式”并返回到命令行,我只需使用键盘即可粘贴文本。
有没有办法以某种方式使用上述理想方法?也许有人可以推荐一个专门的终端应用程序?我宁愿不要使用像 Emacs 本身这样臃肿的东西!
答案1
使用 tmux
使用tmux在您选择的终端仿真器内。
- Tmux 对键盘非常友好。
- 您可以根据需要将缓冲区配置为任意大。
- 您可以滚动浏览它们并执行您描述的剪切和粘贴操作。
- 当您的窗口管理器崩溃时,您只需打开一个终端并返回到您的终端会话所在的位置。
- Tmux 与 类似
screen
,但是更加现代化并且更利于自动化。
如果你的一生都在终端机上度过,那么它就非常方便。
答案2
除了 gnome-terminal 之外,还有其他终端模拟器,它们的性能更好,并且具有 gnome-terminal 所缺乏的功能。(我认为“我的终端上方没有一个奇怪的灰色圆角矩形,90% 没有功能,5% 是汉堡菜单”现在是一个功能。Gnome 的 UI 设计并没有变得更好;并不是所有东西都是智能手机应用程序,智能手机应用程序的发展方式与 GNOME 在 2010 年所想的完全不同。但我离题了。)
Alacritty 有一个特征它可以让您进入类似编辑器的光标模式,您可以从中进行复制。
默认情况下,“进入/退出 Vi 模式”组合键是ctrlshiftspace,您可以使用光标键或 hjkl 移动,使用 开始按字符选择v,使用 开始按行选择V,或使用 开始按矩形块选择ctrlv,以及使用 复制y。但是,当然,您可以随心所欲地弄乱按键绑定。
遗憾的是,alacritty 尚未进入 Debian(而 Ubuntu 主要只是复制 Debian 的软件包),因此您需要安装一些粗略的 PPA 或使用 snap(sudo snap install alacritty --classic
)来获取 alacritty(或者从源代码构建,如果您更喜欢的话)。