#powershell #vi #psreadline
#powershell #vi #psreadline
Вопрос:
Я обнаружил, что в powershell есть режим vi, однако, похоже, CTRL [ не сопоставлен для экранирования, как в vi и bash. Я добавил настройку в свой профиль следующим образом:
New-Item $profile -Type File -Force
echo "Set-PSReadLineOption -EditMode vi" >> $profile
Я прочитал документы здесь и не нашел ничего, относящегося к моей проблеме. Текущее решение, которое я рассматриваю, — это скрипт AutoHotkey, который переназначает клавиши при наличии окна Powershell. Пожалуйста, дайте мне знать, если кто-нибудь знает более простой способ добиться этого. Я также думаю, что общесистемное изменение с помощью regedit или чего-то подобного не сработало бы, поскольку мне нужно, чтобы CTRL [ нормально функционировал вне окна powershell.
Ответ №1:
Я нашел команду, которая выполняет трюк
Set-PSReadlineKeyHandler -Chord Ctrl [ -Function ViCommandMode
Редактировать: я полагаю, что могу рассказать немного больше о том, как я нашел этот ответ. Запуск этой команды
Get-PSReadLineKeyHandler -Bound -Unbound
выдаст вам список всех доступных сопоставлений, как описано здесь. Я нашел escape, который был привязан к функции ViCommandMode, которую я использовал для создания решения, вставленного выше.