Shift+Пробел не работает в Powershell

Shift+Пробел не работает в Powershell

После обновления до Windows 10 v1809 нажатие Shift+Spaceбольше не отправляет пробел в Powershell v5. Если я использую старую станцию ​​Windows 10 (v1709), Shift+Spaceотправляет пробел.

Например, я привык нажимать следующую последовательность клавиш:

g, c, i, Shift+Space, |.

В версии 1803 это приведет к результату gci |. В версии 1809 результатом будет gci|.

Эта комбинация клавиш конфликтует с чем-то недавно представленным? Проблема воспроизводится на нескольких станциях. Если я работаю в текстовом редакторе, проблема не возникает. Запуск PS с помощью -NoProfileне оказывает никакого влияния.

Кроме того, это повлияло только на мою установку PS 5.1. В моей установке PS Core 6.0.2 Shift+Spaceвсе еще отправляет пробел.

решение1

Похоже, вам нужно обновить модуль PowerShellGetи PSReadLineприложение, чтобы shift+spaceснова все заработало.

  1. Откройте PowerShell как администратор.
  2. Бегатьinstall-module -name powershellget -force
  3. Перезапустите PowerShell (как администратор)
  4. Бегатьinstall-module -name psreadline -allowprerelease -force
  5. Перезапустите PowerShell еще раз.

Это должно сработать и снова заработать.

Источник:https://www.reddit.com/r/sysadmin/comments/9n9mh0/powershell_51_shiftspace_problem/

решение2

Похоже, это снова "сломано" в PowerShell 5.1.x. То есть, Get-PSReadLineKeyHandlerне отображается сопоставление, связанное с Shift+Spacebar, а нажатие shift+space не имеет никакого эффекта.

Явное включение этой функции Set-PSReadLineKeyHandler -Chord Shift+Spacebar -Function SelfInsertустраняет проблему (нажатие сочетания клавиш Shift+Пробел вставляет символ пробела), но сопоставление не будет отображаться в Get-PSReadLineKeyHandlerсписке как есть, а будет отображаться как простое Spaceсопоставление.

Связанный контент