WT:将多行粘贴到 Windows 终端而不执行

问题描述 投票:0回答:5

在原始 PowerShell 控制台中,可以在执行之前粘贴和编辑多行命令

例如这个多行脚本:

Write-Host "===== 1 ====="
Write-Host "===== 2 ====="
Write-Host "===== 3 ====="
Write-Host "===== 4 ====="

产生以下输出

powershell 7 console with multiline paste

不幸的是,在 Windows 终端中粘贴相同的脚本会产生截然不同的输出

enter image description here

有什么想法可以“修复”Windows 终端中的多行粘贴吗?

paste multiline windows-terminal
5个回答
15
投票

我的解决方案是在终端 setting.json 中用 { "command": "paste", "keys": "ctrl+v" }

注释掉一行

enter image description here

然后它就起作用了 - 这里是预期的输出

working output

编辑:

在 settings.json 中取消注释 Ctrl+V 和弦后,PSReadLine 模块可确保粘贴功能(请参阅Get-PSReadLineKeyHandler -Chord ctrl+v),但 Ctrl+V 将停止在其他 shell 中工作 -使用 Shift+Ctr+V 代替


0
投票

右键单击粘贴将立即运行每一行。 此外,control-v 还可以更轻松地粘贴 unicode 字符(至少在 cmd/powershell 控制台中)。 请注意,control-v 会使用 psreadline 的 emacs 编辑模式选项重新映射。


0
投票
  • 对我来说,只需右键单击即可粘贴。内容(多行)被粘贴到 Powershell 提示符中并等待编辑(不立即执行)。

-4
投票

我知道将换行符转换为分号并不理想

Write-Host "===== 1 =====";Write-Host "===== 2 =====";Write-Host "===== 3 =====";Write-Host "===== 4 ====="

在线转换器这里


-9
投票

只需勾选突出显示设置的复选框即可

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.