2012、303日目の記事になります。#2というのが開催されるらしいですね。楽しみです(すごく)。Vimと対話せよはい、Vimに対する不満の一つに、cmdlineがありますね。Evilの置換実装、あれみたいなことができなかったりします。導入編こういう点に関しては、Emacsが羨ましかったりしますね。擬似的にcmdlineのようなものを作ってウィンドウ分割でごまかすくらいしか実装方法が思いつきません。それはそれとして、cmdlineへの不満の一つとして、「もっと対話したい」というのもあります。VimmerはもっとVimと対話したいのです。Vimのコマンドは、基本的に対話を考えていない様に見えます。未保存のバッファで:qを実行すると警告が出るのみで、ユーザはもう一度最初から打ち直し、:q!を実行する必要があります。これは非常に不便です。:qを実行したユーザがそのバッファを閉じたいと思っているのは明らかなので、「未保存だけど、どうする?強制的にqしちゃう?」とVimに聞いて欲しいですね。うん、こちらならなんとかなりそうです。いうわけでなんとかしました(なんとか)。BufferWipeoutInteractive()<cr>はい、これで<C-x>kにて対話的なバッファ削除を実装できました。私はバッファを綺麗サッパリ消したい派なのでbwipeoutを使っていますが、そうじゃない人はqとかでいいでしょう。quit?」と質問されます。cmdlineでそのまま何も入力せずにEnterを押下すると、デフォルト選択肢(1つ目の選択肢)であるNが選択されたとみなされ、バッファ削除がキャンセルされます。yを入力すると、bwipeout!が実行され、強制的にバッファが削除されます。次のようにしたらもっとよさそうです。BufferWipeoutInteractive()<cr>はい、これで、Nもしくは未指定でキャンセル、wで書き込みを行ってからbwipeout、qで書き込みを行わずにbwipeout!が実行されるようになりました。まとめcmdlineを利用して、もっとVimと対話していきましょう!はてブに追加この記事をツイートFeedlyで購読supermomongaかなりすごいことでゆうめい。したまちでしらぬものはいない。),;’EmacsユーザーがVimを1ヶ月使った感想RubyでGUIアプリを作るならJRuby+JavaFX+Rawrで決まり!automatic.vimでウィンドウの一時的分割をハンドリングしようももんが流NeoBundle管理術VimShellが動的プロンプトに対応しました(やばい)ジャズだって聴ける。X(1)homebrew(1)rbenv(1)Evil(1)Mechanize(1)Scraping(1)聴いてるやつ。