Existe-t-il un moyen d'obtenir des raccourcis clavier vim dans PowerShell comme vous le feriez dans Bash ou Zsh avec une commande comme
set -o vi
Existe-t-il un moyen d'obtenir des raccourcis clavier vim dans PowerShell comme vous le feriez dans Bash ou Zsh avec une commande comme
set -o vi
Réponses:
Ces jours-ci, vous avez quelques options. Avec la console par défaut, vous pouvez simplement exécuter Vim sur Windows (vous l'avez peut-être déjà si vous avez installé git ou d'autres outils). Pour rendre l'intégration plus transparente, placez-la dans votre profil PowerShell:
$VIMEXEPATH = "c:\<location>\vim.exe"
Set-Alias vim $VIMEXEPATH
Set-Alias vi $VIMEXEPATH
Je recommanderais également d'ajouter ce qui suit à votre vimrc
fichier pour qu'il exécute les commandes shell avec PowerShell lui-même.
set shell=powershell
set shellcmdflag=-command
Sinon, le seul ISE qui prend en charge un mode Vi en ce moment est PSReadLine maintenant disponible sur la galerie PS
Il existe des notes d'utilisation, mais en bref pour le mode VI, vous devez ajouter la ligne suivante à votre profil ISE.
Set-PSReadlineOption -EditMode vi
Notez que la prise en charge de Vi a été ajoutée dans les versions 1.2 mais 1.1 livrées avec Windows 10. Vous devrez utiliser le paramètre -force pour mettre à jour la version d'expédition (également installée manuellement).
Le module PSReadline fournit cela.
L'installation est simple, je ne sais pas quelles sont les exigences, mais je pense qu'au moins Windows 10 pour cette méthode est fourni. Si vous n'avez pas OneGet ou si vous n'êtes pas sûr de pouvoir suivre les instructions sur PSReadline
Pour installer PSReadline sans augmenter les privilèges
Install-Module PsReadline -Scope CurrentUser
Vérifiez que vous avez un profil PowerShell
Test-Path $PROFILE
Si vous n'en créez pas
New-File -Type File $PROFILE
Ouvrir $ PROFILE dans ISE
ise $PROFILE
Ajoutez cette ligne
Set-PSReadlineOption -EditMode vi
Rechargez $ PROFILE ou redémarrez simplement PowerShell
& $PROFILE
Je ne jurerais pas qu'il n'y a pas de fonctionnalité non documentée de Powershell qui le permette, mais pour autant que je sache, la réponse est non. Au moins, je n'ai jamais rien vu dans la documentation de Powershell suggérant que c'est possible.
JR
En l'occurrence, vous pouvez charger la mise en évidence de la syntaxe PowerShell dans VIM. C'est ce que j'utilise pour le développement de scripts.
http://www.vim.org/scripts/script.php?script_id=1327
Bien qu'il ne soit pas dans le shell lui-même, il est pratique pour créer des scripts plus longs. J'ai une fenêtre dans VIM et une invite PowerShell dans une autre. Je le trouve très pratique .
Le moteur PowerShell offre maintenant les crochets pour rendre cela relativement simple, mais je ne connais personne qui l'ait encore fait.
Le projet PSReadln a un mode emacs émergent, bien qu'il en soit à ses balbutiements. L'ajout d'un mode vi dans PSReadln serait la chose évidente à faire mais je n'ai pas le temps de m'y consacrer.