bashのTAB補完(パス名補完)で.svnを無視したい場合

ソースコード等をSubversionとかでバージョン管理している場合、チェックアウトしたディレクトリに。.svnとかが含まれていて、ターミナルなんかでbashのTAB補完するとき邪魔だなって思うことがありますよね。
単一のディレクトリしかない場合、TABを連打していくと階層を掘っていけるはずが、.svnがあるおかげでちょっとタイプしてからTABキーを押す必要があったりとか。


そんな時は、~/.bashrcとかに、

export FIGNORE=${FIGNORE}:.svn

を追加しておけば、TAB補完時に.svnディレクトリを無視してくれる!
これは便利。


ちなみに、無視したいディレクトリやファイルが複数ある場合は、

export FIGNORE=${FIGNORE}:.svn:.git:.bak

こんな感じで、":"(コロン)区切りで書いておくとOK!
サフィックスでマッチする条件なので、ファイルでもディレクトリでもOKです。

FIGNORE
ファイル名補完 (後述の READLINE を参照) を行う際に無視するサフィックスを コロンで区切って並べたリストです。 FIGNORE のエントリのいずれかにサフィックスがマッチするファイル名は、 ファイル名補完にマッチするファイルのリストから除外されます。 例えば値として ".o:~" を設定します。

Man page of BASH


尚、言わずもがなですが、.bashrcを読み直したい時は、ログインしなおすか、

$ source ~/.bashrc

sourceコマンドで読み直してください。

それでは! =͟͟͞͞(๑•̀=͟͟͞͞(๑•̀д•́=͟͟͞͞(๑•̀д•́๑)=͟͟͞͞(๑•̀д•́


bashクックブック

bashクックブック