Cygwin なんでも掲示板

一覧最新記事過去一覧 | 検索FAQアンテナHOME
(新規投稿・発言はできません)


スレッド

└◇2521:
ctagsコマンドの使い方 [chisako] 11/01 14:33

 └◇2524:Re:ctagsコマンドの使い方 [nil] 11/01
  └◇2525:Re[2]:ctagsコマンドの使い方 [chisako] 11/02
   └◇2527:Re[3]:ctagsコマンドの使い方 [nil] 11/02
    └◇2528:Re[4]:ctagsコマンドの使い方 [通りすが] 11/02
     └◇2529:Re[5]:ctagsコマンドの使い方 [nil] 11/02
      └◇2530:Re[6]:ctagsコマンドの使い方 [chisako] 11/02
       ├◇2531:Re[7]:ctagsコマンドの使い方 [通りすが] 11/03
       └◇2532:Re[7]:ctagsコマンドの使い方 [nil] 11/03
        └◇2542:Re[8]:ctagsコマンドの使い方 [chisako] 11/04
         └◇2543:Re[9]:ctagsコマンドの使い方 [nil] 11/04
          └◇2561:Re[10]:ctagsコマンドの使い方 [chisako] 11/11 <


2521● ctagsコマンドの使い方[ chisako ] 2004 11/01 14:33
よろしくお願い致します。

Win2kでcygwin1005.9.0.0を使用しています。

$ ctags --version
ctags (GNU Emacs 21.4.15)
Copyright (C) 1999 Free Software Foundation, Inc. and Ken Arnold
This program is distributed under the same terms as Emacs

となっていまして、vimでタグジャンプできるようにしたくて

$ cp vimrc_example.vim ~/.vimrc
$ cd /usr/include
$ ctags -R
ctags: no input files specified.
Try `ctags --help' for a complete list of options.

となってみました。

ヘルプを見てみましたがLinuxでの
「ctags -R」コマンド(カレントディレクトリ下の全ファイルを再帰的に検索してtagsファイルの生成)と同様なオプションは何になるのでしょうか?
スレッド一覧


2524● Re:ctagsコマンドの使い方[ nil ] 2004 11/01 18:10
どの ctagsをお使いかわからないのですが、少なくとも最新の ctagsパッケージの中のバイナリであれば、-R (equal --recurse) が使えるようです。
スレッド一覧


2525● Re[2]:ctagsコマンドの使い方[ chisako ] 2004 11/02 11:58
> どの ctagsをお使いかわからないのですが、
cygwinに付属してるctagsです。


$ ctags --version
ctags (GNU Emacs 21.4.15)
Copyright (C) 1999 Free Software Foundation, Inc. and Ken Arnold
This program is distributed under the same terms as Emacs


> 少なくとも最新の ctagsパッケージの中
> のバイナリであれば、-R (equal --recurse) が使えるようです。
$ ctags --recurse
ctags: unrecognized option `--recurse'
Try `ctags --help' for a complete list of options.
$ ctags -R
ctags: no input files specified.
Try `ctags --help' for a complete list of options.

となります。

-R, --no-regex
Don't create tags from regexps for the following files.

となっています。
スレッド一覧


2527● Re[3]:ctagsコマンドの使い方[ nil ] 2004 11/02 12:41
私が言ってるのは "ctagsパッケージ" のことですが。

$ cygcheck -c cygwin ctags
Cygwin Package Information
Package Version Status
ctags 5.5-4 OK
cygwin 1.5.11-1 OK
$ /bin/ctags --version
Exuberant Ctags 5.5, Copyright (C) 1996-2003 Darren Hiebert
Compiled: Jun 5 2003, 10:00:19
Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net
Optional compiled features: +wildcards, +regex, +internal-sort

たぶん、どうしてかxemacsパッケージの ootags.exeをお使いのような気がするのですが、これは ctags としてインストールされるのでしたっけ…
スレッド一覧


2528● Re[4]:ctagsコマンドの使い方[ 通りすがり ] 2004 11/02 14:57
>たぶん、どうしてかxemacsパッケージの ootags.exeをお使いのような気がす
>るのですが、これは ctags としてインストールされるのでしたっけ…

Cygwin.comの Setup Package Searchで「ctags.exe」を
検索すると、ctagsとxemacs-tagsが引っかかります

xemacs-tags/xemacs-tags-21.5.16-1:
Wed Feb 25 10:01:05 2004 80896 usr/bin/ctags.exe
Wed Feb 25 10:01:05 2004 79872 usr/bin/etags.exe
Wed Feb 25 10:01:04 2004 17 usr/share/man/man1/ctags.1
Wed Feb 25 10:01:04 2004 10479 usr/share/man/man1/etags.1
Wed Feb 25 10:01:04 2004 2157 usr/share/doc/Cygwin/xemacs-tags-21.5.16.README

