如何在Git Bash中复制粘贴:

726

我正在使用运行在Windows XP上的msysgit

尝试了Ctrl+V、右键单击、中键单击、谷歌搜索...都没有成功。


25
@hobbs已经提供了你需要的答案!右击窗口左上角(图标),选择“属性”并选择“快速编辑模式”。 - BillyNair
1
我看到已经添加了,但这里有一个链接 https://www.udacity.com/wiki/ud775/git-bash-copy-paste - laviku
1
另一个有用的页面:https://dev59.com/0YLba4cB1Zd3GeqPeGm5 - Stanislav
36个回答

1069

按下 Insert 键。

此外,要从窗口复制文本,请尝试点击控制台的窗口图标(左上角),选择“编辑” -> “标记”,然后在文本上拖动一个框,并按 Enter 键。 (您还可以通过窗口图标菜单粘贴,但使用键盘更快。)

更新

从 Windows 10 开始,CTRL+CCTRL+V 和许多其他功能已经实现在 conhost.exe 中,因此它们应该适用于 Windows 上的任何控制台实用程序。(您需要启用属性 -> 选项选项卡 -> 快速编辑模式)

参考: http://blogs.windows.com/buildingapps/2014/10/07/console-improvements-in-the-windows-10-technical-preview/


30
我想要将内容“粘贴到”Git Bash中。但是,由于有了你,我发现了“编辑-> 粘贴”选项,这正是我想要的!不再需要手动输入API代码了! - Trav L
27
严格来说,这并不是msysgit的问题,而是因为msys使用了cmd.exe而导致的问题。 - anarchivist
31
我在Mac上运行Windows,没有INSERT键。 - kevin
40
顺便说一下,在Win7上我需要使用“Shift + Ins”,否则它会显示类似于[(^2A](等内容。 - henry
1
针对使用 Parallels Desktop 的用户:在“首选项”>“快捷键”> [您的虚拟机] 中添加您喜欢的快捷方式。我已将 cmd+alt+i 设置为插入。 - ptim
显示剩余19条评论

146

除了使用编辑菜单命令外,你还可以使用键盘快捷键Insert直接将内容粘贴到git bash窗口中。


8
无需使用控制键,只需使用插入键即可粘贴。 - jasonpenny
如何取消粘贴?有没有快捷键?谢谢! - Alex Chen
@Dan Rigby,我正在使用最新的msysgit,但无法粘贴。尝试了菜单->粘贴和按INSERT键。 - Ghita
太棒了,丹,我从来不知道 :) - Mohammad Arif
2
@AntiGameZ 撤销操作可以使用 Ctrl-_ 完成。我相信这都是来自 readline 工具,它模拟了 Emacs,这个唯一真正的编辑器。 - Brady Trainor
显示剩余3条评论

68

这并不是git、msys或bash的问题;由于历史原因,每个Windows控制台程序都被困在同样繁琐的复制/粘贴机制中。打开QuickEdit模式可能会有所帮助,或者您可以安装一个好用的替代控制台,例如这个,并将您的git bash快捷方式更改为使用它。


3
想要了解如何使用Console2的人可以参考以下链接:http://lostechies.com/jimmybogard/2010/04/05/integrating-the-git-bash-into-console/。 - Jesper Fyhr Knudsen
8
+1 以及别具妙趣的原因。我想我从现在开始会经常使用它了。 - Steven Lu
有了 QuickEdit,这变得非常容易:选择、回车、插入。 - gphilip
@CharlesB - 因为QuickEdit已经损坏,会抛出奇怪的错误信息,并且只能偶尔工作。 - orbfish
3
使用快速编辑模式,您可以通过单击鼠标右键进行粘贴。很方便! - lmeurs
2
除了Imerus所说的,你甚至不需要按回车键来复制...只需选择并双击右键。它就会粘贴... - Vishwanath

60

复制:

长期解决方案:点击左上角图标 > 默认值 > 在“编辑选项”下选择“快速编辑模式” > 确定。

然后选择要复制的文本。按下 Enter

短期解决方案:点击左上角图标 > 编辑 > 标记。按下 Enter

粘贴:

按下 Insert

(如果启用了“快速编辑模式”,右键单击也可能有效。)


1
启用快速编辑模式后,在 Windows 7 上,这对我有用,我可以使用右键单击进行粘贴 :) - Mike R
使用Mac键盘在Windows虚拟机中时,右键单击可以使用+1。 - garyh

40

可以像在Linux Bash中一样使用 Shift+Insert

编辑:即使在putty中也适用。


使用 mintty 3.4.6,虽然这个问题有点晚了,但不需要按下 Ctrl 键,Insert 键就可以完成任务。 - Luke

40

我已经很久没有使用Windows了,这让我非常不爽。但最终我发现了这个:

ctrl_shift_letter_shortcuts

启用Ctrl+Shift+字母键快捷键使我的Windows操作更像Linux系统,也降低了我的情绪压力。Ctrl+Shift+C/V现在可以使用了。


3
我希望这对我有用,但事实并非如此。我现在可以使用Shift+Insert进行复制粘贴,但无法使用Ctrl+C/V或Ctrl+Shift+C/V。我尝试了其他解决方案,但都不行 :( - ansh sachdeva

21
我做这件事情的方法是按住Alt键,然后按空格键,接着按E键,最后按P键。
在Windows系统中,Alt键跳转到窗口菜单,空格键打开它,E键选中编辑,P键执行粘贴命令。
如果能够正确连续按下这些按键,你可以在不到2秒钟的时间内粘贴一个片段。

1
这也适用于Mac友好型(对我们在Mac上使用Windows的人来说很实用!) - Alex
仅适用于英文Windows。在法语操作系统上,您需要按Alt + Space,然后是M(_修饰符_),最后是O(_粘贴_)。 - Gabriel

11

这是由github帮助页面建议的:

clip < filename

这将文件名的内容复制到剪贴板中,并且非常有用,例如将您的id_rsa.pub复制到Web表单中。


1
这正是我所需要的!需要将git命令的输出导入到我的剪贴板中 git diff abc^1 abc -- file | clip - DaveEdelstein

9

在 Git BASH 中粘贴:按下 CTRL + P


1
谢谢,这很有效,比使用<插入>更好。 - AndreDuarte
1
这是我在Win10上唯一可用的键盘方法。插入键(以各种组合方式)无效。快速编辑已启用。 - isherwood

9

在Windows系统中,完成此设置后,您可以使用ctrl + shift + v(适用于Windows)。

在此输入图片描述


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接