2017-07-17 17 views
2

私はCとC++用のタグファイルを作成し、/usr/include/python2.7にすべてのファイルを除き、/usr/include/python2.7の代わりに/usr/include/*のすべてのファイルを作成しました。ctagsコマンドでexclude引数を持つファイルを除外できないのはなぜですか?

ctags -R -I __THROW -I __attribute_pure__ -I __nonnull -I __attribute__ \ 
    --file-scope=yes --langmap=c:+.h --languages=c,c++ --links=yes --c-kinds=+p \ 
    --c++-kinds=+p --fields=+iaS --extra=+q \ 
    -f .vim/tags/c.tag /usr/include/* --exclude="/usr/include/python2.7" 

まだ多くの内容がフォーム/usr/include/python2.7来るのはなぜ

ctags -R -I __THROW -I __attribute_pure__ -I __nonnull -I __attribute__ \ 
    --file-scope=yes --langmap=c:+.h --languages=c,c++ --links=yes --c-kinds=+p \ 
    --c++-kinds=+p --fields=+iaS --extra=+q \ 
    -f .vim/tags/c.tag /usr/include/* --exclude=/usr/include/python2.7/* 

としてそれを書くためには使用されませんか?

grep "python*" /home/debian8/.vim/tags/c.tag 
ysize /usr/include/python2.7/Imaging.h /^ int xsize, ysize, xoff, yoff;$/;" m struct:ImagingCodecStateInstance access:public 
ysize /usr/include/python2.7/Imaging.h /^ int ysize;$/;" m struct:ImagingMemoryInstance access:public 
ystep /usr/include/python2.7/Imaging.h /^ int ystep;$/;" m struct:ImagingCodecStateInstance access:public 

答えて

3

ターゲットディレクトリの後ろにオプションを追加しようとしています。それは動作しません。

これは動作するはずです:

ctags -R -I __THROW -I __attribute_pure__ -I __nonnull -I __attribute__ \ 
    --file-scope=yes --langmap=c:+.h --languages=c,c++ --links=yes --c-kinds=+p \ 
    --c++-kinds=+p --fields=+iaS --extra=+q \ 
    -f .vim/tags/c.tag --exclude=python2.7 /usr/include 

をそれはあなたが3つの違いで使用したのと同じコマンドです:

  1. --excludeオプションインデックスへ前にターゲットディレクトリを指定します。

  2. ワイルドカードのないターゲットディレクトリ()を指定します.ctagsはすでに内部のすべてを調べることをすでに認識しています。

  3. python2.7は、そのディレクトリ名だけが必要であるため除外する必要があります。そのディレクトリ名が表示されていれば、そこには入りません。ここでは完全なパスは必要ありません。

関連する問題