在小于全屏的终端窗口中,如果我输入一个长命令,它会开始覆盖我所在的当前行。如果我再输入一行,它最终会移动到下一行。有人知道如何解决这个问题吗?
从视觉上看,这是这样的:
编辑:这些是我的提示设置:
PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\033[1m`__git_ps1`\033[0m\$ '
TERM=xterm
.bashrc
:
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\033[1m`__git_ps1`\033[0m\$ '
fi
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac
答案1
由于某种原因,终端尺寸报告有误。调整终端尺寸时应该会改变。
在你的 .bashrc 命令文件中尝试这个:
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
答案2
我找到了答案这里。得票最多的答案帮我解决了这个问题。
总而言之,我必须将格式包装起来\[ \]
export PS1='\[\033[1;32m\]$(whoami)@$(hostname): \[\033[0;37m\]$(pwd)$ \[\033[0m\]'