SlideShare a Scribd company logo
1 of 53
通常の3倍の速度で
プログラミング!?
Emacsキーバインドのすすめ
2014/08/22 @DIST.4 「Life is Short」
フロントエンドエンジニア
(2008年よりフリーランス)
Web: JavaScript, TypeScript
iOS: Objective-C, (Swift勉強中)
Flash/AIR: ActionScript3/2
ブログ
http://www.kuma-de.com/
ついったー
@kinkuma_design
仕事では、Webアプリや、iOSのネイ
ティブアプリ、AIRを使ったアプリな
ど、営業用とか教育用のツール系を
制作することが多く、そして得意で
す!
あと、クリエイティブ系のセミナー
をやったりするF-siteのスタッフを
やってます
http://f-site.org/
個人制作の
日課管理・記録アプリ
Habit Keeper
AppStoreで好評発売中!!
https://itunes.apple.com/jp/app/id567646997?l=ja
&mt=8
無料版もあります!
https://itunes.apple.com/jp/app/id602525022?l=ja
&mt=8
地味にカテゴリでランキングに入ってます。
おかげさまで有料+無料合わせて
5万ダウンロードされました!
さて、
ここから本編です
私のアツい
プログラマー活動
プロカツ!
始まります!フフッ
さて、プロカツ!といえば、
なんといってもコードを
書くお仕事です。
(設計もやりがいあるけど)
毎日コードを書いて、ふと
あることに気がつきました。
カーソル移動で
キーボードから
手が一瞬離れる
カーソル移動?
カーソル移動?
これです
カーソル移動?
矢印キー
キーボードから手が離れる?
キーボードから手が離れる?
ホームポジション
キーボードから手が離れる?
カーソルキーを押すため移動
キーボードから手が離れる?
この距離
この距離を
「カーソル運動距離」(仮)
とします
カーソル運動は、
プログラミング中にとても
頻繁に行われます。
ある脳内統計※によると、ひとつの
プロジェクトで、このカーソル運動距
離(仮)の総延長距離は
「地球を7周半回る」そうです!
※2014年きんくま脳内調べ
ちきゅう
地球を7周半!?
※個人の感想です
これは穏やかじゃないわね!
そうだ!
移動をしなければいいんだ!
カーソル運動距離 0
ちきゅう
0
でもどうやって、、、、?
そこで!
キタ━━━━(゚∀゚)━━━━!!
Emacs
Emacsといえば、、
プログラマーたちが最後に
たどり着くフロンティア。
そしてvi教団との熱き戦いの日々
(あ、でも実際はお互いあんまり
意識してなさそう)
その
「Emacsのキーバインド」
を使えばいいんだ
「キーバインド」?
「キーバインド」?
= 要するにショート
カットのことです。
例)
上 = Ctrl + p
下 = Ctrl + n
左 = Ctrl + b
右 = Ctrl + f
ちなみに頭文字みたいです
(p = previous, n = next, b = back, f = foward)
準備
CapsLockなどになっている
このキーをControlキーにします
(どうやってやるかは後述)
そしてこのキーを左手の小指でおさ
えつつ、他のキーを押してカーソル
移動させます。
慣れないうちは小指がつりそうになり
ますが、すぐに慣れます。
頭で考えなくてもよいぐらいに、
カーソル移動ができるようになれば、
プログラミングが通常の3倍の速度で
できるようになります。
※個人の感想です
※使用状況によりキーボードが赤くなる場合があります
実際に使っているキーバインド全10種
(他にもありますがマウス併用するなどしてこれで足りてます)
1文字後ろを消す Ctrl + d
1文字前を消す Ctrl + h
(※)何かのアプリでバッティングすることが
多かったので、私は素直にBackspaceを
使っています。
カーソル位置から行末まで消す
Ctrl + k
カーソル位置から行末まで選択
Shift + Ctrl + e
上 Ctrl + p
下 Ctrl + n
左 Ctrl + b
右 Ctrl + f
行頭 Ctrl + a
行末 Ctrl + e
これさえできれば、
手をホームポジションの
位置から動かすことなく
カーソル移動が可能に!
そうEmacsさえ使えれば、
きっと私も
トッププログラマーに!
でも!!
使いこなせません
でした、、、、。
(TдT) ウゥ…
Emacsは難しかったです。
すみません。(カーソル移動
とファイルの保存くらいしか
できません、、)
IDEぐらいの補完機能を行える環境を自分で作り上げることが大変そうだった
というのもあります。
こんなに便利なEmacsの
キーバインドを、もし他の
アプリでも使ってみることが、
できるなら、、。
なんとAppleさんのOSでは、
何もしなくても多くのソフト
でEmacsのキーバインドが既
に利用可能になっていたので
す!!
いまこの状況でもできます!
ただ、たまにIDEなどで効
かないものがあります。
そのために、便利に使える
フリーウェアがあるのです。
OS X
Karabiner = 旧名 KeyRemap4MacBook
https://pqrs.org/osx/karabiner/index.html.ja
英語キーボードでも便利に日本語入力
できる機能があるのでとてもオススメ
です。
参照
OS のキーバインドをEmacs 風にするツールまとめ
http://qiita.com/senda-akiha/items/7dd828241423d473c576
Windows
keyhac
https://sites.google.com/site/craftware/keyhac
AutoHotKey
http://www.autohotkey.com/
Windowsではやったことないので、使用感はよく
わかりません、。すみません。
参照
OS のキーバインドをEmacs 風にするツールまとめ
http://qiita.com/senda-akiha/items/7dd828241423d473c576
あとmacな人は
システム設定からControl
キーの設定をしときます。
これでいつでも
好きなIDEやエディタでも
Emacsのキーバインド
し放題
いつか私も
オーディション(何の!?)
を重ねて
トッププログラマーに!
まとめ
おしまいです。
最後まで見てくださり、
ありがとうございました!

