私は__pycache__
私のgit
リポジトリとWildmenuでvi
これを無視しました。これらのディレクトリが私のワークフローを汚染する最後の場所は、プロジェクトファイルを再帰的に収集し、コマンドラインtabでオートコンプリートを使用することです。
ディレクトリを普遍的に無視するなどのgrep
コマンドラインツールを設定する方法はありますか?bash-completion
答え1
bash
以下を設定して、ファイルのワイルドカード削除を有効にできます__pycache__
。
$ export GLOBIGNORE=__pycache__
今、次のことを発行すると:
$ ls __*
ls: cannot access __*: No such file or directory
bash
環境変数を使用してFIGNORE
ファイルサフィックスをスキップすることもできます。ディレクトリを少しフィルタリングするために使用できます。
$ mkdir __pycache__
$ export FIGNORE=__pycache__
その後、発行された場合:
$ ls __
tab
まで完了
$ ls __pycache__
ただし、プレフィックスが付いた場合(たとえば、パスを使用):
$ ls ./__
tab
それは終わらないでしょう。
grep
エイリアスを使用してディレクトリを除外できます__pycache__
。
alias grep='grep --exclude-dir="__pycache__"'
grep
Madhavan Kumarの回答を使用してフィルタリングしたいコマンドの完成やその他のコマンドを変更することもできますが、オーバーライドをbash_completion
適用するにはrcファイルで定義し、ソースの後にインポートする必要があることを忘れないでください。
FIGNORE
A colon-separated list of suffixes to ignore when performing filename
completion (see READLINE below). A filename whose suffix matches one of
the entries in FIGNORE is excluded from the list of matched filenames. A
sample value is ".o:~".
GLOBIGNORE
A colon-separated list of patterns defining the set of filenames to
be ignored by pathname expansion. If a filename matched by a pathname
expansion pattern also matches one of the patterns in GLOBIGNORE, it is
removed from the list of matches.
答え2
これらのコマンドを無視するように圧縮時間(秒)を変更できます。
たとえば、既存の compsec をインポートするには、次のようにします。
complete -p grep
返品、
complete -F _longopt grep
次に、次のようにコマンドに除外オプションを追加します。
complete -F _longopt -X '@(__pycache__|more__patterns)' grep
Tabキーを押すと、これらのファイル名は表示されません。