Emacs - COSCUP 2012
-
Upload
kan-ru-chen -
Category
Technology
-
view
6.886 -
download
5
Transcript of Emacs - COSCUP 2012
A Introduction
A Introduction
Emacs
about:kanru
a Debian Developerin MozillaVim 5+ yrEmacs 5+ [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
分割視窗
Window
Buffer
Minibuffer
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
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://news.gmane.org/index.php?prefix=gmane.emacs
Mailing Lists
#emacs{.tw} @ freenode
IRC
Q & A