通常の3倍の速度でプログラミング!?「 emacsキーバインドのすすめ」

53
通通通 3 通通通通通 通通通通通通通!? Emacs 通通通通通通通通通通 2014/08/22 @DIST.4 Life is Short

Upload: kinkumadesign

Post on 28-May-2015

2.330 views

Category:

Software


9 download

DESCRIPTION

Emacsといえばviと並んで、スーパーはかーな皆様ご用達のエディタ。そして両エディタは、それぞれ特徴的なカーソル移動のショートカット(キーバインド)を持っています。今回はそんな『Emacsのキーバインドならば、IDEを選ばずに通常の3倍の速度で入力可能ッ!』(※)をご紹介します。 ※感じ方には個人差があります この発表は勉強会 DIST.4 「Life is Short」 で行われました このスライドに関するブログエントリ書きました http://www.kuma-de.com/blog/1-diary/2014-08-25/6809

TRANSCRIPT

Page 1: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

通常の3倍の速度でプログラミング!?

Emacsキーバインドのすすめ

2014/08/22 @DIST.4 「 Life is Short 」

Page 2: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

フロントエンドエンジニア( 2008 年よりフリーランス)

Web: JavaScript, TypeScriptiOS: Objective-C, (Swift 勉強中)Flash/AIR: ActionScript3/2

ブログhttp://www.kuma-de.com/

ついったー@kinkuma_design

仕事では、 Web アプリや、 iOS のネイティブアプリ、 AIR を使ったアプリなど、営業用とか教育用のツール系を制作することが多く、そして得意です!

あと、クリエイティブ系のセミナーをやったりする F-site のスタッフをやってますhttp://f-site.org/

Page 3: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

個人制作の日課管理・記録アプリHabit KeeperAppStore で好評発売中!!https://itunes.apple.com/jp/app/id567646997?l=ja&mt=8

無料版もあります!https://itunes.apple.com/jp/app/id602525022?l=ja&mt=8

地味にカテゴリでランキングに入ってます。

おかげさまで有料+無料合わせて5 万ダウンロードされました!

Page 4: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

さて、ここから本編です

Page 5: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」
Page 6: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

私のアツいプログラマー活動

Page 7: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

プロカツ!始まります!フフッ

Page 8: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

さて、プロカツ!といえば、なんといってもコードを書くお仕事です。(設計もやりがいあるけど)

Page 9: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

毎日コードを書いて、ふとあることに気がつきました。

Page 10: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

カーソル移動でキーボードから手が一瞬離れる

Page 11: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

カーソル移動?

Page 12: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

カーソル移動?

これです

Page 13: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

カーソル移動?

矢印キー

Page 14: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

キーボードから手が離れる?

Page 15: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

キーボードから手が離れる?

ホームポジション

Page 16: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

キーボードから手が離れる?

カーソルキーを押すため移動

Page 17: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

キーボードから手が離れる?

この距離

Page 18: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

この距離を

「カーソル運動距離」(仮)

とします

Page 19: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

カーソル運動は、プログラミング中にとても頻繁に行われます。

Page 20: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

ある脳内統計※によると、ひとつのプロジェクトで、このカーソル運動距離(仮)の総延長距離は「地球を 7 周半回る」そうです!

※2014 年きんくま脳内調べ

ちきゅう

Page 21: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

地球を 7 周半!?※ 個人の感想です

Page 22: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

これは穏やかじゃないわね!

Page 23: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

そうだ!

Page 24: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

移動をしなければいいんだ!

カーソル運動距離 0

ちきゅう

0

Page 25: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

でもどうやって、、、、?

Page 26: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

そこで!

キタ━━━━ ( ゚∀゚ ) !!━━━━

Page 27: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

Emacs

Page 28: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

Emacs といえば、、

プログラマーたちが最後にたどり着くフロンティア。

そして vi 教団との熱き戦いの日々(あ、でも実際はお互いあんまり意識してなさそう)

Page 29: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

その「 Emacs のキーバインド」を使えばいいんだ

Page 30: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

「キーバインド」?

Page 31: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

「キーバインド」?

= 要するにショートカットのことです。

Page 32: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

例)上 = Ctrl + p下 = Ctrl + n左 = Ctrl + b右 = Ctrl + f

ちなみに頭文字みたいです( p = previous, n = next, b = back, f = foward )

Page 33: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

準備

CapsLock などになっているこのキーを Control キーにします(どうやってやるかは後述)

Page 34: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

そしてこのキーを左手の小指でおさえつつ、他のキーを押してカーソル移動させます。

Page 35: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

慣れないうちは小指がつりそうになりますが、すぐに慣れます。

頭で考えなくてもよいぐらいに、カーソル移動ができるようになれば、プログラミングが通常の 3 倍の速度でできるようになります。

※ 個人の感想です※ 使用状況によりキーボードが赤くなる場合があります

Page 36: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

実際に使っているキーバインド全 10種(他にもありますがマウス併用するなどしてこれで足りてます)

1 文字後ろを消す  Ctrl + d1 文字前を消す  Ctrl + h(※)何かのアプリでバッティングすることが多かったので、私は素直に Backspace を使っています。

カーソル位置から行末まで消すCtrl + k

カーソル位置から行末まで選択Shift + Ctrl + e

上  Ctrl + p下  Ctrl + n左  Ctrl + b右  Ctrl + f行頭  Ctrl + a行末  Ctrl + e

Page 37: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

これさえできれば、手をホームポジションの位置から動かすことなくカーソル移動が可能に!

Page 38: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

そう Emacs さえ使えれば、きっと私もトッププログラマーに!

Page 39: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

でも!!

Page 40: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

使いこなせませんでした、、、、。

(TдT) …ウゥ

Page 41: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

Emacs は難しかったです。すみません。(カーソル移動とファイルの保存くらいしかできません、、)IDE ぐらいの補完機能を行える環境を自分で作り上げることが大変そうだったというのもあります。

Page 42: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

こんなに便利な Emacs のキーバインドを、もし他のアプリでも使ってみることが、できるなら、、。

Page 43: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

なんと Apple さんの OS では、何もしなくても多くのソフトで Emacs のキーバインドが既に利用可能になっていたのです!!

えーっ!?

なんだって!いまこの状況でもできます!

Page 44: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

ただ、たまに IDE などで効かないものがあります。そのために、便利に使えるフリーウェアがあるのです。

Page 45: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

OS X

Karabiner = 旧名 KeyRemap4MacBookhttps://pqrs.org/osx/karabiner/index.html.ja

英語キーボードでも便利に日本語入力できる機能があるのでとてもオススメです。

参照OS のキーバインドを Emacs 風にするツールまとめ http://qiita.com/senda-akiha/items/7dd828241423d473c576

Page 46: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

Windows

keyhachttps://sites.google.com/site/craftware/keyhac

AutoHotKeyhttp://www.autohotkey.com/

Windows ではやったことないので、使用感はよくわかりません、。すみません。

参照OS のキーバインドを Emacs 風にするツールまとめ http://qiita.com/senda-akiha/items/7dd828241423d473c576

Page 47: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

あと mac な人はシステム設定から Controlキーの設定をしときます。

Page 48: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

これでいつでも好きな IDE やエディタでもEmacs のキーバインドし放題

Page 49: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

いつか私もオーディション(何の!?)を重ねてトッププログラマーに!

Page 50: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

まとめ

Page 51: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」
Page 52: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」
Page 53: 通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」

おしまいです。最後まで見てくださり、ありがとうございました!