ubuntu - 在选项卡或终端之间轻松复制/粘贴 vim
问题描述
我应该在 vimrc 中添加哪一行以便在终端之间或不同文件/选项卡之间轻松复制/粘贴?
我现在有:
" Better copy & paste
set pastetoggle=<F2>
set clipboard=unnamed
我将我的 vim 用作 Python IDE,到目前为止从未遇到过问题,但它似乎无法处理 2 个不同文件/选项卡之间的复制/粘贴。
我应该添加哪一行?你用什么在不同的终端或标签之间复制/粘贴?
解决方案
这是个人喜好,但我使用标准:
"+y
"+p
我喜欢它默认工作,对我来说,它已成为一个“手指宏”,我可以轻松快速地输入。如果您愿意,您可以将它们分配给其他东西,但我发现这可以正常工作。
在下面的 wiki 中链接了一个 vimtip,它将序列重新映射到以下内容:
vmap <C-Space> "ay
nmap <C-Space> "aP
imap <C-Space> <C-o>"ap
nmap <C-c> "ayiw
vimwiki 解释:https ://vim.fandom.com/wiki/Copy,_cut_and_paste
与大多数文本编辑器不同,Vim 区分它自己的寄存器和系统剪贴板。默认情况下,Vim 从它自己的默认寄存器复制、剪切和粘贴,称为未命名寄存器(“”,也称为quotequote)而不是系统剪贴板。
假设 Vim 是通过剪贴板访问编译的,则可以访问 "+ 或 "* 寄存器,这可以修改系统剪贴板。在这种情况下,可以在视觉模式下使用“+y”进行复制,在普通模式下使用“+y{motion}”进行复制,然后使用“+p”进行粘贴。
如果你的 Vim 安装没有使用剪贴板支持编译,你必须安装一个支持剪贴板的包,或者使用外部命令,例如 xclip 作为中介。有关详细信息,请参阅访问系统剪贴板。
推荐阅读
- r - Rstudio 连接服务器上的 ssh 密钥
- typescript - 如何使用 Typescript 泛型来构造可用于类似对象的函数?
- python - 在 discord.py 中显示设置前缀的命令(重写)
- swift - 如何在 UI 中获得结果(@escaping,完成)
- angular - 如何解决 Angular 项目从版本 6 升级到 7 期间的编译错误?
- coldfusion - 我可以在 sql 中执行与此循环相同的功能吗?
- bash - awk 根据过滤器输出到文件
- amazon-web-services - AWS Amplify Storage.get() - AWSAccessKeyId 未定义
- azure - 使用 Xamarin Forms 从 Azure SQL 数据库中选择表
- python - 告知 sympy 变量之间的不等式