38

如何在vim插入模式下全选并复制?在正常模式下还有另一种方法吗?

我已经尝试了可视模式和 gg 和 shift + gg 来全选然后猛拉,但是这并没有将其传输到剪贴板以便能够将其粘贴到其他应用程序中,例如 Skype 或 chrome 浏览器。

我相信这是一项常见的任务,比我更聪明的人有很多品种,请随时分享你的。

4

4 回答 4

30

在正常模式下:

gg"+yG

在 ex 模式下:

:%y+

于 2013-03-25T08:20:34.680 回答
15

您的问题中缺少一些重要信息:

  • 的输出$ vim --version
  • 操作系统?
  • CLI 还是图形用户界面?
  • 本地还是远程?
  • 你用 tmux 吗?屏幕?

如果你的 Vim 是用剪贴板支持构建的,你应该像这样在正常模式下使用剪贴板寄存器:

gg"+yG

如果您的 Vim 不支持剪贴板,您可以通过其他程序将文本从 Vim 复制到您的操作系统剪贴板。这在很大程度上取决于您的操作系统,但您没有说它是什么,所以我们无法提供帮助。

但是,如果您的 Vim 瘫痪了,最好的办法是安装一个支持剪贴板的正确版本,但我也不能告诉您怎么做,因为我不知道您使用什么操作系统。

编辑

在基于 debian 的系统上,以下命令将安装具有剪贴板、ruby、python 支持的适当 Vim。

$ sudo apt-get install vim-gnome
于 2013-03-25T08:19:11.090 回答
5

@swpd 的回答得到改善

,用作领导键,,a快捷方式可以解决问题

如果您喜欢,a快捷方式,请添加此行

map <Leader>a :%y+<CR> 

我使用Ctrl y快捷方式复制

vmap <C-y> y:call system("xclip -i -selection clipboard", getreg("\""))<CR>:call system("xclip -i", getreg("\""))<CR>

,v粘贴

nmap <Leader>v :call setreg("\"",system("xclip -o -selection clipboard"))<CR>p

在使用它之前,您必须安装 xclip

$ sudo apt-get install xclip

编辑:使用时:%y+,只能粘贴到 Vim vimCtrl+Insert快捷方式。和

map <C-a> :%y+<Esc>

不会与我的 Vimrc 中的任何设置发生冲突。

于 2014-01-03T11:37:43.483 回答
5
ggVG 

会从头到尾选择

于 2019-05-07T15:14:00.997 回答