
重複した内容ならお詫び申し上げます。しかし、編集しようとしましたが失敗しましたvim
。
特にLaTeX文書を編集するときに使用したくないことが多いです。つまり、ドキュメントがコンパイルされたときに生成される他のファイルではなく、ファイルのみをvim
編集したいと思います。.tex
.aux
.pdf
私はこのコマンドで遊んcomplete
だが、あまり楽しかった。
次のコマンドが.aux
生成されたファイル名のリストからファイルを削除しないのはなぜですか?
$ complete -o default -X '^.*aux' vim
答え1
必要なパターンは正規表現ではなくglobなので、ファイルが完成していることを知らなければbash
なりません。-f
また、これdefault
でフィルタリングしたファイル名が追加されるので、そのオプションを削除するか別のものを選択します(ディレクトリも完成するように-o
このオプションを使用しました)。dirnames
次の作業を行う必要があります。
complete -f -o dirnames -X '*.@(aux|pdf)' vim
man
使用されたglobの関連ページを参照してください。
組み込みのshoptを使用してextglobシェルオプションを有効にすると、複数の拡張パターン一致演算子が認識されます。以下の説明では、パターンリストは、 | で区切られた 1 つ以上のパターンのリストです。複合パターンは、次のサブパターンのうちの1つ以上を使用して形成できます。
?(pattern-list) Matches zero or one occurrence of the given patterns *(pattern-list) Matches zero or more occurrences of the given patterns +(pattern-list) Matches one or more occurrences of the given patterns @(pattern-list) Matches one of the given patterns !(pattern-list) Matches anything except one of the given patterns
extglob
完了したら有効にする必要がありますbash
が、そうでない場合でもこれを行う必要があります。