如何在 tmux 会话中从 VI 复制多个页面
How to copy multiple pages from VI inside tmux session
我正在尝试复制大约 350 行的长文本。但是我只能 select 当前在终端中可见的 15-20 行,一旦我在 tmux 中 select 复制模式,我就无法向下滚动。这是步骤
- tmux 附加
- ssh 用户@主机
- vi filename.java
- Ctrl+b 和 [
- Ctrl+space然后up/down左箭头右箭头使select离子。
在那之后,一旦我到达结尾 1,就无法进一步滚动到 select 文本的其余部分。
使用cat
命令。
示例:
cat example.cfg
使用该命令的输出,您可以使用鼠标 select 所有您想要的内容,而不是每 30 行执行一次。
然后您可以连接到您的其他服务器并将其粘贴到新文件中。
假设您要复制到 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,我相信有类似的粘贴命令。
我正在尝试复制大约 350 行的长文本。但是我只能 select 当前在终端中可见的 15-20 行,一旦我在 tmux 中 select 复制模式,我就无法向下滚动。这是步骤
- tmux 附加
- ssh 用户@主机
- vi filename.java
- Ctrl+b 和 [
- Ctrl+space然后up/down左箭头右箭头使select离子。 在那之后,一旦我到达结尾 1,就无法进一步滚动到 select 文本的其余部分。
使用cat
命令。
示例:
cat example.cfg
使用该命令的输出,您可以使用鼠标 select 所有您想要的内容,而不是每 30 行执行一次。
然后您可以连接到您的其他服务器并将其粘贴到新文件中。
假设您要复制到 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,我相信有类似的粘贴命令。