Negrito Asked: 2019-07-11 23:50:46 +0800 CST2019-07-11 23:50:46 +0800 CST 2019-07-11 23:50:46 +0800 CST 如何在没有鼠标的情况下在终端中选择(复制)输出 772 这似乎是一种典型的方式,您在终端中有一些输出,如果您想选择某个短语,您可以使用鼠标来复制它,但是有什么方法可以不使用鼠标进行选择?比如我输入ls,得到一个文件列表,我想选择第二个文件(第二行),有没有不用鼠标复制名字的方法? command-line mouse copy-and-paste 2 个回答 Voted Best Answer Ravexina 2019-07-12T00:12:32+08:002019-07-12T00:12:32+08:00 使用 tmux: 我tmux在 vi 模式下使用: 进入复制模式(在我的配置中Prefix+ escape,默认前缀是Ctrl+ b) 在配置文件 ( ~/.tmux.conf) 中:bind Escape copy-mode 四处移动(使用箭头) 选择您想要的输出(用 开始选择Space) 在我的配置中v:bind-key -T copy-mode-vi y send-keys -X begin-selection 按Enter复制文本。 在我的配置中y:bind-key -T copy-mode-vi y send-keys -X copy-selection 按Prefix+p粘贴。 还可以像这样创建一个键绑定: bind C-c run "tmux save-buffer - | xsel -bi" Prefix因此,您可以通过按++将缓冲区保存到系统剪贴板Ctrl中c。 我添加了我的配置,因为它更像 vim 而不是默认配置。 使用命令: 这是我所做的: 运行命令(例如ls -1:) 处理输出以获得我想要的结果 点到xsel -bi 在您的示例中: $ ls -1 | sed -n 2p | xsel -bi ls -1在一行中打印每个输出 sed -n 2p得到第二行 xsel已用于将最终结果复制到剪贴板。 如果命令运行时间过长,首先将输出保存到文件中处理输出: command > output head -10 output | whatever | xsel -bi omgold 2019-07-28T01:23:00+08:002019-07-28T01:23:00+08:00 最常见的 Linux 终端模拟器无法直接执行此操作。不过,我知道有两个。 存在相当长一段时间的一种是白蚁。不过,它相当简陋(键盘快捷键不可配置,没有多个选项卡)。 现在有第二个,它具有名为 Mantid 的这些功能(我在这里无耻地宣传 :)): https://github.com/omgold/mantid-term 不过,还没有一个 Ubuntu 版本,只有一个 Arch 和 RPM。不过,您可能会尝试构建一个 RPM 并使用 Alien 转换为 deb。
使用 tmux:
我
tmux
在 vi 模式下使用:~/.tmux.conf
) 中:bind Escape copy-mode
bind-key -T copy-mode-vi y send-keys -X begin-selection
bind-key -T copy-mode-vi y send-keys -X copy-selection
还可以像这样创建一个键绑定:
Prefix因此,您可以通过按++将缓冲区保存到系统剪贴板Ctrl中c。
我添加了我的配置,因为它更像 vim 而不是默认配置。
使用命令:
这是我所做的:
ls -1
:)xsel -bi
在您的示例中:
ls -1
在一行中打印每个输出sed -n 2p
得到第二行xsel
已用于将最终结果复制到剪贴板。如果命令运行时间过长,首先将输出保存到文件中处理输出:
最常见的 Linux 终端模拟器无法直接执行此操作。不过,我知道有两个。
存在相当长一段时间的一种是白蚁。不过,它相当简陋(键盘快捷键不可配置,没有多个选项卡)。
现在有第二个,它具有名为 Mantid 的这些功能(我在这里无耻地宣传 :)):
https://github.com/omgold/mantid-term
不过,还没有一个 Ubuntu 版本,只有一个 Arch 和 RPM。不过,您可能会尝试构建一个 RPM 并使用 Alien 转换为 deb。