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
Emacs - COSCUP 2012
Search
Kan-Ru Chen
August 19, 2012
Technology
1
90
Emacs - COSCUP 2012
Kan-Ru Chen
August 19, 2012
Tweet
Share
More Decks by Kan-Ru Chen
See All by Kan-Ru Chen
Rust Introduction @ Rust Meetup Taipei #1
kanru
0
110
Rust @ OSDC.tw 2014
kanru
5
480
Emacs 從入門到進階
kanru
2
300
Android Boot Time Optimization
kanru
0
500
Android 2.3 Introduction
kanru
0
71
0xlab's Perspective on Android System Development
kanru
0
58
Other Decks in Technology
See All in Technology
Behind Postgres 18: The People, the Code, & the Invisible Work | Claire Giordano | PGConfEU 2025
clairegiordano
0
140
だいたい分かった気になる 『SREの知識地図』 / introduction-to-sre-knowledge-map-book
katsuhisa91
PRO
3
1.4k
現場の壁を乗り越えて、 「計装注入」が拓く オブザーバビリティ / Beyond the Field Barriers: Instrumentation Injection and the Future of Observability
aoto
PRO
1
610
AWS DMS で SQL Server を移行してみた/aws-dms-sql-server-migration
emiki
0
240
20251027_findyさん_音声エージェントLT
almondo_event
2
450
SRE × マネジメントレイヤーが挑戦した組織・会社のオブザーバビリティ改革 ― ビジネス価値と信頼性を両立するリアルな挑戦
coconala_engineer
0
270
Zero Trust DNS でより安全なインターネット アクセス
murachiakira
0
100
Biz職でもDifyでできる! 「触らないAIワークフロー」を実現する方法
igarashikana
7
3.5k
マルチエージェントのチームビルディング_2025-10-25
shinoyamada
0
180
可観測性は開発環境から、開発環境にもオブザーバビリティ導入のススメ
layerx
PRO
2
860
生成AI時代のPythonセキュリティとガバナンス
abenben
0
140
IBC 2025 動画技術関連レポート / IBC 2025 Report
cyberagentdevelopers
PRO
2
180
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Done Done
chrislema
185
16k
Balancing Empowerment & Direction
lara
5
700
How GitHub (no longer) Works
holman
315
140k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.7k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
Navigating Team Friction
lara
190
15k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Side Projects
sachag
455
43k
Producing Creativity
orderedlist
PRO
347
40k
Transcript
A Introduction
A Introduction Emacs
about:kanru a Debian Developer in Mozilla Vim 5+ yr Emacs
5+ yr
[email protected]
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
Unported License. To view a copy of this license, visit http://creativecommons. org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. about:license
Brief History 簡明歷史
起源 TECO
EditorMACroS in TECO TECMAC & TMACS
第一個使用 LISP 的 Emacs Multics Emacs & EINE
首次公開 GNU Emacs 13.0?
http://www.jwz.org/doc/emacs-timeline.html Emacs Timeline
如何取得? Get Emacs
apt-get install emacs
Bleeding edge! bzr://bzr.savannah.gnu.org/emacs/trunk
http://alpha.gnu.org/gnu/emacs/windows Windows?
Jargons 術語
模式 -*- mode: C++ -*-
Control + <key> C-<key>
Meta + <key> M-<key>
Alt + <key> M-<key>
Control + x Control + c C-x C-c
程式外框 Frame
None
分割視窗 Window
None
Buffer
None
Minibuffer
None
Region
Editing Commands 編輯指令
-- anonymous Escape-Meta-Alt-Control-Shift
逃生鍵 C-g
塊陶阿 C-g C-g C-g
離開 C-x C-c
開檔 C-x C-f
上下左右 C-{p,n,b,f}
刪除 C-k
行頭 C-a
行尾 C-e
刪除一行 C-a C-k
各有功用 C-[a-z]
執行指令 M-x
視窗操作 Window Operations
split-window-below C-x 2
split-window-right C-x 3
delete-window C-x 0
delete-other-windows C-x 1
other-window C-x o
Help System 強大的說明輔助系統
C-h t Tutorial
取得各種說明 C-h <key>
說明 C-h C-h ?
按鍵資訊 C-h k <key>
變數資訊 C-h v
函數資訊 C-h f
Info 系統 C-h i
取得各種資訊 M-x describe-*
Easy Customization 簡易設定法
進入設定模式 M-x customize
進入分類設定模式 M-x customize-group
進入主題設定模式 M-x customize-themes
使用者設定檔 ~/.emacs
亂中有序直到有一天... .emacs bankruptcy
新・使用者設定檔 ~/.emacs.d/init.el
省錢收納小技巧 (誤) http://github.com/kanru/.emacs.d
安裝更多擴充套件 Install More Extensions
M-x list-packages ELPA
http://marmalade-repo.org/ ELPA
http://melpa.milkbox.net/ ELPA
https://github.com/dimitri/el-get el-get
2163 find el-get/recipes|wc -l
Emacs Lisp Intro. ELisp 簡介
必讀 GNU Emacs Lisp Reference Manual
來塗鴉吧! *scratch*
互動式程式設計 M-x ielm
(+ 1 2 3) => 6 (<op> <a1> <a2> ...
<aN>)
定義函式 (defun hello () "Hello World!")
M-x hello (defun hello () (interactive) (message "Hello"))
M-x hello (defun hello (who) (interactive "sSay hello to: ")
(message "Hello %s" who))
C-h v hello-times (defvar hello-times 0 "Said how many times?")
M-x customize-group uuid (defcustom uuid-interface "eth0" "The default interface" :type
'string :group 'uuid)
(add-hook HOOK FUNCTION)
(defadvice FUNCTION ARGS &rest BODY)
(require '<feature>) (provide '<feature>)
Misc Tips 小技巧
$ emacsclient <file> M-x server-start
回報問題 Bug Report
http://debbugs.gnu.org/cgi/pkgreport.cgi?package=emacs M-x report-emacs-bug
Community Resources 社群資源
http://www.emacswiki.org/ EmacsWiki
http://planet.emacsen.org/ Planet Emacsen
http://news.gmane.org/index.php?prefix=gmane.emacs Mailing Lists
#emacs{.tw} @ freenode IRC
Q & A