Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Pishen's Emacs Journey
Search
Pishen Tsai
July 20, 2018
Programming
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Pishen's Emacs Journey
Pishen Tsai
July 20, 2018
More Decks by Pishen Tsai
See All by Pishen Tsai
Introduction to Minitime
pishen
1
170
都什麼時代了,你還在寫 while loop 嗎?
pishen
2
750
Scala + Google Dataflow = Serverless Spark
pishen
6
880
Shapeless Introduction
pishen
2
930
ScalaKitchen
pishen
1
480
sbt-emr-spark
pishen
1
170
My Personal Report of Scala Kansai 2016
pishen
0
440
SBT Basic Concepts
pishen
1
670
annoy4s
pishen
0
110
Other Decks in Programming
See All in Programming
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
140
dRuby over BLE
makicamel
2
400
A2UI という光を覗いてみる
satohjohn
1
160
技術的負債解消で開発者の未来を開く- AIの力でコード刷新
kmd2kmd
0
120
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
250
どこまでゆるくて許されるのか
tk3fftk
0
270
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
560
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.7k
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
120
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
330
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
130
Featured
See All Featured
Paper Plane (Part 1)
katiecoart
PRO
0
9.4k
Documentation Writing (for coders)
carmenintech
77
5.4k
My Coaching Mixtape
mlcsv
0
160
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
160
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
55k
The Spectacular Lies of Maps
axbom
PRO
1
830
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
480
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
Odyssey Design
rkendrick25
PRO
2
710
WCS-LA-2024
lcolladotor
0
660
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Transcript
@pishen's journey
Languages
Editors
Java IDE features type hint auto import auto complete refactoring
debugger Python SQL HTML Markdown YAML General light-weight easy to learn focus on editing Bash Script Edit on server fast edit-and-try cycle
Java IDE features type hint auto import auto complete refactoring
debugger Python SQL HTML Markdown YAML General light-weight easy to learn focus on editing Edit on server fast edit-and-try cycle Different Hot-Keys Fragmented UX Bash Script
IDE features Edit on server Easily extensible Support mouse General
Check email or Browse the web Draw charts ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ WARNING! Highly Subjective
Editor War https://en.wikipedia.org/wiki/Editor_war Editor macros Lisp, C Richard Stallman Since
1976 MIT AI Lab 編輯器之神 魔鬼的編輯器 vi-vi-vi 42 years ago 神的編輯器
Famous Emacs Users Donald Knuth 松本行弘 Mark Zuckerberg https://www.slideshare.net/yukihiro_matz/how-emacs-changed-my-life http://qr.ae/TUINae
heard about Emacs My Editor History 台南一中 台大資工 KKBOX Vpon
AlgoLab IRLab 2007 Scala Days 2015 Yahoo! Taiwan KKTV
Let's start the journey
Installation $ brew cask install emacs $ sudo apt-get install
emacs Latest version: 26.1 (Released on May 28, 2018)
Start $ emacs OR
Exit C-x C-c Ctrl Ctrl X C
Open File C-x C-f
Change Color Theme M-x customize-themes Meta Please make sure that
your terminal can send Meta Key signal. iTerm Terminal Alt Esc OR option
Moving C-f C-b C-e C-a C-p M-v C-n C-v
Caps Lock ➔ Ctrl
ADM-3A
ADM-3A
Erasing println("Hello, Emacs!") DEL C-d C-k
Cancel C-g When you mess up your command, press (several
times) to get back.
Undo C-/ There's no Redo in Emacs, you can Undo
your Undo. C-/ C-/ C-/ Undo Undo Undo Redo Redo Redo C-/ C-/ C-/ C-g
Same as 90% of text boxes C-f C-b C-p C-n
C-a C-e C-d (C-/)
Selection Shift-(Moving) or use your mouse!
Copy & Paste Cmd-c & Cmd-v
.scala .py *error-msg* *file-tree* buffers frame window window minibuffer modeline
UI
minibuffer .scala .py *error-msg* *file-tree* modeline window buffers frame window
UI
minibuffer .scala .py *error-msg* *file-tree* modeline window buffers frame window
UI C-x
minibuffer .scala .py *error-msg* *file-tree* modeline window buffers frame window
UI C-x C-x
minibuffer .scala .py *error-msg* *file-tree* modeline window buffers frame window
UI C-x C-x C-x
minibuffer .scala .py *error-msg* *file-tree* modeline window buffers frame window
C-x C-f UI
minibuffer .scala .py *error-msg* *file-tree* modeline window buffers frame window
C-x C-f .java UI
minibuffer .scala .py *error-msg* *file-tree* modeline window buffers frame window
.java C-x k ✗ UI
minibuffer .scala .py *error-msg* *file-tree* modeline window buffers frame window
C-x k UI
Split Windows C-x 3 C-x 2 C-x o ✗ C-x
0 ✗ ✗ C-x 1
Toggle Comment M-;
Indent your Code TAB
Edit on Server C-x C-f /ssh:
All Commands are Functions C-f forward-char M-x
All Commands are Configurable M-x forward-char C-f M-x global-set-key ✗
C-?
Configuration File ~/.emacs.d/init.el Emacs Lisp
60 years ago John McCarthy 1927 ~ 2011 Dynamic Typing
Functional (* 2 (+ 3 4)) Common Lisp Scheme Emacs Lisp Racket Since 1958 Clojure JVM Hy Python LISP 2 * (3 + 4)
Lazy to hack?
Built-in Package System M-x list-packages
None
Some interesting packages
minimap
magit
multiple-cursors
evil-mode
ensime
ein
None
M-x snake
M-x tetris
https://www.facebook.com/groups/emacs.taiwan/ Emacs Taiwan
M-x thank-you