VSCodeのGit Bashにて貼り付けをすると末尾にゴミがついている問題
概要
GitHubと連携するときに見やすいという理由でVSCode(Cursor)ではGit Bashを好んで使用しているのですが、コピーしたものを貼り付けすると01~
のような本来なかったゴミが引っ付いていることがありました。
気が付かずにEnterを押してコマンド失敗することも多々あり、結構ストレスになっていたのでどうにかならないか調べてみました。
対処法
下記サイトにあるように~/.bashrc
に下記を追記(なければ作成)し、Git Bashを再起動して下さい。
~/.bashrc1# setting for git bash bug on cursor 2bind 'set enable-bracketed-paste off'
ただし、自分の場合にはこれだと下記のエラーが出てきていました。
1WARNING: Found ~/.bashrc but no ~/.bash_profile, ~/.bash_login or ~/.profile. 2 3This looks like an incorrect setup. 4A ~/.bash_profile that loads ~/.bashrc will be created for you.
エラー内容としては「~/.bashrc
はあったけど、~/.bash_profile
,~/.bash_login
,~/.profile
はなかったよ」といっているのですが、実際にはちゃんと存在していました。
ですが、最終行に~/.bash_profile
にて~/.bashrc
を読み込むようにしてくれと書いてあるので、その通り下記を追記します。
~/.bash_profile1if [ -f ~/.bashrc ]; then 2 source ~/.bashrc 3fi
その後、もう一度Git Bashを再起動してみるとエラーが消えており、貼り付けしても末尾にゴミはついていないはずです。
これで快適なGit Bashライフがやってきます。
.bash_profileと.bashrcについて
そもそも、さっきから出てきている.bash_profile
やら.bashrc
について少し触れておきます。
前提として、Linuxでは.
から始まるファイルは隠しファイルとして扱われるため、.bashrc
・.bash_profile
も隠しファイルとなっています。
これらは通常ユーザのホームディレクトリに配置され、使用するユーザの設定をカスタマイズすることができるファイルとなっています。
これらはbash専用のファイルで、シェルが異なればbashの部分が変わってきますが、基本的な挙動は同じものです。
場合によっては存在しないこともあります。
.bash_profile
ユーザログイン時に1回のみ実行されます。
このファイルには下記を設定することが多いです。
- 環境変数(exportで宣言する変数)
.bashrc
シェル起動時に1回実行されます。
具体的にはコマンドラインでbashコマンドを使用した際や、プロンプトを立ち上げなおした際などに実行されます。
このファイルには下記を記述することが多いです。
- エイリアス
- シェル関数
- コマンドラインの補完
- プロンプト表示設定(PS1)
また、.bashrc
を編集したとき、変更した結果は次回のシェル起動時に実行されるため、現在のシェルには反映されていません。
そのため現在のシェルに反映させるには下記コマンドで再度.bashrc
を読み込ませる必要があります。
1source ~/.bashrc
最後に
ちょっと横道にそれてしまいましたが、皆さんのGit Bashライフが少しでも豊かになってもらえれば幸いです!