In a terminal window any smaller than fullscreen, if I type in a long command it starts overwriting the current line I'm on. If I type an additional line's worth, it finally moves to the next line. Does anyone know how to fix this?

This is what happens visually:

enter image description here

Edit: These are my prompt settings:
PS1: [\e]0;\u@\h: \w\a]${debian_chroot:+($debian_chroot)}\u@\h:\w\033[1m`__git_ps1`\033[0m\$
TERM: xterm

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\033[1m`__git_ps1`\033[0m\$ '

# If this is an xterm set the title to user@host:dir
case "$TERM" in
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"

For some reason the terminal size is mis-reporting. It should change when you resize the terminal.

Try this in your .bashrc command file:

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
  • It looks like this was already in my .bashrc file. Running shopt shows that checkwinsize is on. – thebaer Aug 4 '12 at 19:48
  • Hmm, what are the values of LINES and COLUMNS when the text is messed up? – Julian Knight Aug 7 '12 at 20:56
  • LINES is 24, COLUMNS is 80. Resizing the window does change these values, but the text is still messed up. – thebaer Aug 8 '12 at 15:39
  • Ah. OK, I suspect the setting for the PROMPT now. Can you post the values of PS1 and TERM. In fact, post the line defining PS1 in .bashrc – Julian Knight Aug 8 '12 at 20:41
  • I updated the question with these answers. – thebaer Aug 10 '12 at 15:43

I found the answer here. The answer with the most votes solved it for me.

To sum it up I had to wrap my formats in \[ \]
export PS1='\[\033[1;32m\]$(whoami)@$(hostname): \[\033[0;37m\]$(pwd)$ \[\033[0m\]'


For those using PuTTY terminal (v0.67) and terminal size is not updated correctly. You can do right click on the window's left hand icon, select Change Setting... Witin PuTTY Reconfiguration, from left hand sidebar, click on Window > Set the size of the window > Columns. Update the Column value manually, I changed mine to 255 and that stop terminal overwriting on its own line (when I type).enter image description here

enter image description here

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.