139

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

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

ggVG"+y

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

但是有没有更好的方法让我错过了?

4

13 回答 13

220

我使用以下指令::%y+

于 2009-05-06T15:08:01.917 回答
67

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

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

于 2009-05-06T14:41:13.213 回答
16

旧 vi 中的工作解决方案在:r filename新文件中。

于 2009-05-06T15:08:15.643 回答
13

另一种方法是这样的:

ggyG

到顶部,然后拉到底部。

于 2009-05-06T14:41:41.340 回答
9

我使用以下指令::%y.

于 2011-11-25T06:24:38.747 回答
7

ggyG

(转到顶部,拉到底部)

于 2009-05-06T14:44:19.587 回答
5
:0,$ y

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

于 2009-05-06T14:45:25.107 回答
3

或者只是在你的.vimrc

nmap <silent> <F5> ggVG"+y

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

于 2009-05-06T15:00:42.573 回答
3

在 OSX 中:

ggVG
!tee >(pbcopy)

我觉得比:

ggVG
:w !pbcopy

由于它不闪现提示:“ Press ENTER or type command to continue

于 2013-06-15T17:54:42.880 回答
2

:%y+如果您使用的是neo-vim (nvim),则无需在整个系统上运行。

这让我们避免将手指+伸向 - 实际上使这个快捷方式比ggyG.

于 2018-04-06T07:23:22.583 回答
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>和递减<Ctrl-x>操作的力量(除其他外)。我从 Windows 开始,很久以前就停止使用 mswin.vim。我个人认为最好以正确的方式了解 Vim,然后添加您真正需要的拐杖:P

于 2020-04-16T16:56:53.950 回答
-1

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

gg1111yy

(假设文件短于 1111 行)

于 2016-02-27T15:27:07.327 回答
-3

在 Windows 上,我通常只使用 CTRL-A、CTRL-C 将所有内容复制到 Windows 剪贴板……再简单不过了!

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

(顺便说一句:也可以在我的 Mac 上使用 MacVim 和那个有趣的 mac-key+A,mac-key+C)

于 2009-05-06T15:06:50.500 回答