gnu screen (vim study #1)

17
GNU screen vim study/BP Study外伝 #01 shin(no)suke sato (id:shin_no_suke) 1

Upload: bpstudy

Post on 06-Jul-2015

3.111 views

Category:

Technology


0 download

DESCRIPTION

株式会社ビープラウドの勉強会BPStudy外伝として行われたVim studyの資料です。

TRANSCRIPT

Page 1: GNU screen (vim study #1)

GNU screen

vim study/BP Study外伝 #01

shin(no)suke sato(id:shin_no_suke)

1

Page 2: GNU screen (vim study #1)

GNU screenとは?

•仮想端末管理ソフト

• http://www.gnu.org/software/screen/

2

Page 3: GNU screen (vim study #1)

あなたがscreenを覚えないことがバカらしいたった一つの理由

3

Page 4: GNU screen (vim study #1)

(学習)コストパフォーマンスが高い

4

Page 5: GNU screen (vim study #1)

vim

zsh screen

変態。付き合いづらい

もっと変態。付き合いづらい

いい奴。付きあいやすい

付き合いやすさ

5

Page 6: GNU screen (vim study #1)

STEP0: 設定$HOME/.screenrc

defencoding utf8escape ^z^zhardstatus alwayslastline '%{= kG}[ %{G}%H %{g}][%= %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]'startup_message offdefscrollback 50000vbell off

6

Page 7: GNU screen (vim study #1)

STEP1: 起動

$ screen

7

Page 8: GNU screen (vim study #1)

STEP2 :仮想端末起動・切り替え

<C-z>c # 起動

<C-z>K # 終了

<C-z>端末の番号(0,1..) # 移動

8

Page 9: GNU screen (vim study #1)

STEP3:ウィンドウ分割

<C-z>S #分割

<C-z><Tab> #移動

<C-z>Q #分割解除

9

Page 10: GNU screen (vim study #1)

STEP4 : コピーモード

コピーモードとは現在の端末を一つのテキストファイルのように扱い、現在の端末の表示から消えてしまった後方箇所へバックスクロールしたり、特定の箇所をコピーして、現在のshellでペーストしたりすることができるモード。コピーモード中の移動に関してはviライク。

10

Page 11: GNU screen (vim study #1)

STEP4-1: 切替と移動

# コピーモード切り替え

<C-z><ESC> or <C-z>[

# 移動・検索(vim ライク)

<C-f>,<C-b> ?,/ hjkl

11

Page 12: GNU screen (vim study #1)

STEP4-2 :コピー・ペースト

<C-z><Space> -> (移動) -> <C-z><Space>

<C-z>Y # 現在の行をコピー

<C-z>] #ペースト

# コピー(開始・終了位置指定)

12

Page 13: GNU screen (vim study #1)

STEP4-3 :補足

•コピーモードを個人的によく使うのが?(後方検索)。例えばmysqlとかでテーブルが1000個くらいあるとshow tablesして後方検索で探したりできる

13

Page 14: GNU screen (vim study #1)

STEP5 : デタッチとアタッチ

screenの状態を保存して後で復帰させることができる。例えば

• 途中で切断された場合自動でデタッチ、もう一度接続してアタッチ

• 帰宅時にデタッチ、出社時にアタッチ

14

Page 15: GNU screen (vim study #1)

STEP5-1 : デタッチ

<C-z>d # デタッチ

$ screen -ls # デタッチされた一覧

15

Page 16: GNU screen (vim study #1)

STEP5-1 : アタッチ

# アタッチ

$ screen -r <プロセス番号 or 名前>

# 名前をつけてアタッチ

$ screen -S hoge -> screen -r hoge

# 一番最近のデタッチでアタッチ(?)

$ screen -r -R

16

Page 17: GNU screen (vim study #1)

まとめ•仮想端末起動・切り替え

•ウィンドウ分割

•コピーモード(コピー)

•デタッチ、アタッチ

•いい奴

17