Using VIM keys in shell (zsh or bash)

Solution 1:

As for the bash part in the title: You can put bash into vi mode by calling set -o vi (e.g. put that into your .bashrc). To bind functions to specific keys you have to use bind in bash. See help bind to list the available functions and examples of how to call it.

"Change inner word" is not in vi, but vim, so it is not available.

Solution 2:

I know my answer is really late but if people are still searching for the same thing

For commands like ciw and commands from surround.vim use this zsh plugin https://github.com/hchbaw/opp.zsh

For visual mode use this zsh plugin http://bazaar.launchpad.net/~raybuntu/%2Bjunk/ZSH_stuff/annotate/head%3A/zle_vi_visual.zsh

Source them in your .zshrc to enable them

Solution 3:

In bash pressing v (in command mode) opens vi(m) with the current content of the command line. You can now edit the line, using every feature of vi(m), and after quitting the line will be automatically executed.

Take a look at this article for a good introduction and a cheat sheet of vi command line editing mode.