2012/04/12


Vimが他のエディタに比べて劣ると思われている一つに、ノーマルモードとインサートモードの行き来にオーバーヘッドがあるのでは無いかという主張。カーソルキー使ってる人は、ぜひこれでjkjkの練習でもして下さい。
まぁ確かに、移動する為にはノーマルモードに戻らなければならないし、例えば <script>_</script>
_ にカーソルが合った場合、改行すると <script>
_</script>
こうなってしまう。本来ここにjavascriptのコードを書こうと思ったら <script>
_
</script>
こうなるのが正しい訳で、この形にしようと思うと
  • 改行
  • もう一度改行
  • ノーマルモードに戻ってkで上に行ってiでインサートモード
というまどろっこしい操作が必要になったりする。運よく僕は <c-e> に何も割り当ててなかったのでこんなのを追加してみた。 inoremap <c-e><c-h> <left>
inoremap <c-e><c-l> <right>
inoremap <c-e><c-k> <up>
inoremap <c-e><c-j> <down>
inoremap <c-e><esc>O
inoremap <c-e><esc>o
inoremap <c-e><c-e> <esc>A
inoremap <c-e><c-a> <esc>I
インサートモードのまま上下左右、上方改行挿入、下方改行挿入、行末移動、行頭移動が行える。2シーケンスを要するけど、ぶっちゃけ2シーケンス以上必要な場所への移動ならノーマルモードに戻っても大差無いなーと思った。
まだお試し期間だけど、しばらく使ってみる。

<c-o>使えばいいじゃんって話なんですが、まったくその通り。いかんなemacs病か。
まぁ<c-e><c-a><c-e><c-e>だけは片手で使えて便利かも。
Posted at by



2012/04/09


がっさりやりました。
  • bingtranslate-vim
  • codepad-vim
  • ctrlp-hackernews
  • excitetranslate-vim
  • favotter-vim
  • favstar-vim
  • gist-vim
  • googlesuggest-complete-vim
  • googletasks-vim
  • goplayground-vim
  • ideone-vim
  • kimoto-vim
  • lisper-vim
  • mkdpreview-vim
  • pastebin-vim
  • pocoo-vim
  • vdbi-vim
  • vim-metarw-simplenote
  • vimgolfer-vim
  • vimplenote-vim
  • wwwrenderer-vim
古いネームスペースも使いたい人は、webapi-vim の git ワーキングディレクトリを別名でコピーし、コピーしたディレクトリで git checkout -b old_namespace old_namespace
を実行して古い webapi-vim も置いて運用して下さい。
Posted at by



2012/04/03


このブログでも幾らかVimスクリプトを紹介してきて、その中でHTTPを使う様な物は webapi-vim というプラグインを使ってきました。
mattn/webapi-vim - GitHub

Vim Interface to Web API

https://github.com/mattn/webapi-vim
元々は experimental なプロジェクトだったのですが、色んなプロジェクトで使われる様になりました。 先日 gist-vim を更新してリリースしたのですが、gist-vim から使っている webapi-vim も vim.org に登録すべきたと言われました。
As gist.vim now requires webapi.vim, a stable version of webapi.vim should be published to vim.org. Not everyone is using a Vim package manager, and not everyone (including me) is keen on consuming potentially unstable latest bits from GitHub. By publishing stable releases on vim.org (and referencing those as a gist.vim dependency, including the version number needed), you allow people to consume gist.vim and its dependencies solely from vim.org.

PS: I also would suggest putting all webapi autoload scripts into a webapi subdirectory, as the module names are quite generic ("json", "html"), so there's a high likelihood of clashes with other plugins. (Or even separate versions of them; you seem to have copied some scripts from other authors.)
https://github.com/mattn/webapi-vim/issues/2
ここのコメントにも書いた通りなのですが、webapi-vim は experimental という事もあって、ルートネームスペースを持っていません。「http#get」というとても generic なネームスペースになっています。他に autoload/http.vim というファイルが一つでもあるとバッティングしてしまいます。
issues の内容はごもっともで、僕が放置してたのが悪いのです。
このまま放っておいたらもっと酷くなるのは見えているので、これを期にネームスペースを変えようと思います。
webapi に含まれる全ての API に対して webapi というネームスペースを設けようと思います。
http#get() であれば webapi#http#get() になります。各プラグイン製作者の皆さんにはこの変更を行って頂かなければならなくなります。

またこの更新を webapi-vim のリポジトリとは別のリポジトリで行おうとも思いましたが、現状 generic すぎるネームスペースの webapi-vim を皆さんのPCに残しておいてもしょうがないと思ったので、同じリポジトリを使おうかと思っています。
おそらく影響度が大きいかと思いましたので、一度確認の意味でもアナウンスしようかと思いました。
ご意見などあれば、コメント欄やメールでも構いません。ご連絡下さい。

追記
時期ですが、来週中にはやってしまいたいと思っています。
また、ネームスペースの変わった webapi-vim を試されたい方は、現状の webapi-vim のリポジトリで webapi_namespace ブランチを取得して下さい。私が提供しているほかのプラグインも webapi_namespace ブランチにて修正が行われています。
Posted at by