我正在尝试将选定的文本从 vim 复制到另一个 Windows 应用程序...例如,firefox 或记事本。但是我似乎无法使用
y
命令来执行此操作。我启用了 Windows 热键,因此通过按 ctrl-c
我可以实现此目的,但希望在 Vim 中完全摆脱这些 Windows 命令。
这可能吗?反之亦然,从 Windows 复制并粘贴到 vim
我有
set clipboard=unnamed
在我的 ~/.vimrc 中。然后“yy”、“D”等直接拉入 Windows 剪贴板。它也适用于 MacVim。对于 Linux gvim,你必须记住在这些操作前加上“+
”我认为在 GVim 中使用 Windows 命令键没有任何坏处。或者,您还可以使用热键
"+y
进行拉取(复制),使用 "+p
进行粘贴到系统剪贴板或从系统剪贴板粘贴。这适用于大多数平台(未直接连接到 Unix 上的 X 服务器的 Vim 实例有点困难)。
根据上述答案:
"*y
"*p
使用 ctrl-v 会使在插入模式下输入控制字符变得困难,并且 ctrl-v 在正常模式下是视觉块,尽管 ctrl-q 也是如此。
个人发现以下内容非常自然且小指友好
vmap <a-c> "*y
imap <a-p> "*p
不要使用 Windows 绑定,否则你将无法在其他平台上使用 Vim。
使用
"*y
- 复制到系统剪贴板。它在 Mac OS、Windows、Linux 上运行良好。
如果您想从窗口(或 vim)复制,请尝试:
:set paste
但请注意其他选项可能会被修改。一切都详细说明:
:help paste
希望有帮助。
对于 Windows 7,您需要编辑 vim 配置文件:
C:\users\<User>\vimfiles\vimrc
只需将以下行添加到配置文件中:
set clipboard=unnamed
保存文件,在另一个使用标准 Windows 约定的编辑器中打开它,然后像平常一样复制和粘贴。
要在使用 Powershell 终端时使用
Alt-P
粘贴到 Vim 中,我将此行添加到我的 _vimrc
文件中。
nnoremap <A-p> :r!powershell.exe Get-Clipboard<CR>