次の行に折り返すために長いコマンド行を取得するにはどうすればよいですか?
Ubuntuで長い間気づいていたことは、新しい行に折り返すのではなく、端末の幅よりも長い(幅の広い)コマンドラインでコマンドを入力しているときです同じ行の1列目で、コマンドラインの先頭の上書きを開始します。(実際のコマンドは実際には上書きされませんが、視覚的には、表示されたテキストが上書きされます)。 見ずに説明するのは難しいですが、端末の幅が20文字(私の場合は120文字に近い-例のため)で、英語のアルファベットをエコーしたいとします。私が入力するのはこれです: echo abcdefghijklmnopqrstuvwxyz しかし、キーを押す前の私の端末は次のようになっています。 pqrstuvwxyzghijklmno Enterキーを押すと、エコーします abcdefghijklmnopqrstuvwxyz そのため、コマンドが正しく受信されたことがわかります。「o」の後にタイピングをラップし、同じ行で最初からやり直しました。 幅が20文字しかない端末でこのコマンドを入力すると、次のようになります。 echo abcdefghijklmno pqrstuvwxyz 背景:私はシェルとしてbashを使用しており、〜/ .bashrcに次の行があります。 set -o vi VIコマンドを使用してコマンドラインをナビゲートできるようにします。現在、Ubuntu 10.10サーバーを使用しており、Puttyでサーバーに接続しています。 私が働いていた他の環境では、長いコマンドラインを入力すると、コマンドが端末の幅より長くなり、入力し続けると、作業中の行の下に新しい行が追加され、コマンドが表示されます2つの異なる行。しかし、Ubuntuの使用を覚えている限り、私の長いコマンドは1行しか占有しません。 これは、履歴内の前のコマンドに戻るときにも発生します(Escを押してから「K」を押して前のコマンドに戻る)-端末幅より長い前のコマンドに到達すると、コマンドラインが取得されますマングルされ、コマンドのどこにいるのかわかりません。 長いコマンド全体が表示されることがわかった唯一の回避策は、「Esc-V」を押すことです。これにより、VIエディターで現在のコマンドが開きます。 .bashrcファイルに奇妙なものはないと思います。「set -o vi」行をコメントアウトしましたが、まだ問題がありました。 Puttyの新しいコピーをダウンロードし、構成に変更を加えませんでした。接続するためにホスト名を入力しただけで、まだ問題があります。構成を変更します) 他の誰かがこの問題を抱えていて、誰もそれを修正する方法を考えることができますか? 編集 それは私の.bashrcファイルでした。同じプロファイルをマシンからマシンにコピーし、$ PS1で特殊文字を使用して、何らかの形でそれをスローしました。私は今、私の$ PS1の標準bash変数に固執しています。 .bashrcのヒントを提供してくれた@ændrükに感謝します! ...編集の終了...