vi boot camp #1

45
Vi Boot Camp #1 in Gunma 2011/12/4 ツルマウソフト 早川真也

Upload: shinya-hayakawa

Post on 15-Jan-2015

2.391 views

Category:

Technology


3 download

DESCRIPTION

http://atnd.org/events/22212

TRANSCRIPT

Page 1: Vi Boot Camp #1

Vi Boot Camp #1in Gunma

2011/12/4

ツルマウソフト 早川真也

Page 2: Vi Boot Camp #1

概要

•群馬

•エディタの位置付け

•Vi とは

•Vi スキル

•Vim の功罪

Page 3: Vi Boot Camp #1

群馬

•赤岩渡船

•なかさと公園

•鳥めし

•焼きまんじゅう

Page 4: Vi Boot Camp #1

エディタの位置付け

Page 5: Vi Boot Camp #1

開発時のパラダイム

•ソフトウェア開発手法、…

•言語、ライブラリ、フレームワーク、…

•版管理、テスト、デバッグ、…

•DB、ネットワーク、OS、…

•…

Page 6: Vi Boot Camp #1

開発時のパラダイム

•頭で考えることがたくさん

•エディタを使った作業の割合は僅か

Page 7: Vi Boot Camp #1

エディタとは

•テキスト編集、文字入力

•物理的な体の動きに繋がる行為で大きな割合を占めるI/F

•手段の一つに過ぎない

Page 8: Vi Boot Camp #1

文字入力時のパラダイム

•エディタ(Vim, Emacs, etc)

• IDE(統合開発環境)

•入力補助(マクロ, 履歴, 補完, etc)

•コマンドライン

Page 9: Vi Boot Camp #1

Vi とは

Page 10: Vi Boot Camp #1

Vi の特徴

•モード

•豊富な移動コマンド

•コマンドの直交性

•体で覚える(頭を使わなくて済む)

•習得に時間が掛かる

Page 11: Vi Boot Camp #1

モード

•normal

• insert

•command

•ex

•visual {not in Vi}

Page 12: Vi Boot Camp #1

移動コマンド

•$, %, ^, (, ), -, _, +, |, [, ], {, }, ‘, ;, ,, /, ?, b, B, e, E, f, F, G, h, H, j, k, l, L, M, n, N, t, T, w, W, …

Page 13: Vi Boot Camp #1

全ての移動コマンドが編集系のコマンドと組み合わせできる

Page 14: Vi Boot Camp #1

Vi には無駄なコマンドが無い

Page 15: Vi Boot Camp #1

特異な学習曲線

http://www.halon.org.uk/stuff/curves.jpg

Page 16: Vi Boot Camp #1

•体で覚えなければ使えない

•とりあえず使い始めることが難しい

•覚えようとしない限り、いつまでもコマンドが身に付かない

•決して多くはないが少なくもないコマンド数

Page 17: Vi Boot Camp #1

それでもVi を選びますか?

Page 18: Vi Boot Camp #1

Vi の魔法(誇張アリ)

•自分の思った場所へ、瞬時にカーソルを移動できる

•目の前の文字列が、次の瞬間イメージした通りに変わっている

Page 19: Vi Boot Camp #1

その魔法は重要か?

Page 20: Vi Boot Camp #1

なぜ Vi か•キーボードをタイピングする行為は、身体

的な運動

•Vi は比較的、身体的な訓練を必要とする側面が強い

•棲み分けを導くことで、思考を妨げずにテキスト編集が可能になる

•日常的なテキスト編集の繰り返し

Page 21: Vi Boot Camp #1

なぜ Vi でないか

•習得に数年掛かる

•プログラミング行為の中で、テキスト編集の占める割合は少ない

Page 22: Vi Boot Camp #1

個人的な趣味、こだわり

Page 23: Vi Boot Camp #1

個人的な趣味、こだわり

•タイピングは速さと精確さを追い求めたい

Page 24: Vi Boot Camp #1

個人的な趣味、こだわり

•タイピングは速さと精確さを追い求めたい

•速さや精確さは重要ではない

Page 25: Vi Boot Camp #1

個人的な趣味、こだわり

Page 26: Vi Boot Camp #1

個人的な趣味、こだわり

• .vimrcが無い環境でも常に最高のパフォーマンスを発揮したい

Page 27: Vi Boot Camp #1

個人的な趣味、こだわり

• .vimrcが無い環境でも常に最高のパフォーマンスを発揮したい

• .vimrcが無い環境は切り捨てても問題ない場合が多い

Page 28: Vi Boot Camp #1

個人的な趣味、こだわり

Page 29: Vi Boot Camp #1

個人的な趣味、こだわり

•手に職をつけたい

Page 30: Vi Boot Camp #1

個人的な趣味、こだわり

•手に職をつけたい

• ???

Page 31: Vi Boot Camp #1

個人的な趣味、こだわり

Page 32: Vi Boot Camp #1

個人的な趣味、こだわり

•修業が好き

Page 33: Vi Boot Camp #1

個人的な趣味、こだわり

•修業が好き

• ・・・

Page 34: Vi Boot Camp #1

修業が好きじゃないとVi 使えない?

Page 35: Vi Boot Camp #1

何を選ぶか

•好きなエディタ、IDEを選べば良い

•どんな環境でも習熟する事はできる

•習熟しなくても実用的な環境はある

•自分のスタイル

Page 36: Vi Boot Camp #1

でも今日はVi Boot Camp

Page 37: Vi Boot Camp #1

Vi スキルとは

Page 38: Vi Boot Camp #1

Vi 使えてますか?

• j を連打していないか?

•a や i に頼りすぎていないか?

•visual モードを多用していないか?

•<Esc> or CTRL-[

Page 39: Vi Boot Camp #1

Vi スキル

•コマンドを体で覚えている

•数えずに行数を把握できる

•ある行に同じ文字がいくつあるか分かる

•コマンドの連絡ができる

•記号や数字のキーを楽に打てる

•適度に空行が入る

Page 40: Vi Boot Camp #1

Vi コマンドの実際

•CTRLキーの打鍵方法

•実演

Page 41: Vi Boot Camp #1

Vim の功罪

Page 42: Vi Boot Camp #1

Vim の功罪

•visual モード

•Vim プラグイン

Page 43: Vi Boot Camp #1

見逃せないVimの機能

•gi, gJ, gQ, q, u, U, CTRL-R, !, ...

• insert モード時のコマンド

•command モード

•様々なレジスタ、ジャンプリスト、…

•quickfix.txt, tagsrch.txt, …

•テキストオブジェクト…?

Page 44: Vi Boot Camp #1

宣伝

•Mac 専用 Vi エディタ開発中

•App Store で販売予定

Page 45: Vi Boot Camp #1

まとめ

•頭であれこれ考えることなく、体が勝手に動くようになると楽しい!