備忘録 screenの設定 (気分更新)

screenを導入したので設定等の晒し上げ

■.screenrc

defencoding UTF-8
escape ^z^z
defscrollback 1024
hardstatus alwayslastline
hardstatus string "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %m/%d %C%a "
shell /bin/zsh


markkeys h=^b:l=^f:$=^e:^d=^v


vbell off
startup_message off
autodetach on


bind -c REGION 2 split
bind -c REGION 1 only
bind -c REGION 0 remove
bind -c REGION o focus
bind x command -c REGION

  • エスケープキャラクタはC-z
  • shellはzshを仕様
  • コピーモードのキーバインドemacsに(C-f, C-b, C-e, C-v)
  • ウィンドウ関連のキーバインドemacs「風」に(C-z x 0, C-z x 1, C-z x 2, C-z x o)
  • startup messageをoff
  • etc

■.zshrcに追加

# screenでsshしたときに新しい仮想画面+画面名をログイン先のホスト名に
function ssh_screen(){
 eval server=\${$#}
 screen -t $server ssh "$@"
}
if [ x$TERM = xscreen ]; then
  alias ssh=ssh_screen
fi

# zsh起動時にscreenの自動起動
case "${TERM}" in
kterm*|xterm*)
  screen
esac

■基本操作(key-bind変更済)
ウィンドウ関連

  • C-z 1..9 n番目のウィンドウに切り替え
  • C-z c 新しいウィンドウを作成
  • C-z A ウィンドウの名前を変更
  • C-z n ウィンドウの切替(昇順)
  • C-z p ウィンドウの切替(降順)
  • C-z w ウィンドウ一覧の表示(常に表示させてるからイラネ)

画面分割関連

  • C-z x 2 画面を分割する(横)
  • C-z x 1 画面を一つにする
  • C-z x 0 画面を閉じる
  • C-z x o 画面を切りかえる

コピーモード関連

  • C-z [ コピーモードの開始
  • C-z ] コピーモードの終了、コピーモードで選択したバッファの貼り付け
  • C-f コピーモード中にカーソルを一つ進める
  • C-b コピーモード中にカーソルを一つ戻す
  • C-n コピーモード中にカーソルを一行下に
  • C-p コピーモード中にカーソルを一行上に
  • C-a コピーモード中にカーソルを行の先頭に
  • C-e コピーモード中にカーソルを行の最後に
  • SPC コピーモード中に領域の選択

■TODO

  • コピーしたバッファをクリップボードに入れる
  • 画面の縦分割 -> バッチ等を当てれば可能みたい

■参考URL
Let's use SCREEN!
http://www.dekaino.net/screen/
GNU screen いろいろまとめ。 - naoyaのはてなダイアリー
http://d.hatena.ne.jp/naoya/20051223/1135351050
つなが〜る - .screenrcを晒してみる
http://mobcov.nowa.jp/entry/d7673576c3

tokyo-emacs #x01参加してきました。

コピペ厨のためのemacs勉強会 tokyo-emacs#x01に参加してきました。
後一人って所でギリギリ定員割れだったけど、
主催者であるid:hayamizさんに直接連絡したら
前日の深夜に一人キャンセルが出てくれたらしい。

⊂(^ω^)⊃ セフセフ!!

;;;
;;; 以下、個人的に気になった点とか感想とかの箇条書き。
;;;

emacsの基本を勉強しなおそう市民連合会

参加条件:情熱
いつの間にか入ってた。

'(',')'は空気。

S式言語が読めない奴はKYってことなんですねわかります。

pabbrev.el

不覚にもしらなかった。
動的に略語を登録してくれるabbrevらしい。
.abbrev_defに書きこんでくれるのかな?
anythingと連携させたらフリーザ倒せそう。

moz.el/moz-plus.el

emacsからtelnet経由でfirefoxを操作できるelisp
気にはなっていた使い道が思い浮ばなかったlispの一つ。
これを機にさっそくinstall-elisp

鬼軍曹.el

使っwwてwwwるwwwww

sense-region.el

矩形選択を簡単にするelisp
以前入れたけど矩形選択の標準bindに使わなかった記憶がある。
再インストール。

files.el

中身を皆で覗いてみた。
interpreter-mode-alistとかmagic-mode-aliasとか全てが未知の世界。
標準のelispのバイトコンパイルする前のソースをいれかただけ覚えた。

anything.el

id:IMAKADOさんのきもかわいすぎる。
anythingによるperlの入力補完すげぇぇぇーー。
今度anything設定をemacs-wikiとかに上げてくれないかな。

かがみん

かがみんかわいいよかがみんevalしちゃいたいぐらいかわいいよ。

;;;
;;; 小ネタ系
;;;

(debug)

elispからのdebuggerの起動。
その後eでeval。

(setq skk-show-tooltip t)

skkの変換をtooltipに表示
試しに会場で使ってみたら表示真っ白w
色の設定か?

M-x ansi-term

emacs内でterminaleを実行。
zshも動く。すげーすげー!!

C+M+q

indent-pp-sexp。
indent-regionつかってたけどこっちのほうが便利ね。


やっぱり今のご時世にemacsやろうなんて奴等は大変お馬鹿でいいね。
懇談会の居酒屋で繰り広げられるlisp談義とかemacsを使ったナンパ術とても良い刺激になりました。
俺もああなっちゃうぞーー。うふふふふふ。


後、2008/07/04に8488回目のlinuxカーネル勉強会があるらしい。
全然ついてけなさそうだけどこっちも参加してみようかな。

継続と遅延評価

「プログラミングGauche」で理解できずに読み飛ばしてしまっていた「継続」を
大変わかりやすく解説してくれたエントリーをみつけ、思わず欲情欲情してしまった。

本を読む FizzBuzzとGaucheで学ぶ遅延評価の基礎の基礎

本を読む FizzBuzzとGaucheで学ぶ継続の基礎

とてもおおざっぱにいうと、

遅延評価は関数型プログラミングで、継続渡しは手続き型プログラミング

例も交えてみると大変納得。

この予備知識をもとに「プログラミングGauche」を再度読み直してみようと思います。


emasaka様に多謝。

Seasar Conference 2008 Spring

社内プロジェクトにSAStruts採用していることもあって、

知り合いと「Seasar Conference 2008 Spring」に参加してきました。

セッションはTeedaS2DAODBFlute・Uluma・SAStruts

そして新プロジェクトとなる「Slim」

既存のSeasar2プロジェクトはどれもチュートリアル的な紹介。

ネットで調べれば簡単にみつかるような内容で

態々見にくる必要性はなかったな。

DBFluteC#のLINQっぽくて可愛かったけど。


最後はSeasar2の枠組みからはずれた

国際向けの新プロジェクト「Slim(Simple, Less is More)」

どうやら今日はこれの発表会だった様子。


コンセプトは「Less is more.(建築用語で"より少ないことは、より豊かなこと")」

Seasar2が勝手に色々な事をやり過ぎていた部分をシンプルにした感じ。

特にゴチャゴチャとした印象だったdiconファイル周りが簡素になるのは良い。



まぁそれも直ぐにmediaに取り上げられる内容なので全体としては微妙な内容。

付き合わせた皆さんごめんね。


その後は新宿の善次郎でたらふくホルモン焼食ってきましたとさ。