
После обновления до 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
снова все заработало.
- Откройте PowerShell как администратор.
- Бегать
install-module -name powershellget -force
- Перезапустите PowerShell (как администратор)
- Бегать
install-module -name psreadline -allowprerelease -force
- Перезапустите 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
сопоставление.