conque

2012年10月10日

普段、bashなどのシェルを使って作業をしていると、その作業履歴や出力結果を保存しておきたいときがある。
通常であれば、terminalのスクロール機能で遡って、ウィンドウマネージャの機能でコピペをすればいいのだが、それすらもマウスを使わずにやろうとすると、なかなか難しい。

VZ Editorの時代は、VZを常駐させておけば、ワンキーでバックログをエディターに取り込めたものである。

ひとつのソリューションは、screenやtmuxといった、仮想端末の仕組みを導入することであるが、それは利用形態そのものが変わってしまうため、そこまでするのは大げさだと思った。
シェルのバックログを何らかの手段で保存しておき、それを任意のタイミングでvimのバッファに渡せればいいわけで、それを実現する方法を探ってみた。
vimshellも良さげであったが、しっくりしたのは、ConqueTermというvimのプラグイン。

http://code.google.com/p/conque/
 
vimからpythonを呼び出すのは、evervimと変わらないので、早速導入。
vimを起動して、

:ConqueTerm bash

と打つと、bashでシェル画面になる。
vimのインサートモードでシェルが動いているので、<ESC><Enter>と打つと、インサートモードを抜ける。
すると、今までの出力結果が、vimのバッファ上にある、という仕組み。

以下のショートカットと設定を、.vimrcに書いておくことにした。

nnoremap <silent> ,g :ConqueTermSplit bash <CR>
let g:ConqueTerm_CWInsert = 1
 
CWinsertを1にしておくと、インサートモードからの抜け方がCtrl+wの1キーで抜けられるようになる。
また、シェル画面の開き方も、SplitやVsplitやtabが選べる。
 
これでまた、キーボードから手を離さなくてよくなった。
vim楽しい!


sylphide_ffr31mr at 22:48コメント(0)トラックバック(0) 
記事検索
最新コメント
livedoor プロフィール
月別アーカイブ
  • ライブドアブログ