Pat*_*ryk 182 vim tmux copy-paste
我在 vim 中打开了两个文件,每个文件都在一个 tmux 窗格中。我想从一个文件复制 10 行到另一个文件。
如何不使用鼠标的Copy->来完成此操作Paste?
Ale*_*ach 272
您必须使用 tmux 快捷方式。假设您的 tmux 命令快捷方式是默认的:Ctrl+ b,那么:
Ctrl+ b,[进入复制(?) 模式。
移动到要突出显示的文本的开头/结尾。
Ctrl+Space
开始突出显示文本(在 Arch Linux 上)。当我在 OSX 和其他 Linux 上从源代码编译 tmux 时,Space通常仅靠它自己就可以工作。选定的文本会更改颜色,因此您将知道该命令是否有效。
移动到文本的另一端进行复制。
Alt+ 将w选定的文本复制到tmux剪贴板。
在 Mac 上,使用Esc+ w。Enter如果以上都不起作用,请尝试。
将光标移动到对面的 tmux 窗格,或完全不同的 tmux 窗口。将光标放在要粘贴刚刚复制的文本的位置。
Ctrl+ b,]从 tmux 剪贴板粘贴复制的文本。
tmux 非常擅长将命令映射到自定义键盘快捷键。
见Ctrl+ b,?为一套键盘快捷键的完整列表。
小智 47
不幸的是,我还不能对 Alex Leach 的回答添加评论,所以我将在此处为 Mac OS X 用户添加一个附录:
小智 24
如果您在 macOS 上使用 vim 和 tmux(在 macOS 10.12.2、tmux 2.3 上测试):
(假设 tmux 的前缀键组合是prefix。前缀是ctrl+b在默认情况下。)
如果你已经vim打开,最好使用 vim 复制粘贴来复制文本。
Tmux 复制粘贴会起作用,但是有几个缺点。
首先,复制多行文本时,您必须选择多行。Tmux 复制粘贴通常不理解vim有行号或 vim 装订线中有标记(例如相对数字/绝对数字)。结果,它也会复制这些。
其次,我发现如果文本具有特定语言特定的格式,而您直接尝试使用 tmux 复制粘贴到 vim,则会弄乱格式。这可以通过使用来避免set paste!。但是,这需要做更多的工作。
"+y复制和"+p粘贴Vim本机提供了一种在 vim 缓冲区和系统剪贴板之间复制粘贴的方法,使用"+y或"*y。然后使用"+p或粘贴"*p。这将避免复制与 vim 无关的 gutter 或其他随机标记中的相对数字
| 归档时间: |
|
| 查看次数: |
204277 次 |
| 最近记录: |