Mail Archives: cygwin/2005/10/19/17:49:18
On Thu, 20 Oct 2005, Robert Bram wrote:
> Hi Igor,
>
> > > > > > > ==
> > > > > > > I am finding that when I exit from vim, it turns my background
> > > > > > > back into black (which is how I had it before I tried changing
> > > > > > > it today). Is there a setting or something I have forgotten to
> > > > > > > change?
> > > > > > > ==
> > > > > > > Actually this is happenning not just after vim.. but even after
> > > > > > > I exit "less"!
> > > > > >
> > > > > > Works for me. Did you close the console window and re-open one after
> > > > > > changing the colors? Before doing this, the console colors are known
> > > > > > to be scrambled as you describe above.
> > > > >
> > > > > Yes I closed and re-opened the console and the problem recurs. :-/
> > > >
> > > > vim (and less, since you seem to have the same problem there) use
> > > > something called an "alternate screen". This is a feature of the terminal
> > > > that allows the program to make arbitrary modifications to the terminal
> > > > screen that will be undone when the program switches back to the main
> > > > screen. In particular, any color changes will be undone. Consequently,
> > > > if you wish to change the color of the main screen, don't do this while
> > > > running vim or less.
> > > > HTH,
> > >
> > > I admit to being somewhat confused by your remark - I didn't change the
> > > screen while running vim or less. I edited the properties of the console
> > > so that it would affect all consoles with the same name, changed the PS1
> > > environment variable in my .bash_profile, closed the console, re-opened
> > > it, ran vim and/or less, exited vim and/or less and then found the
> > > console colors changed. Have I misunderstood your point?
> > >
> > > Interestingly, I find that I can keep pressing ENTER and 'clear' the
> > > screen back to how it was, but this is an ugly solution.
> >
> > What is the value of your PS1 variable? Does it, perhaps, contain the
> > code at the end that resets the background? That was the only way I could
> > reproduce the behavior you report on my machine.
>
> My PS1 variable is:
> \e[47m\n\s\v User \u on host \h in dir \w\n\d \@>\e[0;30m
>
> bash2.05b User rbram on host cml035835 in dir /cygdrive/c/eTech/eForms2
> Thu Oct 20 07:16 AM> echo $PS1
> \e[47m\n\s\v User \u on host \h in dir \w\n\d \@>\e[0;30m
Note that the end of your PS1 resets the color to "black background"...
Removing that '\e[0;30m' should fix your problem, unless you want your
window background to be something other than grey, in which case you'll
have to put in a background change to whatever your window background is.
FWIW, you might also want to put \[ and \] around the non-printable
characters in PS1, to help bash calculate the prompt length better, e.g.,
export PS1='\[\e[47m\]\n\s\v User \u on host \h in dir \w\n\d \@>'
HTH,
Igor
--
http://cs.nyu.edu/~pechtcha/
|\ _,,,---,,_ pechtcha AT cs DOT nyu DOT edu
ZZZzz /,`.-'`' -. ;-;;,_ igor AT watson DOT ibm DOT com
|,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski, Ph.D.
'---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow!
If there's any real truth it's that the entire multidimensional infinity
of the Universe is almost certainly being run by a bunch of maniacs. /DA
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -