CtagsとVimを使ってJavaScriptのコードリーディング

posted by cheesepie on 2009.06.16, under javascript, vim
16th

Macに始めから付属しているctagsは古いので、portでインストール。

$ sudo port install ctags

ナイスなことにExuberant Ctagsも一緒にインストールされたみたい。

で、そのままCtagsにかけると、

function() { ... }

は解析されるけど、

var Klass = function() { ... };
Klass.prototype = {
 init: function() { ... }
}

のような書き方になってると解析されない。

これでは、Jquery等のライブラリが解析できないので、こちらを参考に、~/.ctagsに以下を記述する。

-regex-javascript=/^[ \t]*(['"]?)([A-Za-z0-9_.]+)\1[ \t]*[:=][ \t]*function[ \t]*\(/\2/I,inner/i
--langmap=javascript:.js
--regex-javascript=/^(.*).prototype *= *(.*)/\1/p,prototype/
--regex-javascript=/^[ \t]*(.*) *: *function/\1/m,method/
--regex-javascript=/^[ \t]*(var | *)(.*) *= *{/\2/o,object/

普通にtagファイルを作る。

$ ctags *.js

taglist.vimで表示するために、.vimrcに以下を追記。

let g:tlist_javascript_settings = 'javascript;v:var;c:class;p:prototype;m:method;f:function;o:object'

これでVimでJSファイルを開いて「:Tlist」を打てば、左側に「クラス、メソッド、関数、オブジェクト」の一覧が表示されます。
1000行超えてくるようなソースを追う場合、超便利です。
ま、Eclipseだとプラグイン入れるだけでリスト出してくれますけど。

入れてるVimScriptとか便利設定のメモ

posted by cheesepie on 2009.05.24, under vim
24th

クリーンインストール時に自分用のまとめとして。

・plugin/fuzzyfinder.vim
  バッファエクスプローラー。
  minibufexpl.vim より個人的に好き。

・plugin/opsplorer.vim
  ファイルエクスプローラー。
  ファイルの各種操作がデフォルト1文字入力で出来たり、
  「↑」で親ディレクトリへ移動出来るのが超便利。

・plugin/autocomplpop.vim
  補完候補を自動で絞り込んで表示

・plugin/sudo.vim
  root権限のファイルをうっかり一般ユーザで開いてしまった時用

・plugin/allml.vim
  HTML編集中「Ctrl+x /」で閉じタグを補完

css_color.vim
  CSS内の色指定にその色を付けてくれる。
  ftplugin/css.vim に追記するだけでおk。

・indent/javascript.vim
  クラスベースのJavaScriptでもインデントを付けてくれる

・plugin/scratch.vim
  スクラッチバッファを作成。
  こちらの神記事を参考に、「,s」でJSLintによるJavaScriptの構文チェック結果の
  表示用に主に使う。
  ※SpiderMonkeyのインストールも必要

・syntax/actionscript.vim
  ActionScript3のシンタックスハイライト用

・autoload/actionscriptcomplete.vim
  ActionScript3のOmnicomplete用

MacVimでAS3のシンタックスを設定する

posted by cheesepie on 2009.04.12, under actionscript3, vim
12th

さて、MacVimに乗り換えたわけですが、どうもActionScript3のシンタックスが効いてない。
Vimでは効いてるのに・・!

というわけで、MacVimで「set filetype」するときは、省略せずにちゃんと書きましょうということみたい。

autocmd BufNewFile,BufRead *.as set filetype=actionscript

Syntaxファイルはこちらからもらってきてます。

ついでなんでちょっと便利Tipsを。
よくVImでファイル編集してて、文字コードや改行コード変えたいなとか文字コード変えて開き直したいとかあると思うんですけど、そんなときはこんな感じにショートカットキーを割り当てとくと便利です。

" file encoding
nmap ,U :set fileencoding=utf-8<CR>
nmap ,E :set fileencoding=euc-jp<<R>
nmap ,S :set fileencoding=cp932<CR>

"reload file with given file encoding
nmap =U :e ++enc=utf8<CR>
nmap =S :e ++enc=sjis<CR>
nmap =E :e ++enc=euc-jp<CR>
nmap =J :e ++enc=iso-2022-jp<CR>

" file format
nmap ,W :set ff=dos<CR>
nmap ,L :set ff=unix<CR>

こんな感じにしとくと、コマンドモードで「=U」でUTF-8で開き直したりできて便利です。
ってVim使いの人ならこのくらい当たり前か。。。

pagetop