2010-01-08 207 views
28

我正在使用PuTTY登录到Debian服务器。我有这个奇怪的问题,当我打字的命令太长时,它不会环绕并开始新的一行。而是从相同的行开始,并开始覆盖提示,然后覆盖命令的开头。当命令变得太长时,命令行会覆盖自身

该命令将运行得很好,但它真的很烦人,我假设有一些设置可以解决这个问题吗?

+0

向下还原(未最大化)窗口和最大化再次 工作得很好 – Morgtician 2017-01-30 13:25:00

回答

9

我已经在调整Putty窗口的大小时看到这种行为,而另一个命令正在运行,因为bash没有收到告诉窗口已调整大小的信号。

如果这是添加的问题:

shopt -s checkwinsize 

应该让它消失。

-2

与腻子没什么关系,它是一个“bash”主义。

它,一旦你习惯了,但如果你烦恼,你可以切换到该做一些不同的东西,长的命令行“的ksh”相当有用的(不知道在Debian!)

+1

没有,不在腻子中,通常它包装命令。它的另一件事,有时会发生。 – Frunsi 2010-01-08 01:36:45

+0

Readline(Bash用于交互式行编辑)确实有一个“横向滚动模式”选项,但它并不完全符合OP报告的症状。 – ephemient 2010-01-08 23:07:58

7

尝试:

eval $(resize) 

+0

谢谢!这工作!但为什么这个命令有效? – user15964 2013-11-11 13:42:16

+0

它在PUTTY上工作。我将Ubuntu 12.04与putty连接起来。谢谢。 – svlzx 2014-01-22 11:14:32

+0

这只适用于我手动输入的时候,当我把它放在.bashrc里面时它不起作用,有什么想法吗?谢谢。 – 2015-08-27 08:57:27

7

尝试按下Ctrl键+大号。 (也许Alt键 + 大号 - 东西 + 大号反正)如果我没有记错的话这重新运行代码来找出你的终端规模,并相应调整。

+2

这对我有用。 'Ctrl + L' – bdwakefield 2015-02-17 02:16:21

+0

这里是bash的参考,如果你感兴趣的话,Ctrl + l会清除屏幕。 https://www.gnu.org/software/bash/manual/html_node/Commands-For-Moving.html – 2016-05-27 16:33:44

57

我刚刚解决了这个问题。

这只是在PS1命令提示符一些颜色逃逸:

LTGREEN="\033[40;1;32m" 
LTBLUE="\033[40;1;34m" 
CLEAR="\033[0m" 
LIGHT_GRAY="\033[40;1;33m" 
export PS1="$LTGREEN\[email protected]\h:$LIGHT_GRAY\w$CLEAR ❯ " 

的问题是,彩色文本没有用括号括起来。放置在他们周围的转义括号可以完全解决问题:

LTGREEN="\[\033[40;1;32m\]" 
LTBLUE="\[\033[40;1;34m\]" 
CLEAR="\[\033[0m\]" 
LIGHT_GRAY="\[\033[40;1;33m\]" 
export PS1="$LTGREEN\[email protected]\h:$LIGHT_GRAY\w$CLEAR ❯ " 

希望这会有所帮助。

+2

同样的解决方案也解决了我的问题。谢谢 – gecco 2012-03-21 09:28:56

+3

这也给我修好了!你先生得到upvote。 – Ari 2012-11-07 17:08:55

+2

我现在为此奋战了几天。你做了我的一天,你已经upvote! – piotrekkr 2013-06-09 19:51:16

1
Ctrl-l 

Ctrl-l的工作原理。我想需要

1

腻子这solution为我工作: 添加以下代码片段到你的.bashrc

if [ $(tty) == '/dev/ttyS0' ]; then 
    trap resize DEBUG 
fi