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
77
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
97
Rust @ OSDC.tw 2014
kanru
5
440
Emacs 從入門到進階
kanru
2
280
Android Boot Time Optimization
kanru
0
350
Android 2.3 Introduction
kanru
0
52
0xlab's Perspective on Android System Development
kanru
0
40
Other Decks in Technology
See All in Technology
障害対応をちょっとずつよくしていくための 演習の作りかた
heleeen
0
280
Além do else! Categorizando Pokemóns com Pattern Matching no JavaScript
wmsbill
0
640
私が trocco を推す理由
__allllllllez__
1
260
Azure犬駆動開発の記録/GlobalAzureFukuoka2024_20240420
nina01
1
220
競技としてのKaggle、役に立つKaggle
yu4u
5
2k
VS CodeでAWSを操作しよう
smt7174
8
1.7k
開発生産性大幅アップ!Postman VS Code拡張機能
nagix
2
400
「スニダン」開発組織の構造に込めた意図 ~組織作りはパッションや政治ではない!~
rinchsan
3
570
web-application-security
matsuihidetoshi
0
170
Cracking the KubeCon CfP
inductor
2
250
Python と Snowflake はズッ友だょ!~ Snowflake の Python 関連機能をふりかえる ~
__allllllllez__
1
120
本当のAWS基礎
toru_kubota
0
540
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
73
5.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
187
16k
Building Applications with DynamoDB
mza
88
5.6k
How to Ace a Technical Interview
jacobian
272
22k
Visualization
eitanlees
136
14k
The Cult of Friendly URLs
andyhume
74
5.7k
The Language of Interfaces
destraynor
151
23k
The Invisible Customer
myddelton
114
12k
Docker and Python
trallard
34
2.7k
The Illustrated Children's Guide to Kubernetes
chrisshort
31
46k
Navigating Team Friction
lara
178
13k
Bash Introduction
62gerente
604
210k
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