IdeaVIM

IdeaVIM v0.33がリリースされました

http://plugins.jetbrains.com/plugin/164目玉機能は「mapコマンドのサポート」です。以下のいずれかの設定ファイルに map コマンドを登録しておくことで、任意のキーに任意の機能を割り当てることができます。 ~/.ideavimrc, ~/_ideavmrc, ~/.vimrc, ~/_vim…

IdeaVIMで待望のmapコマンドが実装されるよ

まだリリースされてないので、TeamCityから最新のビルドを取ってきてね。 → http://teamcity.jetbrains.com/viewType.html?buildTypeId=bt299&guest=1 前々から要望の多かった :mapコマンドが実装されてた。こんなさっくり実装しちゃう[twitter:@vlasovskikh…

Re: IdeaVimを入れて困っていること

この投稿はIntelliJ IDEA Advent Calendar 2013の14日目の投稿です。前日のエントリの回答編です(ネタに困って手抜きした訳ではありません。:-) → IdeaVimを入れて困っていること - Qiita IdeaVIMについて 以前、こんなエントリを書いたので、まずはこちら…

jVi, Vrapper, IdeaVIMの比較

ちょいと前にマジメに比較してみて、そのまま死蔵してた資料が出てきたので供養のつもりで公開してみる。知らない人に簡単に説明すると、jVi, Vrapper, IdeaVIMはそれぞれNetBeans, eclipse, IntelliJ IDEAのvi/vimプラグイン。世の中のvi/vimユーザの怨念た…

IdeaVIMで編集モード復帰時に強制的にInput MethodをOFFるようにした

タイトルで終了。香り屋版VimやMacVimがこれできて大変便利だったので,ふと「IdeaVIMでも出来ないかな」と思ったのが運の尽き。ちょいと調べてみたらJavaでInput Methodを制御するのは難しい(できない?)らしく,このこの辺参考にしながら試行錯誤してみ…

IdeaVIMを地味に使いやすくする

YouTrackのideavimカテゴリをつらつら見ていたら「これ,IdeaVIM直さなくてもできるな」ってのを見かけたので,ちょっと試してみた。 コード補完の候補や,その他のポップアップウィンドウの選択候補をCtrl+J/Ctrl+Kでカーソル移動させたいってやつ。別にIde…

ぼくがかんがえたさいきょうのIdeaVIM

