【问题标题】:copy paste in iterm, vim在 iterm、vim 中复制粘贴
【发布时间】:2017-01-23 01:39:20
【问题描述】:

我在 Mac 中使用 iterm 作为我的命令行终端。在 iterm 中,我使用 tmux 作为终端管理器。当我在 Vim 中打开我的代码文件时,复制变得很痛苦。要在 vim 中复制文本,我需要按住“选项”键,然后选择文本。持有期权时有多个问题: 1) 在选择模式下我无法滚动 2)当我将我的终端分成 2 个窗格时,选择使用跨窗格的选项副本使其变得困难。

我不确定此问题的原因以及在哪里可以找到解决方法。谁能帮帮我?

【问题讨论】:

  • 尝试在 GUI 中使用 macvim,在 CLI 中使用 macvim -v 而不是 vim (brew install vim --override-system-vi)。然后将set clipboard=unnamed放入vim配置文件,使用正常的复制粘贴功能(见:help copy-move)
  • @RuslanOsmanov:对我的回答进行了很好的补充 - 剪贴板支持很可能没有融入到默认的 Vim 中。然而,一旦你覆盖了系统 Vim,终端中的vim 会给你终端 MacVim;不确定macvim -v 是什么,因为macvim 不是现有的可执行文件。

标签: macos vim copy-paste tmux iterm2


【解决方案1】:

您不能依赖 iTerm 的剪贴板支持,因为它不会知道有关 Vim 或 tmux 拆分的任何信息。改用本机 Vim 副本。

:help v
:help V
:help y
:help d
:help "*
:help clipboard

例如为了复制两行,你可以做"*2yy(到剪贴板寄存器,两行猛拉);或者您可以使用可视模式标记某些内容,然后只需 "*y(到剪贴板注册,猛拉)。如果您希望剪贴板寄存器始终自动使用,除非指定另一个寄存器,您可以将以下内容添加到您的.vimrc:

set clipboard+=unnamed

然后一个简单的2yy 将复制两行,您可以将其粘贴到 iTerm 或任何其他应用程序中。

【讨论】:

  • 必须有另一个步骤才能让它在 iTerm 2 中工作,因为 "*yy 和 set clipboard 命令都不允许我从带有 Mac OS High Sierra 的 iTerm2 中的剪贴板复制/粘贴。
  • @LondonRob:你的 Vim 支持剪贴板吗? (:version,然后查找+clipboard 或-clipboard)。 OSX 默认 Vim 没有编译它,MacVim 有,NeoVim 有。
  • 是的!这是我的问题。我将尝试找出如何在终端 Vim 中获取这些内容。谢谢!
  • @LondonRob NeoVim 和 MacVim 也是“终端 Vim”。 MacVim 也 有 GUI 模式。但是你不能在默认的 Vim 中得到这个。默认情况下你能做的最好的 Vim 是管道到pbcopy。
  • 太棒了!谢谢@Amadan,这解决了我的问题!
猜你喜欢
  • 1970-01-01
  • 2020-08-16
  • 1970-01-01
  • 2020-02-06
  • 2014-09-18
  • 2011-12-05
  • 2012-07-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多