100万ファイルあるホームディレクトリでファイル一覧を出すのに私の環境で2秒、vimのバッファ[1]に書き込んだり開いたりするのに10秒以上かかります。これはwebの文脈でさえ遅い[2]といえる数値です。こうした状況下で速さを求めたことについて書きます。 この記事を読まずともREADMEのコピペでプラグインを試すことができます。 導入 人間は横着なので頭を使いタイピングするより限られた選択肢から選ぶことを望みます。多くの人が使うwebページはそのように最適化されています。テキスト入力を目的とするテキストエディタにおいても、多くの人にはこのことが当てはまるでしょう。テキスト入力における入力補完もセレクタの一種ですが、今回は[3]プログラミング中におけるファイルを選択して開いたりといった操作に焦点をあてます。 こうした動作を行うファインダは数多くあり戦国時代呼ばれるほど選択肢があります[4]。
この記事は Vim Advent Calendar 2014 の6日目の記事です。 rogue.vim について データ分離版ローグ・クローンII (rogue_s) をVimプラグインに移植した rogue.vim を作りました。 (ローグとはなんぞやという人は http://ja.wikipedia.org/wiki/%E3%83%AD%E3%83%BC%E3%82%B0 あたりを参照してください。) rogue.vimのインストール方法は、普通のプラグインと同じ方法です。 GitHubかvim.orgからダウンロードしたzipファイルを展開してruntimepathの通ったディレクトリ($HOME/.vimや$VIM/vimfilesなど)にコピーするか、 何らかのプラグインマネージャーでインストールしてください。 https://github.com/katono/rogue.vi
2013年7月11日木曜日 Linux(Ubuntu)で(G)Vimをコンパイルする Linuxディストリビューションが用意してるVimは古くて,なおかつLuaが有効になってないらしいので,最新バージョンを使いたい場合は自分でビルドする必要がある. あのGentooですらif_luaることができないとか何とか. Windows,MacのLuaが有効になってるものはvim-jpで配布されてる. 事前準備 ビルドに必要なツール群(GCCとかmakeとか色々)をインストールする. $ sudo apt-get install build-essential gettext ソースコードを準備 Mercurialを使う場合 Mercurialを使うと簡単にパッチ適応済みのソースコードを取得できる. http://www.vim.org/mercurial.php Mercurial
VimAdventCalendar 2012 215日目 VimAdventCalendar 2012 215日目の記事になります。昨日214日めは@cohamaさんの「あなたの知らない Vim ~ デフォルトの ftplugin 達 ~」でした。便利です。 そろそろMacでもif_luaの恩恵を受けたい さて、近頃暗黒美夢王ことShougoさん製のVimプラグイン、通称ShougoWareのif_lua化が進みつつあります。 具体的には、Unite.vimはif_luaが有効な環境では一部の処理にif_luaを使用するようになり、neocomplcacheの時期バージョンであるneocompleteではif_luaが必須となっています。 Vim scriptに比べluaの計算速度はものすごく早いため、これらif_luaな機能によって多くの候補に関して演算を行う様な処理についてかなり高速化
Vim scriptを取り巻く問題について というエントリへの反論というか返答というか補足です。このエントリは極端に書くとこう言っています。 Luaトランスレータなんてできっこねーんだから無駄なことやめろよバーカバーカ キャッチーに要約してますがコレ一行で済むでしょう。 ただ正直なにもわかっちゃいないで書かれたようなので、足りてないところを書いておきます。 Vim scriptの高速化方法の比較 Vim script を高速化する方法は、現時点で2つ提案されています。 バイトコード化 (=パース処理のキャッシュ) 別言語(Lua)へのJust In Timeな トランスレータ あのエントリでは前者は実現可能であるが後者は不可能であると述べていますが、私の見かたは違っていて「どちらも実現可能である」です。ただしそこに至るステップ、歩幅の大きさと予想される最大効果がぜんぜん違います。 歩幅の大
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く