我经常在 gVim 中编写一些内容,然后需要将其复制粘贴到另一个应用程序中。
有没有简单的方法把整个文件都拉出来? 我通常都是这么做的
gVG"+y
(转到顶部,视线模式,转到底部,猛拉)
但是有没有更好的办法让我错过呢?
ggyG(转到第一行,拉到最后一行)
ggyG
编辑: 啊,系统剪贴板。确切地说不是从手指上滚下来的,而是: gg"+yG
gg"+yG
另一种方法是:
从上往下拉。
(从上往下拉)
:0,$ y
我不知道哪条路更容易。
或者简单地在你的 .vimrc:
.vimrc
nmap <silent> <F5> ggVG"+y
所以你可以只用一个键:)
在 Windows 上,我经常只是做 CTRL-A,CTRL-C 复制所有的窗口剪贴板... 不能得到比这更容易!
我用的是网站上的标准 gvim 7.1。
(顺便说一下: 我的 Mac 也可以用 MacVim 和那个有趣的 Mac-key + A,Mac-key + C)
我使用以下指令: :%y+
:%y+
旧 vi 中的工作解决方案是新文件中的 :r filename。
:r filename
我使用以下指令: :%y。
:%y
在 OSX:
ggVG !tee >(pbcopy)
我觉得这比:
ggVG :w !pbcopy
因为它不会出现一个提示: “ Press ENTER or type command to continue”
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>
<Ctrl-o><Ctrl-o>
除非在 vimrc 中,否则人们常常忘记命令是基于会话的。我经常知道什么时候我要做很多事情,但不需要它作为默认值,只需要 :[mode]remap <whatever> <whatever>
:[mode]remap <whatever> <whatever>
如果需要,我可以关闭并重新打开 Vim。
如果 <Ctrl-A><Ctrl-C>对您有效,那么您就在源代码中使用了 mswin.vim,并且失去了增量 <Ctrl-a>和减量 <Ctrl-x>操作的能力(以及其他一些东西)。我从 windows 开始,很久以前就不再使用 mswin.vim 了。我个人认为最好是正确地理解 Vim,然后加上你真正需要的拐杖:
<Ctrl-A><Ctrl-C>
<Ctrl-a>
<Ctrl-x>