Tasti di scelta rapida di Windows Powershell Vim


Risposte:


11

In questi giorni hai un paio di opzioni. Con la console predefinita puoi semplicemente eseguire Vim su Windows (potresti già averlo se hai git o altri strumenti installati). Per rendere l'integrazione più semplice, inseriscilo nel tuo profilo PowerShell:

$VIMEXEPATH    = "c:\<location>\vim.exe"

Set-Alias vim  $VIMEXEPATH
Set-Alias vi   $VIMEXEPATH

Consiglierei anche di aggiungere quanto segue al tuo vimrcfile in modo che esegua i comandi della shell con PowerShell stesso.

set shell=powershell
set shellcmdflag=-command

Altrimenti l'unico ISE che supporta una modalità Vi in questo momento è PSReadLine ora disponibile nella Galleria PS

Ci sono note d'uso ma in breve per la modalità VI è necessario aggiungere la seguente riga al profilo ISE.

Set-PSReadlineOption -EditMode vi

Si noti che il supporto Vi è stato aggiunto in 1.2 ma 1.1 fornito con Windows 10. Sarà necessario utilizzare il parametro -force per aggiornare la versione di spedizione (alias installata manualmente).


1
Il supporto per la modalità vi è stato aggiunto tramite PsReadline in PowerShell 5. Vedi la risposta @strings di seguito ...
Lucas

C'è un modo per far cambiare il cursore in modo da poter vedere se sei in modalità normale o di inserimento?
bradgonesurfing,

Non credo, tuttavia un'altra beta per la versione 2 è stata rilasciata l'altra settimana. Quindi potresti provarlo, e se non fosse lì proverei a chiedere ai manutentori che potrebbero motivarli a sostenerlo (e continuare lo sviluppo in generale)
Lex

9

Il modulo PSReadline fornisce questo.

Installare è semplice, non sono sicuro di quali siano i requisiti, ma penso che almeno Windows 10 per questo metodo fornito. Se non si dispone di OneGet o non si è sicuri di poter seguire le istruzioni su PSReadline

Per installare PSReadline senza elevare i privilegi

Install-Module PsReadline -Scope CurrentUser

Verifica di avere un profilo PowerShell

Test-Path $PROFILE

Se non ne crei uno

New-File -Type File $PROFILE

Apri $ PROFILE in ISE

ise $PROFILE

Aggiungi questa linea

Set-PSReadlineOption -EditMode vi

Ricarica $ PROFILE o riavvia PowerShell

& $PROFILE

1
È un file di tipo New-Item
Alex

1

Non giuro che non esiste una funzionalità non documentata di Powershell che lo consenta, ma per quanto ne so la risposta è no. Almeno non ho mai visto nulla nella documentazione di Powershell per suggerire che è possibile.

JR



0

Il motore PowerShell offre ora i ganci per renderlo relativamente semplice ma non conosco nessuno che lo abbia ancora fatto.

Il progetto PSReadln ha una modalità emacs emergente, sebbene sia agli inizi. Aggiungere una modalità vi in ​​PSReadln sarebbe la cosa ovvia da fare, ma non ho tempo da dedicare ad essa.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.