在Windows上的Ubuntu上以Bash复制粘贴


184

如何在Windows环境下的Ubuntu上执行从Windows 10到Bash的复制粘贴操作?

我尝试了以下方法:

  • ctrl+ shift+v
  • 右键单击粘贴

有什么建议?


3
我更新了问题,以便您可以理解..这是关于Windows上新的ubuntu bash的问题。
Ghassan Zein

1
您的终端是什么?
格伦·杰克曼

9
伙计们,您丢失了一些东西:Windows Anniversary 10 Update集成了一个新的ubuntu bash,因此,请仔细阅读该内容,然后您将理解该问题。我的终端是WINDOWS上的UBUNTU BASH!
Ghassan Zein

3
这应该重新打开。从Windows上的Ubuntu上的Bash“关于”页面上 [强调我的]:“ Windows上的Bash为开发人员提供了熟悉的Bash Shell和Linux环境……”。
肯尼·埃维特

1
从Windows“创建者更新”开始,您应该可以通过管道复制到剪贴板clip.exe,例如echo "Blah blah blah" | clip.exe
肯尼·埃维特

Answers:


162

更新2019/04/16: Windows build> = 17643现在似乎正式支持复制/粘贴。请看Rich Turner的答案。可以通过以下描述的相同设置菜单启用此功能,方法是单击“使用Ctrl + Shift + C / V作为复制/粘贴”旁边的复选框。


另一个解决方案是启用“快速编辑模式”,然后可以通过在终端上单击鼠标右键来粘贴。

要启用快速编辑模式,请在工具栏上单击鼠标右键(或直接单击左上角的图标),选择“属性”,然后在“选项”选项卡中,单击“快速编辑模式”旁边的复选框。

启用此模式后,您还可以通过单击并拖动在终端中复制文本。选择后,可以按Enter或单击鼠标右键进行复制。


1
我没有意识到右键单击可立即进行粘贴...我希望看到弹出的带有选项的菜单。
RSmithlal

2
使用鼠标左键选择文本后,我必须右键单击两次以粘贴文本。
费利佩·阿尔瓦雷斯

4
是的..鼠标单击有效。.是否可以仅使用键盘(选择和粘贴)来执行此操作?毕竟这是使用VIM / UBUNTU / Shell的要点。
alpha_989

5
所以没有办法用键盘粘贴吗?
qwertzguy

2
@FelipeAlvarez只需右键单击一次即可粘贴。第一次单击右键,您正在复制文本。请更仔细地阅读答案。自从我在Windows的Ubuntu上使用Bash以来已经有一段时间了,但是没有找到一种使用键盘启用复制/粘贴的方法。
chipit24

49

右键单击以粘贴即可工作:

  • 右键单击标题栏>属性
  • 选项选项卡>编辑选项>启用 QuickEdit Mode

在此处输入图片说明


1
您能说明什么是插入模式吗?
alpha_989

1
@ alpha_989插入模式在光标处插入文本(并将后面的字符向右推),而不是覆盖光标右边的字符。插入模式是大多数人期望的默认模式。从测试来看,WSL似乎不尊重此设置。我没有选中它,但它仍然插入而不是覆盖。
jaredlt

30

好的,它终于开发完成了,现在您可以使用Ctrl+ Shift+ C/ V从Windows 10 Insider build#17643开始复制/粘贴。

您需要在控制台“选项”属性页面中启用“使用Ctrl + Shift + C / V作为复制/粘贴”选项:

在此处输入图片说明

blogs.msdn.microsoft.com/中引用


5
这里是2018年,请不要在生产中看到它(来自App Store的带有ubuntu的完整Windows 10)叹。
methodsignature

您如何知道您所使用的Windows版本?我看不到这个选项。
托德·弗里德

2
键入运行/开始,winver@methodsignature
αғsнιη

1
根据上面的博客文章,此产品首先在Win10 Insider内部版本17643中发布,并将包含在2018年秋季更新“ soon”™中;)
Rich Turner

1
@methodsignature在Windows 10(1809)中找到此功能。尝试立即更新您的Windows。
Nafeez Abrar

19

最后,我们很高兴地宣布,我们已通过+ + [ | | 最终在Windows控制台中实现了对Linux / WSL实例的复制和粘贴支持。]!CTRLSHIFTCV

如果发现与命令行应用程序发生键盘冲突,可以启用/禁用此功能,但是当您安装并运行任何Win10内部版本> = 17643时,该功能应该可以开始工作。

新的控制台属性显示CTRL + SHIFT + C / V选项

感谢您的耐心配合,我们重新设计了Console的内部结构,以使此功能有效:)


1
如果我看不到当前版本,如何检查我的当前版本并强制进行更新
Jacob Goulden

2
要查找当前的Windows版本,请winver从运行对话框或命令行运行。要在构建这些功能和其他功能时尽早使用它们,您需要注册Windows Insider计划;此处的详细信息:insider.windows.com/en-us
Rich Turner

@RichTurner对此表示感谢-我知道该功能已经存在,但是发现很难看到附加的最低版本号。看来我需要升级才能访问:)
伊恩·克拉克

1
@NafeezAbrar-博客文章开头为“自Windows 10 Insider内部版本#17643起”-1803年内部版本为17682。此功能将以大于等于17643的内部版本提供,从而导致Windows 10 Fall 2018 Update正式发布。
Rich Turner

1
@Nafeez Abrar:很好听。感谢您告知我们:)
Rich Turner

17

您可以使用AutoHotkey(第三方应用程序),下面的命令适用于纯字母数字文本,但是=^"%#!在控制台中某些其他字符如bash或cmd会被错误键入。(在任何非控制台窗口中,此命令对所有字符均适用。)

