我尝试使用默认的 vim 键绑定(y)使用 ideavim 插件从 IDEA 复制文本。但这段文本没有复制到全局缓冲区中,我只能将其粘贴到 IDEA 中。
例如,如何在浏览器中使用复制的文本?
Vim 的 yank 命令默认情况下不会拉入系统剪贴板;它拉到未命名的寄存器。您可以使用 * 或 + register 访问系统剪贴板;另请参阅此 wiki article 了解更多信息。或者只需在您的 ~/.ideavimrc
:
中设置此选项
set clipboard+=unnamed
自从
VIM-476在 0.38 版本中实现以来,IdeaVim 就支持这个
~/.ideavimrc
设置。如果该文件不存在,请在您的用户/主目录中创建它。
另请注意,这都是标准的 Vim 行为;除了配置文件的名称之外,没有一个是特定于 IdeaVim 的。
接受的答案还将删除的内容复制到系统剪贴板(使用
d
,dd
,...),基本上将删除变成“剪切到剪贴板”操作。如果(像我一样),这根本不是您想要的,您可以将以下映射添加到~/.ideavimrc
:
# Use system clipboard by default for y and p operations
nnoremap yy "+yy
vnoremap y "+y
nnoremap p "+p
vnoremap p "+p
nnoremap P "+P
vnoremap P "+P
# Allow access to original y and p operations with leader key, e.g. to use registers
nnoremap <leader>yy yy
vnoremap <leader>y y
nnoremap <leader>p p
vnoremap <leader>p p
nnoremap <leader>P P
vnoremap <leader>P P
# Allow to cut to system clipboard by using leader key with d
nnoremap <leader>dd "+dd
vnoremap <leader>d "+d
(由 https://gist.github.com/RobertAudi/11ffa90f4952e5923ce7 和 @albert-bici 提供)