プログラムを実行するときは、ctrl-cを使用して終了し、上矢印を押して前のコマンドラインを復元し、テキストを編集して再実行することに慣れています。 Ubuntu 14.04でバックスペースを使用して新しい文字を入力すると、端末に表示されているものと実際に実行されているものは同じではありません。新しいエラーコマンドラインを実行した後にctrl-cと上矢印を押すと、実際に実行された内容が歪んだテキストで表示されます。私が考えているカーソル位置と端末の実際のカーソル位置との間に矛盾があるようです。
アプリケーションが終了した後にctrl-cをもう一度押すと、きれいなコマンドラインに戻り、上のキーを押して正常に編集できます。私はこれが必須ではないと思います。良いコマンドラインを生成するために変更できる設定はありますか?
GNOME端末3.6.2
$ stty -a
speed 38400 baud; rows 48; columns 100; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?; swtch = M-^?;
start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc ixany imaxbel
iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke
答え1
何が起こっているのかは、中断が新しい行に文字を出力するため、プロンプトが行の先頭から始まらないことです。その結果、シェル編集機能がユーザーが行にあると思う場所は、実際にユーザーがいる場所ではありません。
Ctrl CEnter簡単な解決策は、上矢印を押して最新のコマンドラインを再入力する前に、このようなことを行うことです。または、Ctrl CCtrl C最終結果は同じですが、入力速度が速くなる方法を引き続き使用してください。