【问题标题】:How to copy multiple pages from VI inside tmux session如何在 tmux 会话中从 VI 复制多个页面
【发布时间】:2021-12-23 03:20:12
【问题描述】:

我正在尝试复制大约 350 行的长文本。但是我只能选择当前在终端中可见的 15-20 行,一旦我在 tmux 中选择复制模式,我就无法向下滚动。这是步骤

  1. tmux 附加
  2. ssh 用户@host
  3. vi 文件名.java
  4. Ctrl+b 和 [
  5. Ctrl+空格,然后上下左右箭头进行选择。 之后,一旦我到达 end 1 就无法进一步滚动以选择其余文本。

【问题讨论】:

  • 复制到什么? X剪贴板?不可能!

标签: linux vi tmux


【解决方案1】:

使用cat 命令。

例子:

cat example.cfg

通过该命令的输出,您可以用鼠标选择您想要的所有内容,而不是每 30 行执行一次。

然后您可以连接到您的其他服务器并将其粘贴到新文件中。

【讨论】:

    【解决方案2】:

    假设您要复制到 X 剪贴板...

    制作一个长文件。

    $ ssh try 'seq 1 2000 >  /tmp/long-file'
    

    编辑它。

    $ ssh -tY try vim /tmp/long-file
    

    从 vim 内部,将文件馈送到 X 剪贴板。

    $ :!xclip < %
    

    在不同的控制台上:

    $ xclip -o
    

    如果您在 xclip -o 之前断开连接,命令将失败并显示:

    Error: target STRING not available
    

    此解决方案依赖于 X 转发。如果你不能这样做,那就这样做:

    ssh try cat /tmp/long-file | xclip -i
    

    如果你在 mac OS 上,我相信有一个类似的粘贴命令。

    【讨论】:

      猜你喜欢
      • 2020-07-25
      • 2020-05-13
      • 1970-01-01
      • 1970-01-01
      • 2012-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-02
      相关资源
      最近更新 更多