#私も今気づいて、ctagsをReInstallしました
スレッド一覧


2529● Re[5]:ctagsコマンドの使い方[ nil ] 2004 11/02 16:07
なるほど、xemacsを使わないので気にしてませんでしたが、
パッケージ ctags か xemacs-tags かを選んで、インストールする必要があるんですね。副作用があるのか知りませんが。
どうもです。
スレッド一覧


2530● Re[6]:ctagsコマンドの使い方[ chisako ] 2004 11/02 18:41
皆様、有難うございます。

> Cygwin.comの Setup Package Searchで「ctags.exe」を
> 検索すると、ctagsとxemacs-tagsが引っかかります
http://cygwin.com/packages/
のことですかね。

検索してみましたら
Found 5 matches for ctags.exe.
ctags/ctags-5.5-3 A C programming language indexing and/or cross-reference tool
ctags/ctags-5.5-4 A C programming language indexing and/or cross-reference tool
xemacs-tags/xemacs-tags-21.4.14-2 etags and ctags programs and man pages from the xemacs distribution
xemacs-tags/xemacs-tags-21.4.15-1 etags and ctags programs and man pages from the xemacs distribution
xemacs-tags/xemacs-tags-21.5.16-1 etags and ctags programs and man pages from the xemacs distribution
となりました。

> パッケージ ctags か xemacs-tags かを選んで、インストールする必要があるんです
> ね。副作用があるのか知りませんが。
vimでタグジャンプをしたいので、ctagsをインストールしたいのですが、具体的にどのようにしてこれだけインストールするのでしょうか?
(setup.exeをクリックしてSelectPackagesまで辿り着いたのですが、、、)
スレッド一覧


2531● Re[7]:ctagsコマンドの使い方[ 通りすがり ] 2004 11/03 08:22
>(setup.exeをクリックしてSelectPackagesまで辿り着いたのですが、、、)

壊れたパッケージの再インストール方法

Select Packagesまで進む
再インストールしたいパッケージを探す
「Keep」となってると思うのでそこをクリックし「Reinstall」を選択
「次へ」でインストール続行

xemacsを使っていないのなら、念のため「xemacs-tags」を
「Uninstall」しておくといいかもしれません。
スレッド一覧


2532● Re[7]:ctagsコマンドの使い方[ nil ] 2004 11/03 10:20
setup.exe の使用方法は解説もたくさんあるようです。
ctagsパッケージを入れているかどうかも不明なので、尋ねる前に cygcheck の確認ぐらいしたほうがいいと思うのですけれどもね。

$ cygcheck -c cygwin ctags xemacs-tags
スレッド一覧


2542● Re[8]:ctagsコマンドの使い方[ chisako ] 2004 11/04 00:23
有難うございます。


> >(setup.exeをクリックしてSelectPackagesまで辿り着いたのですが、、、)
>
> 壊れたパッケージの再インストール方法
>
> Select Packagesまで進む
> 再インストールしたいパッケージを探す
> 「Keep」となってると思うのでそこをクリックし「Reinstall」を選択
> 「次へ」でインストール続行
Devel下にctagsが有りました。

> xemacsを使っていないのなら、念のため「xemacs-tags」を
> 「Uninstall」しておくといいかもしれません。
了解致しました。

> ctagsパッケージを入れているかどうかも不明なので、尋ねる前に cygcheck の確認
> ぐらいしたほうがいいと思うのですけれどもね。
> $ cygcheck -c cygwin ctags xemacs-tags
$ cygcheck -c cygwin ctags xemacs-tags
Cygwin Package Information
Package Version Status
ctags 5.5-4 OK
cygwin 1.5.9-1 Incomplete
xemacs-tags 21.4.15-1 OK

となりました。
一応、ctagsは既にインストールされているようです。
でも、私のctagsは古いから
「ctags -R」コマンドが使えないんですよね?
スレッド一覧


2543● Re[9]:ctagsコマンドの使い方[ nil ] 2004 11/04 14:20
違います。はじめに言っているように "パッケージctags" の ctagsでは使えます。
古いどうこうではなくて、"パッケージxemacs-tags" の ctagsは別の ctagsなのです。
衝突するのに両方入れているから、目的のほうの ctagsが残らないで使えないでいるのです。
このままでは setup.exeで updateすると同じことが起きる可能性があるので、他の方もおっしゃっているように、"xemacs-tags"を "Uninstall"(削除)して "ctags"を "Reinstall" する必要があるのです。
スレッド一覧


