新しいブログに移動しました。
9ensanのLifeHack
こちらの記事も必要に応じて新しいブログに移動させる予定です。
今後ともよろしくお願い致します。

HOME > 

vim

PHPを書くときに、vimでctagsを使用する方法

  • 2009.04.26 (日) 20:59
  • PHP
  • ,,

symfonyで仕事していて、オブジェクト指向プログラミングなのでたくさんのファイルに処理が移動するので

処理を追いかけるだけでたいへん

ということで、ctagsを使用することにしました。

まずは、インストール

1
sudo apt-get install exuberant-ctags

これでインストール完了します。

で、ctagsを使用する為のtagsファイルの作成

1
ctags -a -f ~/.tags -R --langmap=PHP:.php.inc --php-types=c+f+d+v+i ./
  • -a:既存のtagsファイルが存在した場合、追加登録します。
  • -f:tagsファイルの名前を指定します。
  • –langmap:対象にする拡張子を設定します。
    デフォルト値は

    1
    
    ctags --list-maps

    で調べることができます。

  • –php-types:tagsファイルを作成する時の種類を指定します。
    種類は

    1
    
    ctags --list-kinds=php

    で調べることができます。

  • -R:再帰的に処理を行います。

これで、tagsファイルを使用できます。

上記内容でtagsファイルを作成した場合、「~/.tags」に内容が書き込まれます。

ですのでvimでそのファイルを使用できるように.vimrcに以下の設定を追加します。

1
set tags+=~/.tags

 これでvimで作成したtagsファイルを読み込むことができます。

vimでの使用方法

Ctrl+]:タグを進む

Ctrl+T:タグを戻る

:pop:タグを戻る

:tags:移動経路を確認

:ts:他の候補を呼び出す

Ubuntuでvimのsyntaxが効かない場合の解決方法!!

  • 2009.03.06 (金) 18:13
  • 設定

ずんwikiさんから.vimrcを拝借して.vimrcを設定して使っていたのですがどうも、vimのsyntaxがきいていない

どうも、Ubuntuをデフォルトでインストールした時にインストールされるvimのせいみたいということで

vimをインストール

1
sudo apt-get install vim

するとsyntaxがちゃんと動作しました

vimのsyntax

よかった。

 

.vimrcの設定

  • 2009.03.06 (金) 17:25
  • 設定

Ubuntuを使っていてそろそろ、.vimrcもちゃんとしないとと思いいつもお世話になっているサイトずんwikiさんからvimrcを拝借しました

いつもここの設定をいじくって使っています。

.vimrcの設定で困っている方がいたらここのサイトの設定を参考にしたらだと思います。

 

一応、自分が使ってる内容です。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
" vim: set ts=4 sw=4 sts=0:
"-----------------------------------------------------------------------------
" 文字コード関連
"
if &encoding !=# 'utf-8'
	set encoding=japan
	set fileencoding=japan
endif
if has('iconv')
	let s:enc_euc = 'euc-jp'
	let s:enc_jis = 'iso-2022-jp'
	" iconvがeucJP-msに対応しているかをチェック
	if iconv("\x87\x64\x87\x6a", 'cp932', 'eucjp-ms') ==# "\xad\xc5\xad\xcb"
		let s:enc_euc = 'eucjp-ms'
		let s:enc_jis = 'iso-2022-jp-3'
	" iconvがJISX0213に対応しているかをチェック
	elseif iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb"
		let s:enc_euc = 'euc-jisx0213'
		let s:enc_jis = 'iso-2022-jp-3'
	endif
	" fileencodingsを構築
	if &encoding ==# 'utf-8'
		let s:fileencodings_default = &fileencodings
		let &fileencodings = s:enc_jis .','. s:enc_euc .',cp932'
		let &fileencodings = &fileencodings .','. s:fileencodings_default
		unlet s:fileencodings_default
	else
		let &fileencodings = &fileencodings .','. s:enc_jis
		set fileencodings+=utf-8,ucs-2le,ucs-2
		if &encoding =~# '^\(euc-jp\|euc-jisx0213\|eucjp-ms\)$'
			set fileencodings+=cp932
			set fileencodings-=euc-jp
			set fileencodings-=euc-jisx0213
			set fileencodings-=eucjp-ms
			let &encoding = s:enc_euc
			let &fileencoding = s:enc_euc
		else
			let &fileencodings = &fileencodings .','. s:enc_euc
		endif
	endif
	" 定数を処分
	unlet s:enc_euc
	unlet s:enc_jis
endif
" 日本語を含まない場合は fileencoding に encoding を使うようにする
if has('autocmd')
	function! AU_ReCheck_FENC()
		if &fileencoding =~# 'iso-2022-jp' && search("[^\x01-\x7e]", 'n') == 0
			let &fileencoding=&encoding
		endif
	endfunction
	autocmd BufReadPost * call AU_ReCheck_FENC()
endif
" 改行コードの自動認識
set fileformats=unix,dos,mac
" □とか○の文字があってもカーソル位置がずれないようにする
if exists('&ambiwidth')
	set ambiwidth=double
endif
 
"-----------------------------------------------------------------------------
" 編集関連
"
"オートインデントする
set autoindent
"バイナリ編集(xxd)モード(vim -b での起動、もしくは *.bin で発動します)
"augroup BinaryXXD
"	autocmd!
"	autocmd BufReadPre  *.bin let &binary =1
"	autocmd BufReadPost * if &binary | silent %!xxd -g 1
"	autocmd BufReadPost * set ft=xxd | endif
"	autocmd BufWritePre * if &binary | %!xxd -r | endif
"	autocmd BufWritePost * if &binary | silent %!xxd -g 1
"	autocmd BufWritePost * set nomod | endif
"augroup END
 
"-----------------------------------------------------------------------------
" 検索関連
"
"検索文字列が小文字の場合は大文字小文字を区別なく検索する
set ignorecase
"検索文字列に大文字が含まれている場合は区別して検索する
set smartcase
"検索時に最後まで行ったら最初に戻る
set wrapscan
"検索文字列入力時に順次対象文字列にヒットさせない
set noincsearch
 
"-----------------------------------------------------------------------------
" 装飾関連
"
"シンタックスハイライトを有効にする
if has("syntax")
	syntax on
endif
"行番号を表示しない
set number
"タブの左側にカーソル表示
set listchars=tab:\ \
set list
"タブ幅を設定する
set tabstop=4
set shiftwidth=4
"入力中のコマンドをステータスに表示する
set showcmd
"括弧入力時の対応する括弧を表示
set showmatch
"検索結果文字列のハイライトを有効にする
set hlsearch
"ステータスラインを常に表示
set laststatus=2
"ステータスラインに文字コードと改行文字を表示する
set statusline=%<%f\ %m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}%=%l,%c%V%8P
 
 
"-----------------------------------------------------------------------------
" マップ定義
"
"バッファ移動用キーマップ
" F2: 前のバッファ
" F3: 次のバッファ
" F4: バッファ削除
map <F2> <ESC>:bp<CR>
map <F3> <ESC>:bn<CR>
map <F4> <ESC>:bw<CR>
"表示行単位で行移動する
nnoremap j gj
nnoremap k gk
"フレームサイズを怠惰に変更する
map <kPlus> <C-W>+
map <kMinus> <C-W>-

 

 

お薦めのレンタルサーバー
広告
お薦めの書籍
HOME > 

vim