2012年05月06日

exdict.vim v1.0.0 - インテリセンス&インラインヘルプ的なあれ

おひさしぶりでございますー。
新vimスクリプトを紹介させていただきます。手(チョキ)

今回ご紹介するプラグインは、「exdict.vim」です。
これはVisualStudioのインテリセンス的なあれや、APIのバルーンヘルプ(?)的なあ
れです。

できること・・・

・シンタックスハイライト
・インテリセンスもどき
・APIのインラインヘルプ表示

サポート言語は・・・
- c library
- win32api
- stl
- mfc
- posix
- Windows Kernel Api
- KMDF (Windows Driver Foundation)
- java (j2se6.0)
- php
- wpf


例1) シンタックスハイライト
ロードした辞書によりAPI名はハイライトされます。
exdict_v1.0.0_7.PNG

例2) インテリセンスもどき
ロードした辞書から指定したキーワードでAPI等が補完メニュー表示されます。
exdict_v1.0.0_6.PNG

例3) APIのインラインヘルプ表示
ロードした辞書からインラインヘルプが表示されます。
exdict_v1.0.0_8.PNG

これを作った背景についてですが、まじめな補完であればCppOmniComplete等
タグファイルを使うプラグインを使えばよいのですが、
私としては・・・

・そんなに正確な補完は不要
・その都度タグ作るの面倒、かといって自動でタグなんて作りたくない
・動作はサクサクがいいのよね(補完のために動作が重くなるのは・・・)
・せっかくなのでAPIをハイライトしてほしい


使い分けとしては、以下のように使い分けるのがよいかと・・・

@よく使うAPI
→ 脳で記憶しておき、補完などにはたよらない。 (これが一番)

Aたまに使うAPI
→ API名はなんとなく覚えていて、引数のヒントがあれば思い出せる場合、
 exdictに頼る。exdictで絞り込んで補完する。インラインヘルプで引数を確認する。

Bめったに使わないAPI
→ 覚えられないし、すぐ忘れるので、その都度マニュアルを調べる。
w3m.vimの出番ですね ☆

使い方は次のとおり。詳細はreadme.mdを参照

API補完のつかいかた)

1. ロードする(たとえばMFCとwin32apiの辞書をロード)

:Exdict mfc win32api
※ロードするとAPI名でハイライトされます。

exdict_v1.0.0_1.PNG

2. 補完したい場面でを押す(ただしinpuモード)

exdict_v1.0.0_2.PNG

3. コマンド行に「input keyword:」と表示されるので、
キーワード等を入力する。(例えばCStringと入力する)

input keyword:CString

exdict_v1.0.0_3.PNG
exdict_v1.0.0_4.PNG

4. 指定したキーワードを情報に含むAPIが補完メニューに
表示されるので、選択する。

exdict_v1.0.0_5.PNG
exdict_v1.0.0_6.PNG

インラインヘルプのつかいかた)

1. ロードする(すでにロード済みなら不要)

2. 表示したいAPIの上でを押す

exdict_v1.0.0_8.PNG

3. 複数マッチする場合があるので、その場合はで目的のAPIを見つけ
る。


入力途中でインラインヘルプをみる)

1. 途中までキーワードを入力した状態でを押す。(inputモード)

+-----ここでを押す。
v
prin

+-----ここでも可
v
printf(xxx,xxx


2. コマンド行にヘルプが表示される。

3. 複数マッチする場合があるので、その場合はで目的のAPIを見つけ
る。

だうんろーど)

https://github.com/yuratomo/exdict.vim

い(ry
ラベル:vim exdict.vim
posted by yura.tomo at 22:15| Comment(0) | TrackBack(0) | vim | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
>■あふw関連ツール相関図
              +---------ffftp.exe(AE)
              | +-------sakura.exe(ORG)
              | | +-----*.exe(ORG)
 +------------afxswitch.exe 
 | +----------afxpdf.vbs
 | | +--------afxvim.exe --- gvim.exe(ORG)
 | | | +------afxyzzy.exe -- xyzzy.exe(AE)
 | | | | +----afxckw.exe --- ckw.exe(AE)
 | | | | | +--afxfazzy.exe - afxfazzy?.mnu
 | | | | | | +afxtail.exe
+------------+afxexec.exe   - afxandroid
|   afxw.exe |-amksc.exe(ORG)
+------------+afxmatrix.vbs
|| | | | | | +afxdmask.exe
|| | | | | +--afx2ch.exe --- 2ch
|| | | | +----afxbkmk.exe
|| | | +------afxclock.exe
|| | +--------afxfind.exe
|| |+---------afxpushd.exe
|| +----------afxbrws.exe
|+------------afxmake.exe
|             | | +-----VisualStudio9
|             | +-------WDK7.1
|             +---------...
+-------------afxftp32.dll

 ※AE: Afxwer's Editionの略
 ※ORG: Original版
 ※yuratomo使用中のもの。
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。