Screen の caption に Vim のタイトルを表示する(+タイトル文字列のカスタマイズとか)


Vim を起動するとタイトルバーに編集中のファイル名などが表示されます。

Screen で「タイトルバー」の代わりとなるものは caption ですが、そのままの設定では Vim からのメッセージが表示されません。
これは次のように設定すると解決します。^[ のところは Control + V ESC のように入力してください。

if &term =~ '^screen'
    set t_ts=^[k
    set t_fs=^[\
endif

はい。終わり。……では悲しいので、この文字列をもうちょっとカスタマイズしてみましょう。

Continue reading

最近の(僕の)GNU Screen 事情

久々に GNU Screen について書きます。

先年 Screen 界に颯爽と現れ、その 変態的なまでに 充実した .screenrc により他人の .screenrc をコピペしてきて済ませちゃう(引用)各人の蒙を啓き、そのまま .screenrc の新世界の扉まで開いちゃった暇人は多大な時間を浪費して、たかが画面最下部の一行を自分以外の誰も気付かないようなギークな装飾で彩り、悦に浸り、しばらくすると飽きて馬鹿馬鹿しくなり、喉元過ぎて熱さを忘れるとまたその伏魔殿に挑むという、何とも業の深いサイクルに僕が陥るきっかけとなったエントリがこちらです。

卜部昌平のあまりreblogしないtumblr – 俺の .screenrc が火を吹くぜ
http://shyouhei.tumblr.com/post/313410522/screenrc

先日、ありがたくもこのご本人から Screen についての講義を拝聴する僥倖に恵まれ、久々にサイクルが一巡し、また .screenrc にハマってしまいました。

このブログのエントリ を書いたときからはだいぶ状況も様変わりしていますので、改めて現況をまとめてみたいと思います。

Continue reading

端末上の Vim からローカルにコピーする

端末アプリ + GNU Screen を使ってリモートサーバでコーディングしているとコピー & ペーストで詰まることがよくある。Screen 内でコピーした文字列を手元のブラウザで検索しようとしたとき、マウスでドラッグして選択するしか方法がないので、いちいちキーボードから手を離すのが億劫だったのだ。それを解決してくれるのがこれ。

ssh先screenのペーストバッファをクリップボードに貼り付ける – Keep It Simple, Stupid
http://yskwkzhr.blogspot.com/2011/04/copying-remote-screen-paste-buffer.html

参考サイトの通りに設定すると、たとえば Ctrl + aCtrl + ] を押すことでコピーした内容がローカルのクリップボードに貼り付けられる。後はメモ帳でも Firefox でも何にでも貼り付ければいい。

Continue reading

GNU Screen の hardstatus に CPU 使用率・温度・バッテリー情報を表示する

110805-0002.png

GNU Screen を Mac で使うときの話。iTerm2 が最新版で Lion のフルスクリーンモードに対応した。今まではバッテリー情報その他を iStat Menu で確認していたのだが、フルスクリーンモードではこれが見えない。不便だと思ってたら、やはり先人が何とかしてくれてました。

Continue reading

keyhac で簡単なマクロを作ってみる

keyhac を使ってキー配列をいじるスクリプトを紹介してきたが(その 1その 2)このソフトではキーボードやマウスを使ったマクロを書くこともできる。今回は簡単な例として、Putty + GNU Screen での例を書いてみる。

Putty + GNU Screen でウィンドウを簡単に切り替える

GNU Screen で複数のウィンドウを切り替える場合は“コントロールキャラクタを押した後に数字キー”という操作を行う。具体的には、

  1. Control + Z を押す1
  2. Control + Z を離す。
  3. 3 を押す。

これで 3 番のウィンドウに切り替わる。毎回 Control を離す動作が面倒なのだ。これを、単に Control + 3 だけで切り替わるようにしたい。

config.py(部分)

def configure( km ):
    km_putty = km.defineWindowKeymap( exe_name = u"PUTTY.EXE" )
    for i in xrange( 10 ):
        km_putty[ "C-" + str( i ) ] = km.command_InputKey( "C-Z", str( i ) )

2 行目では特定のプログラム(PUTTY.EXE)でのみ有効なキーマップ(km_putty)を得ている。そして 4 行目がキモ。command_InputKey メソッドは引数に並べたキーを順に押した場合と同じ効果を得るための関数を返す。

このスクリプトを使うと、Putty + GNU Screen な環境で Control + 09 を押すと、0 番~ 9 番のウィンドウに切り替わるだろう。

Continue reading

最新版 GNU Screen のインストール on CentOS 5.4

久々にインストールしようとしたらいろいろと苦労したのでその記録。

以前試したときはソースツリーにバグがあった(?)為に最新版を git で持ってくるとコンパイルできなかったりしたのだが、今回試したところ、又別の問題があった。

最新版GNU Screenで縦分割(その1〜導入編〜) | blog.delphinus.dev
https://blog.delphinus.dev/2010/02/gnu-screen.html

最新ソースを手に入れてビルド開始 → 失敗

$ sudo yum install git
$ git clone git://git.savannah.gnu.org/screen.git
$ cd screen/src
$ autoconf
configure.in:48: error: possibly undefined macro: AC_USE_SYSTEM_EXTENSIONS
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.

ここでエラー。「AC_USE_SYSTEM_EXTENSIONS」でググってみると、どうやら autoconf-2.6.0 が必要らしい。CentOS 5.4 では autoconf-2.5.9 なのが問題みたいだ。Fedora からパッケージを貰ってきてインストールする。

Continue reading