vimでコマンドの出力をキャプチャする
- 2010年04月27日
- category:vim
- Comment(0)
- Trackback(0)
vimで:mapとかしたとき、その出力を検索したかったんですけど、やりかたがわからなかったのでtwitterで聞いたら解決方法を教えていただきました。ありがとうございました。
http://twitter.com/kana1/status/12874074721
:redirで出力をリダイレクトできるんですね。知らんかった。詳しくは:help redirしてもらうとわかると思うんですが、以下の様な感じでキャプチャを取れます。
:redir > file
:silent map
:redir END
他にも変数とかレジスタにもリダイレクトできます。でもまあこれだといろいろとめんどいので一発でキャプチャとれるような設定書こうと思ってたら以下の設定を教えてもらいました。
http://twitter.com/tyru/status/12929276859
Shougoさんによる完成版が以下。
gist: 369112 - GitHub
これで
:Capture map
でキャプチャとれるようになりました。ブラボー。
for name in ['kana', 'Shougo', 'tyru'] | exe 'let '.name.'+=1' | endfor
追記:さらに自分好みに修正してみた。buftype=nofileにしたりバッファ名に入力したコマンドを入れたりとか。
- Prev Entry
- 最近はword-breakするのにJSは使わないほうがいいみたい
- Next Entry
- git diffとかで表示が切れてしまうときの対象方法
コメントフォーム
スパムがひどいので一時的にコメントフォーム閉じます。ゴメンナサイ。
