Hacker News new | ask | show | jobs
by randomanybody 3847 days ago
have you ever found a solution to make readline change cursor shape depending on mode? not knowing the mode before typing keeps me from turning this on, even though I prefer vi bindings.
2 comments

You can do something similar using the show-mode-in-prompt option:

  show-mode-in-prompt
    If set to `on', add a character to the beginning of the prompt indicating
    the editing mode: emacs (`@'), vi command (`:'), or vi insertion (`+').
    The default value is `off'.
Unfortunately it's currently hardcoded to only use the '+' and ':' chars, and to only display at the beginning of the prompt.

Chet accepted a patch I submitted for custom indicators, and this will be coming in bash 4.4/readline 7.0: http://thread.gmane.org/gmane.comp.shells.bash.bugs/22580/fo...

I have patched versions of bash 4.3/readline 6.3 available on github (the bash page has gifs showing the functionality in action): https://github.com/calid/bash https://github.com/calid/readline

Note that the '\m' escape hasn't been accepted into the mainline yet, so as of now the custom indicators will still only display at the beginning of the prompt in the new versions.

Honestly, I've never looked. Although it seems some terminals can change the cursor shape, it looks like even Vim doesn't bother to try, so I'd be surprised if readline could.

The general solution is to just tap Esc a couple of times to ensure you're in Normal mode and continue from there.