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
69
0xlab's Perspective on Android System Development
kanru
0
55
Other Decks in Technology
See All in Technology
モニタリング統一への道のり - 分散モニタリングツール統合のためのオブザーバビリティプロジェクト
niftycorp
PRO
1
520
ClaudeCodeにキレない技術
gtnao
1
860
cdk initで生成されるあのファイル達は何なのか/cdk-init-generated-files
tomoki10
1
670
Transformerを用いたアイテム間の 相互影響を考慮したレコメンドリスト生成
recruitengineers
PRO
2
440
Snowflake Intelligenceという名のAI Agentが切り開くデータ活用の未来とその実現に必要なこと@SnowVillage『Data Management #1 Summit 2025 Recap!!』
ryo_suzuki
1
160
AI Ready API ─ AI時代に求められるAPI設計とは?/ AI-Ready API - Designing MCP and APIs in the AI Era
yokawasa
8
2.1k
“日本一のM&A企業”を支える、少人数SREの効率化戦略 / SRE NEXT 2025
genda
1
270
How Do I Contact Jetblue Airlines® Reservation Number: Fast Support Guide
thejetblueairhelpsupport
0
150
SREの次のキャリアの道しるべ 〜SREがマネジメントレイヤーに挑戦して、 気づいたこととTips〜
coconala_engineer
1
4.4k
公開初日に Gemini CLI を試した話や FFmpeg と組み合わせてみた話など / Gemini CLI 初学者勉強会(#AI道場)
you
PRO
0
1.3k
本当にわかりやすいAIエージェント入門
segavvy
1
400
AWS CDK 入門ガイド これだけは知っておきたいヒント集
anank
5
750
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
Speed Design
sergeychernyshev
32
1k
Scaling GitHub
holman
460
140k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
Building Adaptive Systems
keathley
43
2.7k
Side Projects
sachag
455
42k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
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