ChatGPT解决这个技术问题 Extra ChatGPT

在 Windows 上的 Ubuntu 上复制粘贴到 Bash 中

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

我尝试了以下方法:

ctrl + shift + v

右键粘贴

有什么建议么?

我更新了这个问题,所以你可以理解它。它是关于 Windows 上的新 ubuntu bash。
你的终端是什么?
伙计们,你错过了一些东西:Windows Anniversary 10 Update 集成了一个新的 ubuntu bash,所以请阅读它,然后你就会理解这个问题。我的终端是 WINDOWS 上的 UBUNTU BASH!
这应该重新打开。来自 the Bash on Ubuntu on Windows 'about' page [强调我的]:“Windows 上的 Bash 为开发人员提供了熟悉的 Bash shell 和 Linux 环境......”。
As-of the Windows "Creators Update" 您应该可以通过管道将其复制到剪贴板 clip.exe,例如 echo "Blah blah blah" | clip.exe

H
HoldOffHunger

2019 年 4 月 16 日更新: Windows build >= 17643 现在似乎正式支持复制/粘贴。请查看 Rich Turner's answer。这可以通过下面描述的相同设置菜单启用,方法是单击“使用 Ctrl+Shift+C/V 作为复制/粘贴”旁边的复选框。

另一种解决方案是启用“快速编辑模式”,然后您可以通过右键单击终端进行粘贴。

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

启用此模式后,您还可以通过单击和拖动来复制终端中的文本。做出选择后,您可以按 Enter 键或右键单击进行复制。


我没有意识到右键单击会立即粘贴...我期待看到一个带有选项的上下文菜单弹出。
使用鼠标左键选择文本后,我必须右键单击两次才能粘贴文本。
是的..鼠标点击有效..有没有办法只用键盘(选择和粘贴)来做到这一点?毕竟这就是使用 VIM/UBUNTU/Shell 的意义所在。
所以没有办法用键盘粘贴?
@FelipeAlvarez您只需右键单击一次即可粘贴。第一次右键单击时,您正在复制文本;请更仔细地阅读答案。自从我在 Windows 上的 Ubuntu 上使用 Bash 已经有一段时间了,但没有找到一种方法来启用键盘复制/粘贴。
c
chipit24

要右键单击以粘贴工作:

右键单击标题栏 > 属性

选项选项卡 > 编辑选项 > 启用快速编辑模式

https://i.stack.imgur.com/0r1aZ.png


你能澄清一下什么是插入模式吗?
@alpha_989 插入模式在光标处插入文本(并将后续字符推到右侧),而不是覆盖光标右侧的字符。插入模式是大多数人期望的默认模式。从测试来看,这个设置在 WSL 中似乎没有得到尊重。我没有选中它,但它仍然插入而不是覆盖。
G
Glorfindel

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

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

https://i.stack.imgur.com/rVeTm.png

blogs.msdn.microsoft.com/ 中引用


2018 在这里,在生产中看不到这个(来自应用商店的带有 ubuntu 的完整 Windows 10)。叹。
您如何知道您使用的是什么 Windows 版本?我没有看到这个选项。
输入运行/开始,winver @methodsignature
根据上面的博客文章,这首先在 Win10 Insider build 17643 中发布,并将包含在 2018 年秋季更新“即将发布”™ 中;)
@methodsignature 在 Windows 10 (1809) 中发现了此功能。立即尝试更新您的 Windows。
N
Nagev

最后,我们很高兴地宣布,我们终于通过 CTRL + SHIFT + [C|V 实现了 copy and paste support for Linux/WSL instances in Windows Console ]!

如果您发现键盘与命令行应用程序发生冲突,您可以启用/禁用此功能,但是当您安装并运行任何 Win10 版本 >= 17643 时,这应该开始工作。从菜单中选择“属性”以访问以下对话框盒子。

https://i.stack.imgur.com/K6Dsg.png

感谢您在我们重新设计控制台的内部结构以允许此功能工作时的耐心等待 :)


如果我没有看到这个,如何检查我当前的构建版本并强制更新
要查找当前的 Windows 版本,请从运行对话框或命令行运行 winver。要在构建这些功能和其他功能时尽早访问它们,您需要注册 Windows 预览体验计划;此处的详细信息:insider.windows.com/en-us
@NafeezAbrar - 博客文章以“截至 Windows 10 Insider build #17643”开头 - 1803 是 build 17682。此功能将在 build >= 17643 中提供,直到 Windows 10 2018 秋季更新中的一般发布。
@Nafeez Abrar:很高兴听到。感谢您让我们知道 :)
啊,你可以在 Windows Terminal 上选择 Ubuntu。完全错过了,应该是一个答案!
F
Fernando Rodriguez

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

^+v::SendRaw %clipboard%

