WT: Paste multiple lines to Windows Terminal without executing

Viewed 2607

In the original PowerShell console it was possible to paste and edit multiline commands before executing it

For example this multiline script:

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

results in the following output

powershell 7 console with multiline paste

Unfortunately, in the Windows Terminal pasting of the same script results in a very different output

enter image description here

Any ideas how to "fix" the multiline pasting in the Windows Terminal?

4 Answers

The solution for me was to just comment out a line in the terminal setting.json with { "command": "paste", "keys": "ctrl+v" }

enter image description here

And then it works - here the expected output

working output

Edit:

After uncommenting the Ctrl+V chord in the settings.json, the paste functionality is ensured by the PSReadLine module (see Get-PSReadLineKeyHandler -Chord ctrl+v) but Ctrl+V will stop to work in other shells - use Shift+Ctr+V instead

Also pasting with right click will run each line right away. Also control-v makes it easier to paste unicode characters (at least in cmd/powershell console). Note that control-v gets remapped with psreadline's emacs edit mode option.

I know it is not ideal you can convert linebreaks to semicolons

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

Online converter here.

Just tick the check box for highlighted setting

enter image description here

Related