¿Hay alguna manera de obtener combinaciones de teclas vim en powershell como lo haría en bash o zsh con un comando como
set -o vi
¿Hay alguna manera de obtener combinaciones de teclas vim en powershell como lo haría en bash o zsh con un comando como
set -o vi
Respuestas:
En estos días tienes un par de opciones. Con la consola predeterminada, solo puede ejecutar Vim en Windows (es posible que ya lo tenga si tiene instalado git u otras herramientas). Para que la integración sea más fluida, coloque esto en su perfil de PowerShell:
$VIMEXEPATH = "c:\<location>\vim.exe"
Set-Alias vim $VIMEXEPATH
Set-Alias vi $VIMEXEPATH
También recomendaría agregar lo siguiente a su vimrc
archivo para que ejecute comandos de shell con PowerShell.
set shell=powershell
set shellcmdflag=-command
De lo contrario, el único ISE que admite un modo Vi en este momento es PSReadLine ahora disponible en la Galería PS
Hay notas de uso, pero en resumen para el modo VI, debe agregar la siguiente línea a su perfil ISE.
Set-PSReadlineOption -EditMode vi
Tenga en cuenta que la compatibilidad con Vi se agregó en 1.2 pero 1.1 se envió con Windows 10. Deberá usar el parámetro -force para actualizar la versión de envío (también conocida como instalación manual).
El módulo PSReadline proporciona esto.
La instalación es simple, no estoy seguro de cuáles son los requisitos, pero creo que al menos Windows 10 para este método proporcionado. Si no tiene OneGet o no está seguro, puede seguir las instrucciones en PSReadline
Para instalar PSReadline sin elevar los privilegios
Install-Module PsReadline -Scope CurrentUser
Comprueba que tienes un perfil de PowerShell
Test-Path $PROFILE
Si no creas uno
New-File -Type File $PROFILE
Abrir $ PROFILE en ISE
ise $PROFILE
Agrega esta línea
Set-PSReadlineOption -EditMode vi
Recargue $ PROFILE o simplemente reinicie powershell
& $PROFILE
No juraría que no hay una característica indocumentada de Powershell que permita esto, pero que yo sepa, la respuesta es no. Al menos nunca he visto nada en la documentación de Powershell que sugiera que sea posible.
JR
De hecho, puede cargar el resaltado de sintaxis de PowerShell en VIM. Es lo que uso para el desarrollo de scripts.
http://www.vim.org/scripts/script.php?script_id=1327
Si bien no está en el shell en sí, es útil para construir scripts más largos. Tengo una ventana en VIM y tengo un mensaje de PowerShell en otra. Me resulta muy útil .
El motor powershell ahora ofrece los ganchos para hacer esto relativamente sencillo, pero no conozco a nadie que lo haya hecho todavía.
El proyecto PSReadln tiene un modo emergente de emacs, aunque está en pañales. Agregar un modo vi en PSReadln sería lo más obvio, pero no tengo tiempo para dedicarlo.