2561● Re[10]:ctagsコマンドの使い方[ chisako ] 2004 11/11 15:55
有難うございます。
遅くなってしまいました。


> 違います。はじめに言っているように "パッケージctags" の ctagsでは使えます。
> 古いどうこうではなくて、"パッケージxemacs-tags" の ctagsは別の ctagsなのです。
> 衝突するのに両方入れているから、目的のほうの ctagsが残らないで使えないでいる
> のです。
解りました。

> このままでは setup.exeで updateすると同じことが起きる可能性があるので、他の
> 方もおっしゃっているように、"xemacs-tags"を "Uninstall"(削除)して "ctags"を
> "Reinstall" する必要があるのです。
そのようにしてみました、かなり時間が掛かって漸く完了しました。

$ cygcheck -c cygwin ctags xemacs-tags
Cygwin Package Information
Package Version Status
ctags 5.5-4 OK
cygwin 1.5.11-1 OK

となりました。これでいいんですね。

$ cd /usr/include
$ ctag -R
$ ls -l /usr/include/tags
-rw-r--r-- 1 root なし 16635637 Nov 6 04:16 /usr/include/tags
$ cp C:/cygwin/usr/share/vim/vim63/vimrc_example.vim ~/.vimrc

として

~/.vimrcに
「set tags=./tags,tags,/usr/include/tags」
を追加しました(下記)。

if v:progname =~? "evim"
finish
endif
set nocompatible
set backspace=indent,eol,start
if has("vms")
set nobackup " do not keep a backup file, use versions instead
else
set backup " keep a backup file
endif
set history=50 " keep 50 lines of command line history
set ruler " show the cursor position all the time
set showcmd " display incomplete commands
set incsearch " do incremental searching
set tags=./tags,tags,/usr/include/tags
map Q gq
if &t_Co > 2 || has("gui_running")
syntax on
set hlsearch
endif
if has("autocmd")
filetype plugin indent on
augroup vimrcEx
au!
autocmd FileType text setlocal textwidth=78
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif
augroup END
else
set autoindent " always set autoindenting on
endif " has("autocmd")


$ vim test.c
としてみると

#include <signal.h>
#include <unistd.h>

#define BUF_LEN 20
#define MIN_X 1
#define MIN_Y 1
#define MAX_X 60
#define MAX_Y 20

/* ~Hレ~Sョ~CL~A[~Bフ~J~D~B閙S~V~Bト */
#define NORTH 'k'
#define SOUTH 'j'
#define EAST 'l'
#define WEST 'h'
#define QUIT 'q'

#define PORT (in_port_t)50001
#define HOSTNAME_LENGTH 64

int setup_server(in_port_t port)
/* ~V゚~B閙Rl ~C\~CP~Cb~Cg~Bフ~Cf~CB~CX~CN~C~J~Cv~C^ */
/* port ~Pレ~Qア~P諧Bフ~C|~A[~Cg~Tヤ~M~F */
{
struct sockaddr_in me; /* ~Nゥ~Uェ~Bフ~C\~CP~Cb~Cg~Bフ~CA~Ch~C~L~CX */
int soc_waiting; /* ~Pレ~Qア~Qメ~Bソ~Bフ~C\~CP~Cb~Cg */
int soc; /* ~Rハ~PM~Bノ~Ng~B、~C\~CP~Cb~Cg */

/* ~Nゥ~Uェ~Bフ~CA~Ch~C~L~CX~B・sockaddr_in ~M\~Q「~Qフ~Bノ~Pン~R・*/
memset((char *)&me, 0, sizeof(me));
me.sin_family = AF_INET;
me.sin_addr.s_addr = htonl(INADDR_ANY);
me.sin_port = htons(port);

/* IPv4 ~Bナ~CX~Cg~C~J~A[~C~@~L^~Bフ~C\~CP~Cb~Cg~Bフ~M・Pャ */
if ((soc_waiting = socket(AF_INET,SOCK_STREAM,0)) < 0 ){
perror("socket");
return -1;
}

/* ~C\~CP~Cb~Cg~Bノ~Nゥ~Uェ~Bフ~CA~Ch~C~L~CX~B~Pン~R・*/
if (bind(soc_waiting,(struct sockaddr *)&me,sizeof(me)) == -1){
perror("bind");
return -1;
}

と文字化けしてみまして、適当な型とかで
Ctrl^]
としてみましてもタグジャンプしません。
しかも、
.swn、.swpファイルが生成されました。

何か操作が間違っていますでしょうか?
スレッド一覧

早田のホームページへ
CGIROOM