Atalhos de teclado do Windows Powershell Vim

Atalhos de teclado do Windows Powershell Vim

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 vimrcarquivo 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

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.

informação relacionada