Windows Powershell Vim Keybindings

Похоже, что VirtualBox работает на Windows, который должен иметь достойную поддержку Linux. Виртуальный ПК, насколько я знаю, не предлагает очень хорошей интеграции Linux.

Если Вы просто ищете регулярный набор инструментов командной строки, Вы могли бы посмотреть на cygwin. Большое совершенство без издержек обслуживания отдельной системы.

17
задан 7 July 2009 в 15:59
5 ответов

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

11
ответ дан 2 December 2019 в 20:31

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

МЛАДШИЙ

1
ответ дан 2 December 2019 в 20:31

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

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

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

0
ответ дан 2 December 2019 в 20:31

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

В проекте PSReadln есть режим Emergant emacs, хотя он находится в зачаточном состоянии. Добавление режима vi в PSReadln было бы очевидным, но у меня нет времени уделять этому внимание.

0
ответ дан 2 December 2019 в 20:31

PSReadline модуль обеспечивает это.

Установить просто не знаю, каковы требования, но я думаю, что для этого метода предусмотрено как минимум windows 10. Если у вас нет OneGet или вы не уверены, что можете следовать инструкциям PSReadline

Для установки PSReadline без поднятия привилегий

Install-Module PsReadline -Scope CurrentUser

Проверьте, есть ли у вас профиль powershell

Test-Path $PROFILE

Если вы не создали один

New-File -Type File $PROFILE

Open $PROFILE in ISE

ise $PROFILE

Добавьте эту строку

Set-PSReadlineOption -EditMode vi

Перезагрузите $PROFILE или просто перезапустите powershell

& $PROFILE
9
ответ дан 2 December 2019 в 20:31

Теги

Похожие вопросы