把整个档案都拿出来

我经常在 gVim 中编写一些内容,然后需要将其复制粘贴到另一个应用程序中。

有没有简单的方法把整个文件都拉出来? 我通常都是这么做的

gVG"+y

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

但是有没有更好的办法让我错过呢?

91695 次浏览

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

编辑: 啊,系统剪贴板。确切地说不是从手指上滚下来的,而是: gg"+yG

另一种方法是:

ggyG

从上往下拉。

ggyG

(从上往下拉)

:0,$ y

我不知道哪条路更容易。

或者简单地在你的 .vimrc:

nmap <silent> <F5> ggVG"+y

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

在 Windows 上,我经常只是做 CTRL-A,CTRL-C 复制所有的窗口剪贴板... 不能得到比这更容易!

我用的是网站上的标准 gvim 7.1。

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

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

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

我使用以下指令: :%y

在 OSX:

ggVG
!tee >(pbcopy)

我觉得这比:

ggVG
:w !pbcopy

因为它不会出现一个提示: “ Press ENTER or type command to continue

它很脏,但是你根本不需要使用 shift 键,只需要3个不同的键就可以更快:

gg1111yy

(假设文件短于1111行)

如果使用 新生活(nvim) ,没有 +:%y可以在整个系统上工作。

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

根据您执行此操作的频率,只需映射此操作的键并可选地添加到 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,然后加上你真正需要的拐杖: