vi boot camp #1

Post on 15-Jan-2015

2.391 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

http://atnd.org/events/22212

TRANSCRIPT

Vi Boot Camp #1in Gunma

2011/12/4

ツルマウソフト 早川真也

概要

•群馬

•エディタの位置付け

•Vi とは

•Vi スキル

•Vim の功罪

群馬

•赤岩渡船

•なかさと公園

•鳥めし

•焼きまんじゅう

エディタの位置付け

開発時のパラダイム

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

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

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

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

•…

開発時のパラダイム

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

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

エディタとは

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

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

•手段の一つに過ぎない

文字入力時のパラダイム

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

• IDE(統合開発環境)

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

•コマンドライン

Vi とは

Vi の特徴

•モード

•豊富な移動コマンド

•コマンドの直交性

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

•習得に時間が掛かる

モード

•normal

• insert

•command

•ex

•visual {not in Vi}

移動コマンド

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

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

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

特異な学習曲線

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

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

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

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

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

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

Vi の魔法(誇張アリ)

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

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

その魔法は重要か?

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

的な運動

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

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

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

なぜ Vi でないか

•習得に数年掛かる

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

個人的な趣味、こだわり

個人的な趣味、こだわり

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

個人的な趣味、こだわり

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

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

個人的な趣味、こだわり

個人的な趣味、こだわり

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

個人的な趣味、こだわり

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

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

個人的な趣味、こだわり

個人的な趣味、こだわり

•手に職をつけたい

個人的な趣味、こだわり

•手に職をつけたい

• ???

個人的な趣味、こだわり

個人的な趣味、こだわり

•修業が好き

個人的な趣味、こだわり

•修業が好き

• ・・・

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

何を選ぶか

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

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

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

•自分のスタイル

でも今日はVi Boot Camp

Vi スキルとは

Vi 使えてますか?

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

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

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

•<Esc> or CTRL-[

Vi スキル

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

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

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

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

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

•適度に空行が入る

Vi コマンドの実際

•CTRLキーの打鍵方法

•実演

Vim の功罪

Vim の功罪

•visual モード

•Vim プラグイン

見逃せないVimの機能

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

• insert モード時のコマンド

•command モード

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

•quickfix.txt, tagsrch.txt, …

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

宣伝

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

•App Store で販売予定

まとめ

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

top related