More Related Content

What's hot

Xamarin + Visual Studio によるマルチプラットフォーム対応アプリ開発 - iOS, Android, Windows に対応しよう
Xamarin + Visual Studio によるマルチプラットフォーム対応アプリ開発 - iOS, Android, Windows に対応しようXamarin + Visual Studio によるマルチプラットフォーム対応アプリ開発 - iOS, Android, Windows に対応しよう
Xamarin + Visual Studio によるマルチプラットフォーム対応アプリ開発 - iOS, Android, Windows に対応しよう
Akira Onishi
 
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
Yoichiro Sakurai
 
Android webブラウザのhtml5対応状況
Android webブラウザのhtml5対応状況 Android webブラウザのhtml5対応状況
Android webブラウザのhtml5対応状況
Masakazu Muraoka
 
20120316 designerworkshoppublished
20120316 designerworkshoppublished20120316 designerworkshoppublished
20120316 designerworkshoppublished
Yoichiro Sakurai
 
iPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめiPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめ
Hiramatsu Ryosuke
 
C#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouchC#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouch
Shin Ise
 

What's hot (20)

Lt 20130209
Lt 20130209Lt 20130209
Lt 20130209
 
はじめてのモバイルウェブアプリ 1
はじめてのモバイルウェブアプリ 1はじめてのモバイルウェブアプリ 1
はじめてのモバイルウェブアプリ 1
 
Xamarin + Visual Studio によるマルチプラットフォーム対応アプリ開発 - iOS, Android, Windows に対応しよう
Xamarin + Visual Studio によるマルチプラットフォーム対応アプリ開発 - iOS, Android, Windows に対応しようXamarin + Visual Studio によるマルチプラットフォーム対応アプリ開発 - iOS, Android, Windows に対応しよう
Xamarin + Visual Studio によるマルチプラットフォーム対応アプリ開発 - iOS, Android, Windows に対応しよう
 
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
 
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
 
Android webブラウザのhtml5対応状況
Android webブラウザのhtml5対応状況 Android webブラウザのhtml5対応状況
Android webブラウザのhtml5対応状況
 
20120316 designerworkshoppublished
20120316 designerworkshoppublished20120316 designerworkshoppublished
20120316 designerworkshoppublished
 
Xamarin を使用したC# によるモバイルアプリ作成
Xamarin を使用したC# によるモバイルアプリ作成Xamarin を使用したC# によるモバイルアプリ作成
Xamarin を使用したC# によるモバイルアプリ作成
 
