Yank整个文件

时间:2009-05-06 14:39:45

标签: vim clipboard vi

我经常在gVim中写一些东西,然后需要将它复制粘贴到另一个应用程序中。

有没有简单的方法来拉动整个文件?我通常做这样的事情

V + y

(转到顶部,视线模式,转到底部,猛拉)

但是,我错过了一个更好的方法吗?

14 个答案:

答案 0 :(得分:184)

我使用以下说明::%y+

答案 1 :(得分:52)

ggyG(转到第一行,猛拉到最后一行)

编辑:啊,系统剪贴板。不完全滚开手指,但是:gg"+yG

答案 2 :(得分:15)

旧文件中的工作解决方案是新文件中的:r filename

答案 3 :(得分:12)

另一种方法是:

ggyG

转到顶部,然后猛拉到底部。

答案 4 :(得分:7)

ggyG

(转到顶部,猛到底)

答案 5 :(得分:7)

我使用以下说明::%y

答案 6 :(得分:3)

:0,$ y

我不知道哪种方式更容易。

答案 7 :(得分:3)

在OSX中:

ggVG
!tee >(pbcopy)

我认为比...更好:

ggVG
:w !pbcopy

因为它没有闪烁提示:“Press ENTER or type command to continue

答案 8 :(得分:2)

或只是在.vimrc

nmap <silent> <F5> ggVG"+y

所以你可以使用一个键:)

答案 9 :(得分:1)

如果您使用的是 neo-vim (nvim),那么没有:%y的{​​p> +可以在整个系统上运行。

这可让我们避免将手指伸展到+ - 实际上使此快捷方式比ggyG更好。

答案 10 :(得分:0)

验证Luc Hermitte评论中的预测::%y+:%y*都将整个文件拖到Win7和Vim 7.3下的系统剪贴板中。

答案 11 :(得分:0)

它很脏但你根本不必使用shift键,只有3个不同的键可能更快:

gg1111yy

(假设文件短于1111行)

答案 12 :(得分:0)

根据您执行操作的频率,只需为此映射一个键,然后可以选择将其添加到vimrc

:nnoremap <F5> :%y

:nnoremap <leader><whatever> :%y

或您知道的任何安全且最快的密钥-然后将其添加到映射源或其他任何内容。与ggyG相比,它的优点在于它不会移动光标(更快),并且要保留光标位置,您必须添加<Ctrl-o><Ctrl-o>

人们经常忘记,除非在vimrc中,命令是基于会话的。我经常知道什么时候要做很多事情,但不需要默认,只需要:[mode]remap <whatever> <whatever>

如果需要,我可以关闭并重新打开vim。

如果<Ctrl-A><Ctrl-C>为您工作,那么您正在源中使用mswin.vim,并且失去了<Ctrl-a>递增和{{1​​}}递减运算的能力(除其他外)。我从Windows开始,不久前停止使用mswin.vim。我个人认为最好以正确的方式操作Vim,然后添加您真正需要的拐杖:P

答案 13 :(得分:-1)

在Windows上我经常只用CTRL-A,CTRL-C将所有内容复制到Windows剪贴板......不能比这更容易!

我正在使用网站上的标准gvim 7.1 ...

(顺便说一下:还可以在我的mac上运行MacVim和那个有趣的mac-key + A,mac-key + C)