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
86
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
470
Emacs 從入門到進階
kanru
2
300
Android Boot Time Optimization
kanru
0
480
Android 2.3 Introduction
kanru
0
68
0xlab's Perspective on Android System Development
kanru
0
55
Other Decks in Technology
See All in Technology
KubeCon + CloudNativeCon Japan 2025 Recap Opening & Choose Your Own Adventureシリーズまとめ
mmmatsuda
0
260
Flutter向けPDFビューア、pdfrxのpdfium WASM対応について
espresso3389
0
120
LangChain Interrupt & LangChain Ambassadors meetingレポート
os1ma
2
270
改めてAWS WAFを振り返る~業務で使うためのポイント~
masakiokuda
2
230
OPENLOGI Company Profile for engineer
hr01
1
33k
United airlines®️ USA Contact Numbers: Complete 2025 Support Guide
oliversmith12
0
140
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
26k
20250707-AI活用の個人差を埋めるチームづくり
shnjtk
3
3k
React開発にStorybookとCopilotを導入して、爆速でUIを編集・確認する方法
yu_kod
1
140
Model Mondays S2E03: SLMs & Reasoning
nitya
0
330
Frontier airlines®️ USA Contact Numbers: Complete 2025 Support Guide
oliversmith12
0
110
WordPressから ヘッドレスCMSへ! Storyblokへの移行プロセス
nyata
0
430
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
337
57k
Bash Introduction
62gerente
614
210k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Building Applications with DynamoDB
mza
95
6.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Music & Morning Musume
bryan
46
6.6k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Designing for humans not robots
tammielis
253
25k
Automating Front-end Workflow
addyosmani
1370
200k
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