Windows の Sublime text の CTags プラグインで Auto Complete を使用する

CTagsの.tagファイルで自動補完リスト

このプラグインには、実は.tagファイルを関数の補完リストとして使用する機能が実装されている。
だがしかし!みんな大好きWindowsでは、この機能がなぜか動かない。

というわけで、CTagasのプラグインにCTagsAutoCompleteというClassがあるのでメンバ関数を確認…
f = os.popen(
"awk \"{ print " + prefix + "$1 }\" \"" + tags_path + "\"")

awk…

というわけで、理由はawkと呼ばれるテキスト処理ソフトウェアが必要ということが判明。
なのだが、Windowsには標準で入っていない。

ならばawkとやらをインストールだ。

Auto Completeを使えるようにする

なんとたったの3ステップ!

  1. Gawk for Windows から Binaries のzipをダウンロード
  2. zipを解凍
  3. PATHの通ったフォルダにawk.exeを設置

これで単語補完が働いたときに.tagsファイルに含まれる関数群がリストアップされてより仕事がはかどるという寸法です。

ただ、.tagsファイルが大きいと単語補完にも時間がかかる。
今はまだ、不要な関数群(composerで入れたライブラリとか)はtagファイルのビルド時に無視リストに入れておいた方がよさげ。

そして、VimFxへ……

さよなら、Vimperator…

Firefoxがe10sへの移行を始め、Firefox51になった途端にVimperatorがほぼ動作しなくなった…。
そんなわけで、とうとうVimperatorに見切りを付けVimFxへ移行。

何はともあれツリー型タブ

なにげに使っていたVimperatorのプラグイン「TreeStyleTab.js」。
何が出来るかっていうと、ツリーを開く・畳むがショートカットに割り当てられるようになる。

プラギン作者さんに感謝!

そんなわけで、下記のカスタムコマンドをconfig.jsへ追加すれば使用できるようになるはず。
処理自体はTreeStyleTab.jsほぼそのままで動作。

vimfx.addCommand({
    name: "tree_style_tab_expand",
    description: "ツリーを開く",
    category: "location",
}, ({vim}) => {
    const gBrowser = vim.window.gBrowser;
    if (gBrowser.treeStyleTab) {
        gBrowser.treeStyleTab.collapseExpandSubtree(gBrowser.selectedTab, false);
    } else {
        vim.notify("need TreeStyleTab");
    }
})

vimfx.addCommand({
    name: "tree_style_tab_collapse",
    description: "ツリーを畳む",
    category: "location",
}, ({vim}) => {
    const gBrowser = vim.window.gBrowser;
    if (gBrowser.treeStyleTab) {
        gBrowser.treeStyleTab.collapseExpandSubtree(gBrowser.selectedTab, true);
    } else {
        vim.notify("need TreeStyleTab");
    }
})

ショートカットは好きに設定すればいいと思うけど、以前からのだとこれでやってる。
開く → zo
畳む → zc

まだだ、まだ終わらんよ!

e10sになるとFirefoxもかなり軽くなるようだし、これでまだ10年は戦えるんじゃないかな。