naiのアウトプット

システムエンジニアの学習記録場所

Ubuntu22.04でプロンプトにテキストをペーストすると選択された状態になる

現象

  • コピペしたら下記みたいな表示になる

原因

  • Bashの設定によるもの
  • Bashのバージョン(bash 5.1~)によってブラケットペーストモードというものがデフォルトで有効になっており、これが前述のペースト時のハイライトの設定になっている。
    • これがオンになっている理由は、悪意のあるスクリプトを誤って実行しないようにコピペを確認させるため

対処

  • 暫定対策:以下を実行する
    • bind 'set enable-bracketed-paste off’
  • 恒久対策:以下を~/.inputrcまたは/etc/inputrcに追加する
    • set enable-bracketed-paste off

参考

調査メモ

  • この現象を調べるのにすごい難航した
    • 環境としては、VSCodeのターミナルでWSLのUbuntuを動かしていた。テキストがハイライト表示されていると勘違いしていて、ハイライト表示に関する検索を行っていた。
      • 引っかかるのはVSCodeの書式設定のものやlsの色分けのものだらけで求めているのと違うものばかり引っかかった
      • ChatGptに聞いても同じような回答しか返ってこなかった
    • 途中でVSCodeではなくてBashの設定の問題なのではと気付き、linux bash paste config colorで検索したらそれっぽい回答がひっかかりようやく原因と対策がわかった
  • ちなみにChatGPTにどう聞けば回答が出たかを確認したら以下のプロンプトを使えと言われた
    • プロンプト
      • Ubuntu 22.04でBashを使用している際、プロンプトにテキストを貼り付けると、そのテキストが選択された状態になります。これは何が原因で、どうすれば通常の貼り付けに戻せますか?」