Is there a way to get vim keybindings in powershell as you would in bash or zsh with a command like
set -o vi
Is there a way to get vim keybindings in powershell as you would in bash or zsh with a command like
set -o vi
PSReadline module provides this.
To install is simple not sure what the requirements are but I think at least windows 10 for this method provided. If you dont have OneGet or not sure you can follow the instructions at PSReadline
To install PSReadline without elevating privileges
Check you have a powershell profile
If you dont create one
Open $PROFILE in ISE
Add this line
Reload $PROFILE or just restart powershell
These days you have a couple of options. With the default console you can just run Vim on Windows (you might already have it if you have git or other tools installed). To make the integration more seamless place this in your PowerShell profile:
I'd also recommend adding the following to your
vimrc
file so it executes shell commands with PowerShell itself.Otherwise the only ISE that supports a Vi mode right now is PSReadLine now available on the PS Gallery
There are usage notes but in brief for VI mode you need to add the following line to your ISE profile.
Note that Vi support was added in 1.2 but 1.1 shipped with Windows 10. You will need to use the -force parameter to update shipping (aka manually installed) version.
I wouldn't swear that there isn't an undocumented feature of Powershell that allows this, but as far as I know the answer is no. At least I have never seen anything in Powershell documentation to suggest it's possible.
JR
As it happens, you can load PowerShell syntax-highlighting into VIM. It's what I use for script development.
http://www.vim.org/scripts/script.php?script_id=1327
While it isn't in the shell itself, it's handy for building longer scripts. I have one window in VIM, and have a PowerShell prompt in another. I find it very handy.
The powershell engine now offers the hooks to make this relatively straightforward but I don't know of anyone who has done it yet.
The PSReadln project has an emergant emacs mode, though it is in its infancy. Adding a vi mode in PSReadln would be the obvious thing to do but I don't have time to devote to it.