如何在vim插入模式下选择所有并复制?2在正常模式下有没有其他方法可以做到?我尝试过视觉模式和gg和shift + gg来选择所有,然后猛拉,但这并不转移到剪贴板,能够粘贴到另一个应用程序,如skype或铬浏览器。我相信这是一个共同的任务,有很多品种由聪明的ppl比我在那里,请随时分享你的。
vsikbqxv1#
在正常模式下:gg”+yG在Ex模式下::%y+
:%y+
sshcrbum2#
您的问题中缺少一些重要信息:
$ vim --version
如果你的Vim是用剪贴板支持构建的,那么你应该在正常模式下使用剪贴板寄存器,如下所示:
gg"+yG
如果你的Vim不支持剪贴板,你可以通过其他程序将文本从Vim复制到你的操作系统剪贴板。这在很大程度上取决于你的操作系统,但是 * 你没有说它是什么 * 所以我们真的帮不上忙。然而,如果你的Vim是残废的,最好的办法是安装一个适当的构建与剪贴板支持,但我不能告诉你,因为 * 我不知道你使用什么操作系统.*
编辑
在基于debian的系统上,以下命令将安装一个支持剪贴板、ruby、python...的Vim。
$ sudo apt-get install vim-gnome
oyxsuwqo3#
@社署的答复有所改善我使用**,作为引出线键,,a快捷键可以实现此目的如果您喜欢,a**快捷方式,请添加此行
,
,a
map <Leader>a :%y+<CR>
我使用**Ctrl y**快捷方式复制
Ctrl y
vmap <C-y> y:call system("xclip -i -selection clipboard", getreg("\""))<CR>:call system("xclip -i", getreg("\""))<CR>
与**,v**粘贴
,v
nmap <Leader>v :call setreg("\"",system("xclip -o -selection clipboard"))<CR>p
在使用此之前,您必须安装xclip
xclip
$ sudo apt-get install xclip
编辑:当你使用:%y+时,它只能粘贴到Vim vim Ctrl+Insert快捷方式。
Ctrl+Insert
map <C-a> :%y+<Esc>
与我的Vimrc中的任何设置都不冲突。
0kjbasz64#
ggVG
我将从头到尾选择
u7up0aaq5#
如果你只是想要一个简单的方法从终端内部复制文件内容(你提到了“复制文本到另一个应用程序”),那么cat命令很容易选择/复制输出:cat <filename>
cat <filename>
mfuanj7w6#
对于VS Code + vim,您可以:
"vim.useSystemClipboard": true,
然后再
ggVGy
这对我来说适用于Ubuntu 22.04和Windows 11中的应用程序。gg"+yG更正确,因为它显式地指向剪贴板(而不是vim寄存器),但是"vim.useSystemClipboard": true, + ggVGy似乎可以跨应用程序工作,所以我使用它,因为它更容易输入。顺便说一句。如果使用VS代码+ vim,则
"vim.useCtrlKeys": false,
允许使用Ctrl+A。
Ctrl+A
6条答案
按热度按时间vsikbqxv1#
在正常模式下:
gg”+yG
在Ex模式下:
:%y+
sshcrbum2#
您的问题中缺少一些重要信息:
$ vim --version
的输出?如果你的Vim是用剪贴板支持构建的,那么你应该在正常模式下使用剪贴板寄存器,如下所示:
如果你的Vim不支持剪贴板,你可以通过其他程序将文本从Vim复制到你的操作系统剪贴板。这在很大程度上取决于你的操作系统,但是 * 你没有说它是什么 * 所以我们真的帮不上忙。
然而,如果你的Vim是残废的,最好的办法是安装一个适当的构建与剪贴板支持,但我不能告诉你,因为 * 我不知道你使用什么操作系统.*
编辑
在基于debian的系统上,以下命令将安装一个支持剪贴板、ruby、python...的Vim。
oyxsuwqo3#
@社署的答复有所改善
我使用**
,
作为引出线键,,a
快捷键可以实现此目的如果您喜欢
,a
**快捷方式,请添加此行我使用**
Ctrl y
**快捷方式复制与**
,v
**粘贴在使用此之前,您必须安装
xclip
编辑:当你使用
:%y+
时,它只能粘贴到Vim vimCtrl+Insert
快捷方式。与我的Vimrc中的任何设置都不冲突。
0kjbasz64#
我将从头到尾选择
u7up0aaq5#
如果你只是想要一个简单的方法从终端内部复制文件内容(你提到了“复制文本到另一个应用程序”),那么cat命令很容易选择/复制输出:
cat <filename>
mfuanj7w6#
对于VS Code + vim,您可以:
然后再
这对我来说适用于Ubuntu 22.04和Windows 11中的应用程序。
gg"+yG
更正确,因为它显式地指向剪贴板(而不是vim寄存器),但是"vim.useSystemClipboard": true,
+ggVGy
似乎可以跨应用程序工作,所以我使用它,因为它更容易输入。顺便说一句。如果使用VS代码+ vim,则
允许使用
Ctrl+A
。