9
1
I want to use vim editing keys in my shell (zsh).
With bindkey -v
i get VI keys, but i want visual and more advanced key shortcuts (like change inner word (ciw
), which i use all the time)
btw, is superuser the right forum for this question?
9
1
I want to use vim editing keys in my shell (zsh).
With bindkey -v
i get VI keys, but i want visual and more advanced key shortcuts (like change inner word (ciw
), which i use all the time)
btw, is superuser the right forum for this question?
3
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.
set -o vi
doesn't work for me. I'm on CentOS 5.x. – Christopher Bottoms – 2010-10-12T16:16:37.530
3
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
1
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.
0
I don't see that particular one, but these functions are documented in man zshrle
and some of them may be unbound. Search that file for the string "vi-" to find the available vi functions.
Yes, Super User is a good place for this question. – Troggy – 2010-02-04T13:43:31.117
// , Have you ever ended up getting the
~
key when you pressDelete
? – Nathan Basanese – 2015-11-08T04:47:15.890