将文本从 vim 复制到 windows

问题描述 投票:0回答:8

我正在尝试将选定的文本从 vim 复制到另一个 Windows 应用程序...例如,firefox 或记事本。但是我似乎无法使用

y
命令来执行此操作。我启用了 Windows 热键,因此通过按
ctrl-c
我可以实现此目的,但希望在 Vim 中完全摆脱这些 Windows 命令。

这可能吗?反之亦然,从 Windows 复制并粘贴到 vim

vim
8个回答
31
投票

我有

set clipboard=unnamed

在我的 ~/.vimrc 中。然后“yy”、“D”等直接拉入 Windows 剪贴板。它也适用于 MacVim。对于 Linux gvim,你必须记住在这些操作前加上“+


20
投票

我认为在 GVim 中使用 Windows 命令键没有任何坏处。或者,您还可以使用热键

"+y
进行拉取(复制),使用
"+p
进行粘贴到系统剪贴板或从系统剪贴板粘贴。这适用于大多数平台(未直接连接到 Unix 上的 X 服务器的 Vim 实例有点困难)。


10
投票

根据上述答案:

"*y
"*p

使用 ctrl-v 会使在插入模式下输入控制字符变得困难,并且 ctrl-v 在正常模式下是视觉块,尽管 ctrl-q 也是如此。

个人发现以下内容非常自然且小指友好

vmap <a-c> "*y 
imap <a-p> "*p

8
投票

不要使用 Windows 绑定,否则你将无法在其他平台上使用 Vim。

使用

"*y
- 复制到系统剪贴板。它在 Mac OS、Windows、Linux 上运行良好。


3
投票

如果您想从窗口(或 vim)复制,请尝试:

:set paste

但请注意其他选项可能会被修改。一切都详细说明:

:help paste

希望有帮助。


2
投票

对于 Windows 7,您需要编辑 vim 配置文件:

C:\users\<User>\vimfiles\vimrc

只需将以下行添加到配置文件中:

set clipboard=unnamed

0
投票

保存文件,在另一个使用标准 Windows 约定的编辑器中打开它,然后像平常一样复制和粘贴。


0
投票

要在使用 Powershell 终端时使用

Alt-P
粘贴到 Vim 中,我将此行添加到我的
_vimrc
文件中。

nnoremap <A-p> :r!powershell.exe Get-Clipboard<CR>
© www.soinside.com 2019 - 2024. All rights reserved.