Клавіатури 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. Вам потрібно буде використовувати параметр -for для оновлення версії доставки (він же встановлений вручну).


1
Підтримка режиму vi була додана через PsReadline в PowerShell 5. Дивіться відповідь @strings нижче ...
Лукас

Чи є спосіб змінити курсор, щоб ви могли бачити, чи перебуваєте ви у звичайному режимі чи вставному режимі?
bradgonesurfing

Я не думаю, що так, проте інша бета версія 2 випущена на другому тижні. Тож ви можете спробувати це, і якщо його немає, я б спробував попросити керівників, які можуть мотивувати їх підтримати (і продовжувати розвиток взагалі)
Lex

9

Модуль 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

1
Це новий -типовий файл -типу
Алекс

1

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

JR


0

Як це відбувається, ви можете завантажити виділення синтаксису PowerShell у VIM. Це те, що я використовую для розробки сценарію.

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

Хоча це не в самій оболонці, це зручно для створення довших сценаріїв. У мене є одне вікно в VIM, а в іншому - запит PowerShell. Я вважаю це дуже зручним .


0

Тепер двигун powerhell пропонує гачки, щоб зробити це порівняно просто, але я ще не знаю нікого, хто це зробив.

Проект PSReadln має надзвичайний режим emacs, хоча він перебуває в зародковому стані. Додавання режиму vi в PSReadln було б очевидною справою, але я не маю часу цьому присвячуватись.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.