On Wed, Mar 01, 2017 at 05:02:32PM -0500, Lfabbro wrote: > > echo $PS1 > \[\033[01;32m\][\u@\h\[\033[01;37m\] \W$(__git_ps1 " > (\033[31m%s\033[37m)")\033[32m]\$\[\033[00m\]
There are some unprotected escape sequences inside the $(...) but I have absolutely no idea what that command substitution is doing, so I can't even guess whether that's relevant. If the command sub actually *outputs* those escape sequences, then you have a problem here. The output of the command sub isn't protected by \[...\] so bash will think that each character actually produces visible screen output. If the command sub emits some mangled stream that contains both escape sequences *and* regular visible output, then there is no viable solution to this problem at all. You will have to rewrite it. > >uname -a > Linux time-travel 4.4.48-1-MANJARO #1 SMP PREEMPT Thu Feb 9 22:17:50 UTC 2017 > x86_64 GNU/Linux > > >infocmp > # Reconstructed via infocmp from file: /usr/share/terminfo/x/xterm-256color > xterm-256color|xterm with 256 colors, > am, bce, ccc, km, mc5i, mir, msgr, npc, xenl, > colors#256, cols#80, it#8, lines#24, pairs#32767, OK, the good news is that you're on a very recent Linux distribution of some kind, so you should be using terminfo and not termcap. Your infocmp command verifies that your system recognizes your $TERM variable, which is also good. I suspect the issue is in that $(git) thing.