Xamarin Native vs Xamarin Forms
Xamarin Native vs Xamarin FormsXamarin Native vs Xamarin Forms
Xamarin Native vs Xamarin Forms
 
Xamarinでもクラウドで監視したい!
Xamarinでもクラウドで監視したい!Xamarinでもクラウドで監視したい!
Xamarinでもクラウドで監視したい!
 
iPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめiPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめ
 
C#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouchC#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouch
 
Xamarin開発環境の選択
Xamarin開発環境の選択Xamarin開発環境の選択
Xamarin開発環境の選択
 
Xamarin.iOS 開発者から見た Swift
Xamarin.iOS 開発者から見た SwiftXamarin.iOS 開発者から見た Swift
Xamarin.iOS 開発者から見た Swift
 
AngularJS入門の巻2
AngularJS入門の巻2AngularJS入門の巻2
AngularJS入門の巻2
 
Xamarin を使用したC# によるモバイルアプリ作成
Xamarin を使用したC# によるモバイルアプリ作成Xamarin を使用したC# によるモバイルアプリ作成
Xamarin を使用したC# によるモバイルアプリ作成
 
10分で分かるxamarin
10分で分かるxamarin10分で分かるxamarin
10分で分かるxamarin
 
チーム会議発表資料
チーム会議発表資料チーム会議発表資料
チーム会議発表資料
 
Xamarin で今日から始めるクロスプラットフォーム開発
Xamarin で今日から始めるクロスプラットフォーム開発Xamarin で今日から始めるクロスプラットフォーム開発
Xamarin で今日から始めるクロスプラットフォーム開発
 
KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道
KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道
KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道
 

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

スマホアプリの開発手法をまとめてみた。
スマホアプリの開発手法をまとめてみた。スマホアプリの開発手法をまとめてみた。
スマホアプリの開発手法をまとめてみた。
Hiroshi Goto
 

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

iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回 @Co-Edo
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回    @Co-EdoiOSアプリ開発のためのSwiftビギナーズ勉強会 第6回    @Co-Edo
iOSアプリ開発のためのSwiftビギナーズ勉強会 第6回 @Co-Edo
 
Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法
 
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
 
スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向
 
スマホアプリの開発手法をまとめてみた。
スマホアプリの開発手法をまとめてみた。スマホアプリの開発手法をまとめてみた。
スマホアプリの開発手法をまとめてみた。
 
AppCenter
AppCenterAppCenter
AppCenter
 
iOSアプリ制作ツールアプリビルダーを支える技術
iOSアプリ制作ツールアプリビルダーを支える技術iOSアプリ制作ツールアプリビルダーを支える技術
iOSアプリ制作ツールアプリビルダーを支える技術
 
プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1
 
SwiftによるiOS開発再入門
SwiftによるiOS開発再入門SwiftによるiOS開発再入門
SwiftによるiOS開発再入門
 
Swiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-EdoSwiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-Edo
 
はじめてのiOSアプリ開発 Swift対応版
はじめてのiOSアプリ開発 Swift対応版はじめてのiOSアプリ開発 Swift対応版
はじめてのiOSアプリ開発 Swift対応版
 
Meteor勉強会発表資料「MeteorでiOSアプリを作ろう!」
Meteor勉強会発表資料「MeteorでiOSアプリを作ろう!」Meteor勉強会発表資料「MeteorでiOSアプリを作ろう!」
Meteor勉強会発表資料「MeteorでiOSアプリを作ろう!」
 
【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!
 
HTML5でできるカメラアプリを実際に体験しよう
HTML5でできるカメラアプリを実際に体験しよう HTML5でできるカメラアプリを実際に体験しよう
HTML5でできるカメラアプリを実際に体験しよう
 
Spath for enterprise
Spath for enterpriseSpath for enterprise
Spath for enterprise
 
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみた
 
Espruinoの紹介
Espruinoの紹介Espruinoの紹介
Espruinoの紹介
 
Apps for Office サミット!
Apps for Office サミット!Apps for Office サミット!
Apps for Office サミット!
 
No4
No4No4
No4
 
Approach of Prototyping for making Application User Interface about iOS
Approach of Prototyping for making Application User Interface about iOSApproach of Prototyping for making Application User Interface about iOS
Approach of Prototyping for making Application User Interface about iOS
 

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