って言うほど最強じゃないけど,IdeaVIMがリリースされるたびにパッチ当てるの疲れたからforkしたって話。一応,いくつかはpull request出してるよ(放置されてるけどw 公式のIdeaVIMの代わりに,ここに置いてあるオレオレIdeaVIMを使うと,IntelliJ起動時…

Mac OS X Lionのキーリピートの代用文字入力とIdeaVIM

いつの頃からかIdeaVIMのカーソル移動(hjkl)のキーリピートが効かなくなって「IDEA11 EAPだからかな?」「なんか余計なソフト、インスコしたっけか?」「IdeaVIMのバグか?」と悩んでいたのだけれど、今日やっとその原因がわかった。 ちなみに、右移動(l…

IdeaVIMとSolarizedとRicty

Solarizedは目に優しいカラースキームらしいのだけれど、IntelliJのカラースキームがイマイチよろしくないので自前用に直した。んでもって、Rictyなんてフォントが出たので Monospace から変更してみた。Monospaceもキライじゃなかったんで、Rictyが定着する…

mapコマンドの代わりに,こんなの作ってみた

vrapperのmapコマンド,うらやましいと思ったんだけど,よくよく考えてみたらホントに欲しいのは mapコマンド じゃなくて 「IDEネイティブコマンドをvim風コマンドにリマップする」ことだったと気づいた。 今までやってたオレオレmapコマンドもどきもやって…

細かすぎて伝わらないIdeaVIMの挙動

片平さんが不満げだったIdeaVIMの挙動を確認してみたら、ちょっと設定直すだけでうまくいったでアルの巻。 入力モードで下記のようにコード補完時に、ふと思い立ってESCキー押して編集モードに戻りたい。なんてのはIDEでviキーバインド使っていると良くあり…

ついカッとなってtext objectのi", a", i', a'を実装した

IdeaVIMって実は text object を実装しているんだけど,どうゆうわけかQuote系(", ', `)とタグ(t)が未実装なのだ。タグは(難しそうだから)まあわかるとして,Quote系くらい実装しといたっていいやんか,と思い,ついカッとなって実装してしまった。:-) ち…

RubyMine版IdeaVIM

http://plugins.intellij.net/plugin/?id=4433 いつの間にか出てた。コードベースはIntelliJと同じなんだろうから,俺様パッチあたると思うんだけど,ソースがどこにあるのかわからない。>< ps. 自分がIntelliJ+IdeaVIMに取り憑かれているように,世の中…

最近不調だった:sコマンドを直してみた

いつの頃からはもう忘れてしまったが,IdeaVIMでexコマンドの:sを使うと,もれなくArrayOutOfBoundsExceptionが出て動かなくなってしまってた。困ったなー,しかたないなーと思いつつ,ずーっと放置してたんだけど,今日ちょっとその気になったので調べてみ…

調子に乗ってi_CTRL-N, i_CTRL-Pもリマップした

これは元々IntelliJが持っている機能(Cyclic Expand Word/Cyclic Expand Word(Backward))なのだけれど,IdeaVIMでリマップするとimap相当のことができるので,あえてこっちで設定することにした。 これが,そのパッチ。 Index: src/com/maddyhome/idea/vim…

mapコマンドがないから,コード直接いじってオレオレIdeaVIMを作ったよ

Sendai.vimでvim力を補充してきたので,IDEA8でちょいと不調だったIdeaVIMにパッチ充ててみる。 ...つもりだったのだが,ハメを外しすぎていつの間にかオレオレIdeaVIMを作っているの巻。 とりあえず,IdeaVIM on IDEA8の不調と,その応急処置について。 Got…

とりあえずsurround.vim相当のことを自力でやってみる

部分的とはいえTextObjectsサポートしてるしなってんで,カーソル位置の単語を"${}"で囲んでみたよ。 ciw${}<ESC>Pでイケた(無論,vimでも使える)。これでmapコマンド使えればも言う事無しなのに。:-( #残念ながら,jVi for NBはTextObjects未サポートなんでダ</esc>…

Normal Modeに戻るときInput MethodをOFFにするようにしてみた

意外と簡単だった。他所のプラットフォームで動くかどうかわからんが,Windowsで動いてるからいいや。 Index: src/com/maddyhome/idea/vim/group/ChangeGroup.java =================================================================== --- src/com/maddyh…

Operator Pending Modeってこれか

演算子未解決モード ノーマルモードに似てますが、演算コマンドが実行された後で、その演算の適用範囲を決定するための移動コマンド({motion}) を得るために、Vim が待機している状態です。 http://www.ac.cyberhome.ne.jp/~yakahaira/vimdoc/intro.html#Ope…

プラグイン作って覚えたことを淡々と記録するよ(各種リスナ編)

イヤ,プラグイン作ってないし。:-P IdeaVIMを調べたときのメモを後世に残す。

IdeaVIMの適用範囲をテキストエディタ下のEditorのみにしてみた

休み明けとか言っときながら,しんぼうたまらずやっちゃった。:-)

大雑把ながらもIdeaVIMの構造は理解したよ

とりあえず,IdeaVIMがどうやってキーイベント拾ってるのかがわかったんで,あとは何とかなるかな。うまく行けば,長年の不満が解消できるかも知んない。:-) でもMacBookで開発するにはもう限界だから,続きは休み明けにする〜。 #プラグイン開発すんのに,…

ついカッとなって,IdeaVIMのword motionをVim並にしてみた

IdeaVIMは日本語などのマルチバイトを特別扱いしてくれないため,「ABCでEFG」のような文字列は1語として扱われる(vimの場合,「ABC|で|EFG」の3語になる)。それでも,仕方ないなかと思い使い続けてきたんだけど,jVi for NBがマルチバイトを区別できた…

IdeaVIMのJoin LinesをIDEAのソレ(Smart Join)に差し替える

ここ書き換えればOK。 public class DeleteJoinLinesSpacesHandler extends ChangeEditorActionHandler { public boolean execute(Editor editor, DataPackage context, int count, int rawCount, Argument argument) { if (editor.isOneLineMode()) { retur…

RegisterActionsを覗く

RegisterActions(com.maddyhome.idea.vim.keyパッケージ)とは,IdeaVIMの全コマンドの登録を司っているクラス。ここのソース読むと,IdeaVIMがサポートしているVimコマンドとキーバインドが一目瞭然なのだ。 そこで気付いたのが,矩形選択(blockwise-operat…

IdeaVIMで使えるVimオプションの一覧

思うところあって,最近IdeaVIMのソースの読んでいるのだけれど,結構知らなかった機能が見つかったりして,なかなか面白い。 つーか,3年以上使ってるのに,特定の機能しか使ってなかったんだなぁ。>IdeaVIM 知らなかった機能。そのイチが起動オプション−…