less查看器:将所有行复制到剪贴板

18

已经有一篇在stackoverflow上关于如何将VI编辑器中的所有文本复制到剪贴板的帖子。(复制所有行到剪贴板)我想在less查看器中做同样的事情。我尝试搜索称为"yank"的过程,但没有找到任何与之相关的内容。

我该如何将less编辑器中的所有行复制到剪贴板?

而且我不能关闭less并在vi中重新打开它。这是因为我已经将此文件加载到编辑器中,并且在加载时,该文件已经在后端移动了。这是一个长故事。现在对我来说最简单的解决方案是将文件的内容复制到内存中。


1
哪个剪贴板?你使用的是什么操作系统和终端模拟器? - depquid
3个回答

31

less 没有剪贴板,但您可以尝试将其缓冲区中存储的内容输出到新文件中。仅当整个文件的内容都被缓冲时,此方法才有效:

  1. 输入 g 跳转至文件顶部
  2. 输入 |(这是一个竖杠字符,不是 L 或 I)表示您要输出到管道中
  3. 输入 $ 表示您要将输出内容放置在文件末尾
  4. 输入 dd of=/path/to/new/file 并按下 Enter

dd 命令将获取管道中的数据并将其保存到传递给 of= 参数的文件中。


10
使用 xclip 替代 dd 命令将输出发送到剪贴板。 - Clément
11
在 Mac 上,可以使用 pbcopy 命令代替 dd 命令将内容复制到剪贴板。 - ryenus
或者在 Mac 上,您可以通过使用 cat 将文件内容简单地传输到 pbcopy。这样可以避免使用 less 并实现相同的结果。 - cjbarth

2
作为一种解决方法,您可以将终端的字体大小设置为1,然后使用鼠标选择并复制(适用于大文件,但不适用于超大文件)。

0
如果文件不太大,而且它适合您终端配置的行数,请执行以下操作:
  1. 终端 > 编辑 > 清除以开始
  2. cat
  3. 终端 > 编辑 > 全选
  4. 终端 > 编辑 > 复制

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接