
Existe uma maneira de obter atalhos de teclado do vim no powershell como você faria no bash ou zsh com um comando como
set -o vi
Responder1
Hoje em dia você tem algumas opções. Com o console padrão, você pode simplesmente executar o Vim no Windows (talvez você já o tenha se tiver o git ou outras ferramentas instaladas). Para tornar a integração mais perfeita, coloque isto em seu perfil do PowerShell:
$VIMEXEPATH = "c:\<location>\vim.exe"
Set-Alias vim $VIMEXEPATH
Set-Alias vi $VIMEXEPATH
Eu também recomendo adicionar o seguinte ao seu vimrc
arquivo para que ele execute comandos shell com o próprio PowerShell.
set shell=powershell
set shellcmdflag=-command
Caso contrário, o único ISE que suporta o modo Vi no momento éPSReadLineagora disponível noGaleria PS
Hánotas de usomas, resumindo, para o modo VI, você precisa adicionar a seguinte linha ao seu perfil ISE.
Set-PSReadlineOption -EditMode vi
Observe que o suporte Vi foi adicionado em 1.2, mas 1.1 fornecido com o Windows 10. Você precisará usar o parâmetro -force para atualizar a versão de envio (também conhecida como instalada manualmente).
Responder2
O módulo PSReadline fornece isso.
Para instalar é simples, não tenho certeza de quais são os requisitos, mas acho que pelo menos o Windows 10 para este método é fornecido. Se você não tem o OneGet ou não tem certeza, pode seguir as instruções emPSReadline
Para instalar o PSReadline sem elevar privilégios
Install-Module PsReadline -Scope CurrentUser
Verifique se você tem um perfil do PowerShell
Test-Path $PROFILE
Se você não criar um
New-Item -Type File $PROFILE
Abra $PROFILE no ISE
ise $PROFILE
Adicione esta linha
Set-PSReadlineOption -EditMode vi
Recarregue $PROFILE ou apenas reinicie o PowerShell
& $PROFILE
Responder3
Eu não juraria que não existe um recurso não documentado do Powershell que permita isso, mas até onde eu sei a resposta é não. Pelo menos nunca vi nada na documentação do Powershell que sugerisse que isso fosse possível.
Jr.
Responder4
O mecanismo PowerShell agora oferece os ganchos para tornar isso relativamente simples, mas não conheço ninguém que tenha feito isso ainda.
O projeto PSReadln possui um modo emacs emergente, embora esteja em sua infância. Adicionar um modo vi no PSReadln seria a coisa óbvia a fazer, mas não tenho tempo para me dedicar a isso.