如何在没有鼠标的情况下选择(复制)终端中的输出


10

似乎在终端中有一些输出是一种典型的方式,如果您想选择某些短语,可以使用鼠标来复制它,但是有什么方法可以不用鼠标来选择?例如,我输入ls,并获得文件列表,并且我想选择第二个文件(第二行),有没有办法在不使用鼠标的情况下复制名称?


Answers:


10

使用tmux:

tmux在vi模式下使用:

  1. 进入复制模式(在我的配置Prefix+中escape,默认前缀为Ctrl+ b
    • 在配置文件(~/.tmux.conf)中:bind Escape copy-mode
  2. 移动(使用箭头)
  3. 选择所需的输出(从开始选择Space
    • 在我的配置中vbind-key -T copy-mode-vi y send-keys -X begin-selection
  4. 按下Enter以复制文本。
    • 在我的配置中ybind-key -T copy-mode-vi y send-keys -X copy-selection
  5. Prefix+ p粘贴。

在此处输入图片说明

还要创建一个如下的键绑定:

bind C-c run "tmux save-buffer - | xsel -bi"

因此,您可以通过按Prefix+ Ctrl+ 将缓冲区保存到系统剪贴板中c

我添加了我的配置,因为它比默认配置更像vim。


使用命令:

这是我的工作:

  1. 运行命令(例如:ls -1
  2. 处理输出以获得我想要的结果
  3. 贴到 xsel -bi

在您的示例中:

$ ls -1 | sed -n 2p | xsel -bi
  • ls -1 在一行中打印输出
  • sed -n 2p 得到第二行
  • xsel 已用于将最终结果复制到剪贴板中。

如果该命令花费的时间太长,请首先将输出保存到文件中,然后处理输出:

command > output
head -10 output | whatever | xsel -bi

0

最常见的Linux终端仿真器无法直接执行此操作。不过,我知道有2个。

存在相当长一段时间的一种是白蚁。不过,它相当简陋(键盘快捷键不可配置,没有多个选项卡)。

现在有第二个,它具有名为Mantid的这些功能(我在这里毫不客气地宣传:)):

https://github.com/omgold/mantid-term

但是,还没有一个Ubuntu构建,一个Arch和RPM。不过,您可以尝试构建RPM并使用Alien转换为deb。


我想尝试mantid,但是找不到任何教程或手册。那里有文件吗?最好至少知道它是如何完成问题中要求的功能的。
路易斯·德·索萨

有一个联机帮助页(“ man mantid”),/ usr / share / mantid中有示例配置文件。该手册页主要记录了配置选项,可以在配置文件中查找活动的键盘绑定。
omgold
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.