我尝试将 ^#v 用作 Ctrl+Shift+V,但它不起作用,因为 ^#v 代表 Ctrl+WinKey+V。您应该使用 ^+v,它代表 Ctrl+Shift+V
尽管它需要第三方程序,但无论如何使 Windows 可用似乎是正常的。我认为这是最好的答案,因为它可以让你保留你习惯的键盘快捷键
我之所以使用 +Ins,是因为 ^+v 在某些情况下(例如 nano“跳转到最后一行”)会与已将其用于其他目的的任何程序发生冲突。我还没有找到任何使用 shift+insert 用于不同目的的东西。
对于那些希望它立即粘贴而不是一次粘贴一个字符的人:^+v::SendInput %clipboard%
工作奇怪,将 / 图表替换为 |,因此路径 /a/b/c 变为 |a|b|c
林果皞

右键单击标题栏,选择上下文菜单编辑 -> 粘贴(直到他们修复了控制键快捷键)


这是暂时的一个很好的解决方案,但奇怪的是他们如何在没有最简单的功能的情况下发布它..
直到什么时候?现在是 2018 年 1 月,他们还没有修复控制键快捷键。这是在创作者更新中。
显然,更新版本的 Windows 10 于 2018 年晚些时候或 2019 年初向公众开放。但更新并没有自动发生。进入“设置”、“Windows 更新”,然后单击“检查更新”。
S
Stuart Brock

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

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

如果您安装 ConEmu,这在 Windows 10 上是可能的,它将终端包装在一个新的 GUI 中并允许 Shf+Ins 进行粘贴。它还允许您调整属性中的行为。

https://i.stack.imgur.com/LDcJp.png

https://i.stack.imgur.com/W9Zm3.png

https://i.stack.imgur.com/pnd6B.png

https://i.stack.imgur.com/VyXqX.png

还允许选项卡式控制台(包括不同的类型,cmd.exepowershell 等)。我从早期的 Windows 7 开始就一直在使用它,在那些日子里,它使 Windows 上的命令行可用!


虽然这个解决方案对于一个真正应该集成到 Windows Bash 中的功能来说是一个相当严厉的解决方案(并且很快就会与 build 17643 一起使用?),它给了我 Shift+Ins 进行粘贴,甚至没有弄乱设置。另外,我很高兴查看该应用程序以了解它提供的其他内容。
感谢您的评论。据我所知,Shf+Ins 在内部版本 17643 中不可用 - 只有 Shf+Ctrl+V。我每天都使用 Shf+Ins,所以不想学习其他按键。
感谢这一点,自从我抛弃 cygwin 转而支持 WSL 以来,我一直在想念我的 shf+Ins。我真的很喜欢这个应用程序,而不仅仅是这样。
mintty 是一个更轻量级的选项,允许使用 shift/ctrl+insert 进行复制和粘贴
I
Ilhicas

就像之前写的一样:

如果您在任务栏快捷方式图标上有它,请右键单击 Windows 图标上的 Ubuntu 上的 Bash

点击属性

在属性窗口中选择选项选项卡

检查 QuickEditMode 选项

单击应用

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

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


J
Jon49

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

export DISPLAY=localhost:0.0

不知道如何从 Vim 复制:-(


DISPLAYvim 或复制粘贴完全无关。
@FelipeAlvarez 显然它对我有用。如果您想出更好的解决方案,请告诉我!
@ Jon49,你能解释一下这是在做什么吗?你把它放在.vimrc 中吗?或在 vim 中,如 :export DISPLAY=localhost:0.0
@alpha_989,进入 Ubuntu 终端。我相信它以某种方式连接了 Ubuntu 和 Windows。有一段时间了,所以我不记得所有的细节。
G
Gubatron

此处的替代解决方案,我的 Windows 家庭版 Windows 子系统 Linux 终端没有使用 Shift+Ctrl (C|V) 的属性

https://i.stack.imgur.com/bCJ7D.png

在 Windows 中安装 X-server(如 X-Ming)

sudo apt install

出口显示=:0

启动您的终端应用程序,我使用 xfce4-terminal 和 gnome-terminal 进行了测试

Windows #ubuntu #开发


C
Colin MacKenzie - III

你可能有 bash 但它仍然是一个 Windows 窗口管理器。在 bash 终端窗口中突出显示一些文本。右键单击标题栏,选择“编辑”,选择“复制”,现在再次右键单击标题栏,选择“编辑”,选择“粘贴”,完成。你应该能够高亮文本,点击“Enter”然后控制 V,但这似乎被打破了


您所描述的破碎声音就像您没有在控制台设置中启用快速编辑模式一样
o
ojdo

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

$ echo "Hello World" | clip.exe

让我使用 Ctrl-VHello World 粘贴到其他任何位置。

既然我已经发布了这个,我注意到相关的问题 Pipe from clipboard in linux subsytem for windows 也包括这个以及用于从 Windows 剪贴板粘贴的命令解决方案


o
oldpedro

对于自动热键用户,完整的答案是:

#IfWinActive ahk_class ConsoleWindowClass
^+v::SendInput %clipboard%

在从 Windows 剪贴板粘贴之前,它会检查您是否在控制台(Windows 或 ubuntu)中。


v
verymax

结果很简单。我偶尔会得到它。要粘贴文本,您只需在终端窗口中的任意位置单击鼠标右键。


没有。什么也没做。