AltGr+ Space改行なしスペース(NBSP、U + 00A0)にマップするフィンランド語のキーボードレイアウトを使用しています。一般的にはこれで満足ですが、bashコマンドラインを使用しているときに、パイプ " |
"記号(フィンランド語のキーボードレイアウトではAltGr+ <で記述)の後に通常のスペースではなくNBSPを誤って書き込むことがよくあります。これはAltGr、パイプを打ちながらスペースを押す前にそれを離す必要があるという事実が原因であると思います。そして、私がリリースのタイミングが悪いAltGrと、コマンドラインに表示されないタイプミスや次のようなエラーメッセージが表示されます
grep: command not found
それはかなり似ています
grep: command not found
このため、初めてこの問題に気づくことは少し難しくなります。
私はNBSPを無効にできることを知っていますが、パイプ文字の後にのみ無効にする(AltGr+ Spaceを使用して通常のスペースを生成する)か、それが不可能な場合は常にbashコマンドラインまたはreadline
レベルで行います。bashのソースコードreadline
や端末エミュレータ(gnome-terminal
)を変更せずにこれを行う簡単な方法はありますか?
別の良い解決策は、NBSPをコマンドラインで何らかの形で表示できるように構成することです。たとえば␣
、レンダリング専用の別の文字(たとえばU + 2423 )に置き換えます。
" ":␣
十分ではないのですか?他に何か要りますか?
echo a␣b
が、結果の出力ラインにはecho a b
、出力に実際のNBSPが含まれていました。そのため、それはreadlineレベルで行う必要があると思います(つまり、コマンドラインエディターは常に表示文字を表示しますが、ターミナルエミュレーターはエディター表示と出力表示の違いを認識できないため、ターミナルエミュレーターはレンダリングの視覚的な置換を行うことができません)。