対話型コマンドモードではスペースを入力できません

対話型コマンドモードではスペースを入力できません

とても奇妙な状況です。対話型コマンドを入力すると、この場合はスペースを入力taskshできnslookupません。たとえば、

tasksh> add "my new task"

~になる

tasksh> add"mynewtask"

もちろん動作しません。私はそれがこれに関連すると思いましたが、インタラクティブモードで確認しtaskshました。nslookupそれは同じです。これはLinuxでは発生します4.6.7-1-MANJAROが、OpenSUSE Leap 42.1では発生しません。

この迷惑なことをどのように解決するのですか?

別の端末(gnome-terminal、xfce4-terminal、xterm)を実行してみましたが、同じ結果が出ました。

答え1

最も明白な説明は、Space構成ファイルの1つに目に見える効果のないコマンドを誤ってバインドしたことです。

コマンドのシェル初期化ファイルを確認してくださいstty。これは、少なくとも端末のデフォルトの行エディタに依存するプログラムに直接影響を与え、stty設定との互換性を維持しようとするまともな行エディタを持つプログラムに間接的に影響を与える可能性があります。

特定のプログラムでのみ問題が発生した場合、問題のある構成読書船図書館。このライブラリはbashや他の多くのプログラムで使用されます。キーがbashでは機能しますが、readlineを使用する他のプログラムでは機能しない場合は、bashがキーを上書きした可能性があります。 readlineの設定ファイルは次のとおりです。.inputrc

bashでのみ問題がある場合は、.bashrc端末関連の構成が必要な場所とは異なるbash構成ファイル(構成が間違った場所にある場合)を確認してください。


~/.inputrcあなたが言及したコメントから

Space: magic-space

magic-spacebashコマンドです。他のプログラムはこれを理解していません。 bashでこれを条件に設定します。

$if Bash
Space: magic-space
$endif

または、以下からこの設定を削除して.inputrc定義してください.bashrc

bind 'Space: magic-space'

関連情報