Ссылки на клавиши Windows Powershell Vim

Ответы:

11

В эти дни у вас есть несколько вариантов. С консолью по умолчанию вы можете просто запустить 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 для обновления версии доставки (также установленной вручную).

закон
источник
1
Поддержка режима vi была добавлена ​​через PsReadline в PowerShell 5. См. Ответ @strings ниже ...
Лукас,
Есть ли способ изменить курсор, чтобы вы могли видеть, находитесь ли вы в нормальном режиме или в режиме вставки?
Bradgonesurfing
Я так не думаю, однако другая бета-версия для версии 2 вышла на прошлой неделе. Так что вы можете попробовать это, и если его там нет, я бы попросил сопровождающих, чтобы он мотивировал их поддержать его (и продолжить разработку в целом)
Lex
9

Модуль 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
строки
источник
1
Это файл нового типа
Алекс
1

Я не клянусь, что в Powershell нет недокументированной возможности, которая позволяет это, но, насколько я знаю, ответ - нет. По крайней мере, я никогда не видел ничего в документации Powershell, чтобы предположить, что это возможно.

JR

Джон Ренни
источник
0

Как это происходит, вы можете загрузить подсветку синтаксиса PowerShell в VIM. Это то, что я использую для разработки сценариев.

http://www.vim.org/scripts/script.php?script_id=1327

Хотя он не находится в самой оболочке, он удобен для создания более длинных сценариев. У меня есть одно окно в VIM и приглашение PowerShell в другом. Я нахожу это очень удобным .

sysadmin1138
источник
0

Движок PowerShell теперь предлагает крючки, чтобы сделать это относительно простым, но я не знаю никого, кто бы это сделал.

Проект PSReadln имеет эргантный режим emacs, хотя он находится в зачаточном состоянии. Добавление режима vi в PSReadln было бы очевидной вещью, но у меня нет времени на это.

user253235
источник