Hi, I'm trying to have my cursor change within Bash depending on the vi mode I'm in. To accomplish this I've used: > vi-ins-mode-string = "\1\e[6 q\2" and a corresponding vi-cmd-mode-string in .inputrc, which has indeed worked.
However when using the tmux terminal multiplexer it fails to work, with similar behaviour in vim. >From reading online it appears one must wrap such escape sequences inside a tmux escape sequence to pass it through > \ePtmux;\e ..... \e\\ where ..... represents the escape sequence to be passed. Using this method does indeed fix vim, and it does indeed in Bash too, which suggests something is happening. However a new issue arises, when scrolling up in the bash history, some characters become "stuck" and remain displayed despite the actual text not being there any longer. This behaviour seems to be well known, and is usually resolved by correctly escaping out zero-width characters in one's PS1 prompt with \[ and \]. Unfortunately I've had no such luck using this technique within my .inputrc , which leads me to my question: Is escaping these zero-width characters done differently within .inputrc? I've asked on tmux's bug reporting system to find out more information on this wrapper sequence(https://github.com/tmux/tmux/issues/1684), however since it appears to be working I suspect it's just an issue of correctly escaping the vi-cmd-mode-string once it's passed through(? I'm not exactly sure of this mechanism) to the prompt. Thanks, Joshua