bash

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) 

2012年10月09日

Mac OS Xを使い始めて、疑問に思っていたこと。
terminalを起動してbashが起動しているのに、.bashrcが反映されない。
改めて調べてみると、bashでの.bashrcは本来の設定場所ではなさそう。
.bash_profileがメインっぽい。

このページがわかりやすい。
http://d.hatena.ne.jp/takuya_1st/20110102/1293970212

ま、.cshrcの頃からの名残で、.bashrcもあるのかなと思いつつ、黙って.bash_profileで.bashrcを読み込む設定を入れた。 

参考にしたのは以下。
http://tstylestudio.com/wp/2010/10/12/158/


sylphide_ffr31mr at 21:54コメント(0)トラックバック(0) 

2010年01月27日

bashを使っていて、コマンドの別名定義は、.bashrcの中で、alias文を使う。

alias rb='ruby'

のように。

ところが、引数を与えたいaliasは書くことができない。

alias rb='echo "excute $1"; ruby $1.rb'

とは、書けない。 正解は、以下のようにfunctionを使う。

function rb(){
echo "excute $1"
ruby $1.rb'
}

詳しくは、こちら



sylphide_ffr31mr at 22:27コメント(0)トラックバック(0) 
記事検索
最新コメント
プロフィール

やすき

月別アーカイブ
  • ライブドアブログ