4

I use vi command-line editing (set editing-mode vi in ~/.inputrc) in Bash shells.

However, I find it frustrating, that I cannot see whether vi command-line editing is currently in command or input mode.

Is there someway to display the current mode of vi command-line editing in Bash or tmux?

4
  • 1
    Try show-mode-in-prompt on ... see related Spurious @ symbol at start of bash prompt in Debian Jessie Commented Aug 2, 2019 at 7:47
  • @steeldriver - thank you. Do you know if I can set this option using shopt? Indeed, I can enable vi command-line editing using shopt. Commented Aug 2, 2019 at 8:42
  • TBH I don't know - aside from setting it via one of the inputrc files, the only way I know of is using the shell's bind built-in (bind 'set show-mode-in-prompt on') Commented Aug 2, 2019 at 8:59
  • @steeldriver - also, do you know if all vi key-bindings apply to this vi mode? or where can I lookup the actual set of bindings? Commented Aug 2, 2019 at 9:01

2 Answers 2

4

You can add set show-mode-in-prompt on to the readline configuration (~/.inputrc or /etc/inputrc)

If you want to toggle it directly in the shell you can do so via the bind built-in command:

bind 'set show-mode-in-prompt on'

bind 'set show-mode-in-prompt off'

See the related Spurious @ symbol at start of bash prompt in Debian Jessie

4

You can set the cursor style to reflect the mode by setting these in your .inputrc:

set editing-mode vi
set show-mode-in-prompt on
set vi-ins-mode-string \1\e[6 q\2
set vi-cmd-mode-string \1\e[2 q\2

# optionally:
# switch to block cursor before executing a command
set keymap vi-insert
RETURN: "\e\n"

This will give you a beam cursor in insert mode or a block cursor for normal mode.

For more see https://stackoverflow.com/a/42107711/52817

2
  • Thanks. What is a block cursor? Also, do you know if show-mode-in-prompt isn't available for Bash in macOS (can only get it to work on Debian). Commented Aug 3, 2019 at 10:08
  • Yes, on mac you need to update bash via homebrew first. block cursor is a rectangle instead of the beam. Commented Aug 3, 2019 at 11:28

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.