Чи є спосіб отримати в'язання клавіш 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. Вам потрібно буде використовувати параметр -for для оновлення версії доставки (він же встановлений вручну).
Модуль PSReadline забезпечує це.
Встановити це просто, не впевнений, які вимоги є, але я думаю, що принаймні Windows 10 для цього методу передбачено. Якщо у вас немає OneGet або не впевнені, ви можете слідувати інструкціям на PSReadline
Встановити PSReadline без підвищення привілеїв
Install-Module PsReadline -Scope CurrentUser
Перевірте, чи є у вас профіль захисту
Test-Path $PROFILE
Якщо ви не створюєте його
New-File -Type File $PROFILE
Відкрийте $ PROFILE в ISE
ise $PROFILE
Додайте цей рядок
Set-PSReadlineOption -EditMode vi
Перезавантажте $ PROFILE або просто перезапустіть shellhell
& $PROFILE
Я б не посягав, що немає жодної недокументованої особливості Powershell, яка дозволяє це, але, наскільки я знаю, відповідь - ні. Принаймні, я ніколи не бачив нічого в документації на Powershell, щоб припустити, що це можливо.
JR
Як це відбувається, ви можете завантажити виділення синтаксису PowerShell у VIM. Це те, що я використовую для розробки сценарію.
http://www.vim.org/scripts/script.php?script_id=1327
Хоча це не в самій оболонці, це зручно для створення довших сценаріїв. У мене є одне вікно в VIM, а в іншому - запит PowerShell. Я вважаю це дуже зручним .
Тепер двигун powerhell пропонує гачки, щоб зробити це порівняно просто, але я ще не знаю нікого, хто це зробив.
Проект PSReadln має надзвичайний режим emacs, хоча він перебуває в зародковому стані. Додавання режиму vi в PSReadln було б очевидною справою, але я не маю часу цьому присвячуватись.