^+v::SendRaw %clipboard%

我尝试使用^#vas Ctrl+Shift+V,但是因为^#v 代表,所以没有用Ctrl+WinKey+V。您应该使用^+v,它代表Ctrl+Shift+V
用户

尽管它需要第三方程序,但无论如何要使Windows可用似乎很正常。我认为这是最好的答案,因为它可以让您保留惯用的键盘快捷键
Erin Drummond

1
我正在使用,+Ins因为^+v在某些情况下(例如nano“跳转到最后一行”)会与已经将其用于其他目的的任何程序相冲突。我还没有找到使用shift + insert用于其他目的的任何东西。
chx

6
对于那些希望立即粘贴而不是一次粘贴一个字符的用户:^+v::SendInput %clipboard%
Jeremy Bernier

工作奇怪,替换/图表以|使路径/a/b/c变成|a|b|c
Doctor Coder

12

从标题栏的上下文菜单中编辑/粘贴(直到它们修复控制键快捷键)


1
这是临时的一个很好的解决方案,但奇怪的他们是如何释放它没有简单的特点..
加桑·赛因

2
直到什么时候?这是2018年1月,他们尚未修复控制键快捷方式。这是在创作者更新中。
Paul Vixie

显然,较新版本的Windows 10于2018年晚些时候或2019年初向公众开放。但是更新不是自动进行的。进入“设置”,“ Windows Update”,然后单击“检查更新”。
MarkHu

10

就像以前写过的一样:

  • 如果您在任务栏快捷方式图标上有右键单击Windows图标上的Ubuntu上的Bash
  • 点击属性
  • 在“属性”窗口上选择“选项”选项卡
  • 检查QuickEditMode选项
  • 点击应用

现在您可以打开一个新的Bash终端,只需使用右键单击即可粘贴

为了能够从终端复制,只需使用CTRL + M,这将使您能够选择和复制选定的文本。


9

正如其他人所说,现在有一个选择 Ctrl+Shf+V Windows 10 Insider build#17643中用于粘贴。

不幸的是,这不在我的肌肉记忆中,作为TTY终端的用户,我想使用 Shf+Ins在连接到的所有Linux机器上它。

如果安装了ConEmu,它将在新的GUI中包装终端,并允许Shf+Ins粘贴,。它还允许您调整属性中的行为。

控制台看起来像这样:ConEmu控制台

复制选项:ConEmu复制属性

粘贴选项:ConEmu粘贴属性

Shf+Ins开箱即用。我不记得是否需要将bash配置为它使用的shell之一,但是如果这样做,可以在此处添加它的任务属性:ConEmu Bash任务属性

还允许标签控制台(包括不同类型,cmd.exepowershell等等)。自Windows 7早期以来,我一直在使用此工具,在那些日子里,它使Windows上的命令行可用!


2
尽管此解决方案对于确实应集成到Windows Bash中的功能来说是个繁重的解决方案(并将很快与build 17643集成在一起),但它为我Shift+Ins提供了粘贴功能,甚至没有弄乱设置。另外,我很高兴能查看该应用程序的其他功能。
Craig Silver

感谢您的评论。据我所知Shf+Ins,它将无法在版本17643中使用-Just Shf+Ctrl+V。我Shf+Ins每天都用,所以不想学习其他按键。
Stuart Brock

1
为此,自从我放弃cygwin来支持WSL以来,我一直都缺少shf + Ins。我真的很喜欢此应用程序,不仅限于此。
low351

4

要在终端中粘贴到Vim(Windows上ubuntu上的bash):

export DISPLAY=localhost:0.0

不确定如何从Vim复制:-(


1
DISPLAYvim复制或粘贴完全无关。
费利佩·阿尔瓦雷斯

@FelipeAlvarez显然它对我有用。如果您想出更好的解决方案,请告诉我!
Jon49 '17

@ Jon49,您能解释一下这是什么吗?您将此放在.vimrc中吗?或在vim中,例如:export DISPLAY = localhost:0.0
alpha_989

@ alpha_989,进入Ubuntu终端。我相信它可以某种方式连接Ubuntu和Windows。已经有一段时间了,所以我不记得所有的细节了。
Jon49年

3

在这里的替代解决方案,我的Windows Home版本Windows Subsystem Linux终端没有使用Shift + Ctrl(C | V)的属性。

使用实际的Linux终端![在此处输入图片描述] 1

  • 在Windows中安装X服务器(例如X-Ming)
  • sudo apt install <your_favorite_terminal>
  • export DISPLAY=:0
  • 触发您的终端应用程序,我用xfce4-terminal和gnome-terminal测试了

Windows #ubuntu#开发


1

您可能有bash,但它仍然是Windows窗口管理器。在bash终端窗口中高亮显示一些文本。右键单击标题栏,选择“编辑”,选择“复制”,现在再次右键单击标题栏,选择“编辑”,选择“粘贴”,完成。您应该能够显示Highlite文字,按“ Enter”,然后按Control V,但这似乎已损坏


您描述为断音的声音就像您未在控制台设置中启用“快速编辑”模式一样
Steve Goossens

1

对于仅将(可能很长的)文本复制到Windows剪贴板中,我发现仅将输出传递到clip.exe (包括.exe文件扩展名)对我来说很好。所以:

$ echo "Hello World" | clip.exe

我可以Hello World使用Ctrl-V任何其他地方。

现在,我已经发布了此内容,我注意到在Windows的linux子系统中,剪贴板中的管道相关问题包括此问题以及从Windows剪贴板粘贴的命令解决方案


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.