Есть ли способ получить комбинацию клавиш vim в powershell, как в bash или zsh, с помощью команды вроде
set -o vi
Есть ли способ получить комбинацию клавиш vim в powershell, как в bash или zsh, с помощью команды вроде
set -o vi
Ответы:
В эти дни у вас есть несколько вариантов. С консолью по умолчанию вы можете просто запустить Vim в Windows (она может быть уже у вас, если у вас установлен git или другие инструменты). Чтобы сделать интеграцию более удобной, поместите ее в свой профиль PowerShell:
$VIMEXEPATH = "c:\<location>\vim.exe"
Set-Alias vim $VIMEXEPATH
Set-Alias vi $VIMEXEPATH
Я также рекомендовал бы добавить следующее в ваш vimrc
файл, чтобы он выполнял команды оболочки с самой PowerShell.
set shell=powershell
set shellcmdflag=-command
В противном случае единственный ISE, который сейчас поддерживает режим Vi, это PSReadLine, теперь доступный в галерее PS.
Есть замечания по использованию, но вкратце для режима VI вам нужно добавить следующую строку в свой профиль ISE.
Set-PSReadlineOption -EditMode vi
Обратите внимание, что поддержка Vi была добавлена в 1.2, но 1.1 поставлялась с Windows 10. Вам нужно будет использовать параметр -force для обновления версии доставки (также установленной вручную).
Модуль PSReadline обеспечивает это.
Чтобы установить просто не уверен, каковы требования, но я думаю, что по крайней мере Windows 10 для этого метода предусмотрено. Если у вас нет OneGet или вы не уверены, что можете следовать инструкциям на PSReadline
Чтобы установить PSReadline без повышения привилегий
Install-Module PsReadline -Scope CurrentUser
Проверьте, есть ли у вас профиль powershell
Test-Path $PROFILE
Если вы не создаете
New-File -Type File $PROFILE
Откройте $ ПРОФИЛЬ в ISE
ise $PROFILE
Добавить эту строку
Set-PSReadlineOption -EditMode vi
Перезагрузите $ PROFILE или просто перезапустите powershell
& $PROFILE
Я не клянусь, что в Powershell нет недокументированной возможности, которая позволяет это, но, насколько я знаю, ответ - нет. По крайней мере, я никогда не видел ничего в документации Powershell, чтобы предположить, что это возможно.
JR
Как это происходит, вы можете загрузить подсветку синтаксиса PowerShell в VIM. Это то, что я использую для разработки сценариев.
http://www.vim.org/scripts/script.php?script_id=1327
Хотя он не находится в самой оболочке, он удобен для создания более длинных сценариев. У меня есть одно окно в VIM и приглашение PowerShell в другом. Я нахожу это очень удобным .
Движок PowerShell теперь предлагает крючки, чтобы сделать это относительно простым, но я не знаю никого, кто бы это сделал.
Проект PSReadln имеет эргантный режим emacs, хотя он находится в зачаточном состоянии. Добавление режима vi в PSReadln было бы очевидной вещью, но у меня нет времени на это.