備忘録 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
elisp練習
起点ディレクトリ以下のディレクトリをload-pathに追加。
(defun list-directory-tree (directory) (let ((dirs (list directory))) (mapcar (lambda (x) (and (file-directory-p x) (append-to-list 'dirs (list-directory-tree x)))) (directory-files directory t "^[^\.]")) dirs)) (append-to-list 'load-path (list-directory-tree "~/.emacs.d/site-lisp/"))
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のバイトコンパイルする前のソースをいれかただけ覚えた。
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で学ぶ遅延評価の基礎の基礎
とてもおおざっぱにいうと、
遅延評価は関数型プログラミングで、継続渡しは手続き型プログラミング
例も交えてみると大変納得。
この予備知識をもとに「プログラミングGauche」を再度読み直してみようと思います。
emasaka様に多謝。
Seasar Conference 2008 Spring
社内プロジェクトにSAStruts採用していることもあって、
知り合いと「Seasar Conference 2008 Spring」に参加してきました。
セッションはTeeda・S2DAO・DBFlute・Uluma・SAStruts
そして新プロジェクトとなる「Slim」
既存のSeasar2プロジェクトはどれもチュートリアル的な紹介。
ネットで調べれば簡単にみつかるような内容で
態々見にくる必要性はなかったな。
最後はSeasar2の枠組みからはずれた
国際向けの新プロジェクト「Slim(Simple, Less is More)」
どうやら今日はこれの発表会だった様子。
コンセプトは「Less is more.(建築用語で"より少ないことは、より豊かなこと")」
Seasar2が勝手に色々な事をやり過ぎていた部分をシンプルにした感じ。
特にゴチャゴチャとした印象だったdiconファイル周りが簡素になるのは良い。
まぁそれも直ぐにmediaに取り上げられる内容なので全体としては微妙な内容。
付き合わせた皆さんごめんね。
その後は新宿の善次郎でたらふくホルモン焼食ってきましたとさ。