tags:

views:

78

answers:

1

Is there a way to make bash use visual selections for text replacement?

Standard text input conventions don't work:

  1. If you press Shift+Left Arrow, the character to the left should be visually selected
  2. If you press Ctrl+Left Arrow, the cursor should move to the beginning of the previous word
  3. If you press Shift+Ctrl+Left Arrow, the word to the left should be visually selected
  4. If you visually select some text then press any key, the text should be replaced with the text of the key you press

Vi mode (set -o vi) visual selection conventions don't work:

  1. If you enter normal mode, press 'v' to enter visual selection, then press 'h', it should visually select the character to the left
  2. If you enter normal mode, press 'v' to enter visual selection, then press 'B', it should visually select the word to the left
  3. If you visually select some text and then press 'R', it should erase the text and leave you typing the replacement
A: 

When I want to do this in ZSH I use edit-command-line. You can add the following into your .zshrc:

autoload -U edit-command-line
zle -N edit-command-line
bindkey -M vicmd v edit-command-line

Then I can just type v in command mode and it will open up my $EDITOR. You can do the same thing in Bash by just typing v in command mode without any customization.

claytron
It is true that you can type "v" to open up full vim, which enables visual selections just fine, but then you loose bash's contextual autocomplete, which is essential. I wonder if there's a way to configure it so that vim uses it's auto complete commands C-x C-p C-n etc to use bash complete ...
Peter Nore
That would be an awesome plugin! I did a quick search but didn't find anything.
claytron