如何选择文件中的所有文本(大约1000行),将其复制,然后粘贴到Google文档中?
#1 楼
最简单,最快的方法是使用::%y +,然后转到Google文档(或任何位置)并粘贴。说明:
%引用下一条命令在所有行上工作
y将这些行拉出
+复制到系统剪贴板
另一种方法是gg“ + y G,但您可能会承认上述操作更快,更容易。
#2 楼
许多给出的答复也取消了我没有寻找的选择。我为此目的使用ggVG(需要在正常模式下运行)。该命令只选择文档中的整个文本。
我什至为此重新映射了Ctrl + A,因为我真的不需要使用快捷方式来增加整数(默认Ctrl + A地图)。只需将其添加到您的
.vimrc
中:map <C-a> <esc>ggVG<CR>
它首先具有
<esc>
,以确保用户处于正常模式。 评论
正是我要找的东西,很高兴看到Ctrl + A在默认情况下不在vim中。希望没有副作用。
– Nikos Alexandris
2015年4月21日在13:54
我个人使用ggVG,但是gg0vG $可能更合适,因为它可以更紧密地复制“正常” Ctrl + A操作。
– Sheharyar
16-09-22在12:02
#3 楼
您可以使用cat file
,然后选择输出并将其复制并粘贴(如果需要将其粘贴到浏览器中)。对于vi,这是您可以选择所有文本并将其写入新文件的方法:
shift v -- visual mode
shift g -- jump to eof
"*y -- yank select text
:e my_new_file -- create a new file
"*p -- paste into a new file
从理论上讲,它应该在Linux和Windows上都可以工作-我在Mac上尝试过,但不起作用。
评论
粘贴到Web浏览器中的cat文件是一种方法。 shift v方法仅复制到Vi的内部缓冲区。
–亚历山大·列夫丘克(Aleksandr Levchuk)
2010-12-30 17:31
如果您使用的系统剪贴板使用*注册表,则不会-但这仅在X上有效并且我在Windows上听说过-因此,如果您使用ssh,则需要-X-检查vim是否已将其支持到vim中-:set剪贴板+ =未命名
– silviud
2010-12-30 17:34
有没有其他方法可以执行此操作而不创建新文件。如果我们正在服务器上实时编辑,则需要将备份代码保留在本地计算机上,以便我们可以还原。
– NJInamdar
13年7月24日在4:51
+1为猫,然后选择腻子。当然,它不适用于大文件,并且不是最用户友好的方法。但是对于复制超出屏幕视口的小脚本文件已经足够了。
– Arnis Juraga
17-10-14在16:36
#4 楼
使用ggVG。键入“ gg”进入测试顶部
然后键入VG。
#5 楼
我在CentOS-7环境中使用Vim 7.4。选择所有文本的最有效方法是:%y
,然后在我想要完整副本的下一个文件中仅
p
。或
您可以使用cat命令。
cat copyfile > pastefile
此git repo也具有其他一些有用的命令。
评论
这是比其他任何代码都更好的快捷方式。我已经对此进行了测试,它就像一个魅力。
–itsraghz
19/12/23在7:19
#6 楼
gg"+yG
或
gg"*yG
,具体取决于系统剪贴板是+还是*。 (在许多Unix上,+是用于鼠标中键单击的鼠标选择缓冲区,而*是系统剪贴板)。
评论
我认为这是另一回事:“ *是选择,而“ +是剪贴板”。 vimdoc.sourceforge.net/htmldoc/gui_x11.html#x11-selection
– Mikel
2010-12-30在20:24
你是对的。我也知道,但是打错了字。 ☹
–frabjous
2010-12-30 22:21
#7 楼
对于Mac,请使用pbcopy(粘贴板副本):cat file.txt | pbcopy
file.txt的内容现在位于剪贴板上,可以粘贴到另一个应用程序(例如浏览器)中。
还可以使用pbpaste将剪贴板的内容粘贴到文件中:在Mac上是相同的目标。
#8 楼
如果您使用的是Linux桌面,则可以使用xclip或xsel将其加载到剪贴板中。对于某些大小的东西,您可能只想使用google docs中的上载功能。#9 楼
另一种方法是:按键盘上的v键,然后将VIM切换为VISUAL
,然后向下滚动选择所有文本
^ +插入以复制
Shift +插入以将文本粘贴到Google Docs上的任意位置。
#10 楼
无需使用vi,您可以使用其API和cURL将文本上传到google文档。评论
这与OP想要的相反-.-
–拉普利·安德拉斯(RápliAndrás)
2014年10月9日18:27
#11 楼
有关如何执行此操作的选项,请参见http://vim.wikia.com/wiki/Accessing_the_system_clipboard。 (如果在“ *中编译,应参考系统剪贴板”。那里也有关于如何将xsel与vim一起使用的说明。评论
“ *是选择的内容,” +是复制的内容。 vimdoc.sourceforge.net/htmldoc/gui_x11.html#x11-selection
– Mikel
2010-12-30 20:25
#12 楼
使用以下命令。cat <your file name>
它将回显文件的内容。现在选择,滚动,复制,粘贴。
游戏结束
例如:
cat bobis.txt
评论
@Tuxmentat您能否解释一下每个键在:%y +中的作用
–Jas
2014年6月22日9:41
如果它解释了每个键对两个序列的作用,则此答案会更好。
–提问
2014年7月27日在14:13
我最好的猜测:':'表示我们正在使用“ ex mode”命令(我认为)。无论如何,这是一个命令。 '%'是一个特殊的命令行范围说明符,用于指定整个文件。 “ y”表示所有内容,“ +”表示剪贴板寄存器。 :help
–霍基·帕克(Hawkeye Parker)
2014年8月27日9:53
我一定做错了什么。我键入:%y +,我得到E488:尾随字符
–约翰尼为什么
16年7月27日在20:51
我得到“ E850:无效的寄存器名称”。第二种方法可以很好地进行复制,但是不能在Ubuntu 16.04上进入系统剪贴板(至少对我来说-我有一个.vimrc可能会影响事物)。
–纠缠循环
16年8月4日在20:50