如何从 less 中复制文本

如何从 less 中复制文本

如何复制 less 显示的整个缓冲区?
无需选择特定文本,我想要全部。
复制到剪贴板是更好的选择,但如果我们可以将其输出到文件,那也行。

我尝试使用通用vim命令,如 :w 和列出的命令这里less似乎不接受这样的命令。

编辑
我必须能够做到这一点之内 less。假设lesspipe从别名中调用的,我无法控制它less的实际调用方式。我只能看到结果。
我找到了一种保存缓冲区的方法(请参阅下面的答案),所以现在我只需要看看是否有任何方法可以选择和复制。考虑到限制,可能没有。

答案1

使用如下方法将less缓冲区转储到剪贴板:xsel

  1. 打开文件$ less file.txt

  2. less然后压入(|管内)$

  3. xsel -i并按下进入

less缓冲区内容应该被复制。

答案2

:s从内部输入命令less将缓冲区写入“日志”文件。

来源The "s" command is equivalent to specifying -o from within less

答案3

  1. xsel首先安装
  2. 使用 xsel 复制到剪贴板:less filename.txt | xsel -i
  3. 粘贴: xsel -o

答案4

您可以重新利用 less 的 'v' 命令来实现此目的。

查看 less 的手册页,特别是关于 LESSEDIT 的内容。如果你提前做了一些设置(可能在你的 .bashrc 中),你可以使用 @rwxrwxrwx 的建议:

bash$ export LESSEDIT="%E < %f"
bash$ export EDITOR="xsel -ib"

当 less 运行时,按 'v' 在 $EDITOR 中打开当前文件;在本例中,使用 打开它xsel -ib < {the file's name}

使用xsel -ib将数据放在剪贴板上,因此您可以按 ctrl-V 将数据粘贴到您想要的位置。

相关内容