Top Banner
. . . . . . Emacs 教程 刘鑫 <[email protected]> 太平洋网络 移动产品事业部 May 4, 2011
86

Emacs Introduction

Dec 26, 2014

Download

Technology

March Liu

Emacs 的一个快速教程
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Emacs Introduction

. . . . . .

Emacs教程

刘鑫 <[email protected]>

太平洋网络移动产品事业部

May 4, 2011

Page 2: Emacs Introduction

. . . . . .

Emacs的历史

Page 3: Emacs Introduction

. . . . . .

1970年前

TECO行编辑器

Page 4: Emacs Introduction

. . . . . .

1970年

TECO Macro By Ricard Stallman

Page 5: Emacs Introduction

. . . . . .

1972年

Editing MACroS -- Emacs!Richard Stallman & Guy Steele

Page 6: Emacs Introduction

. . . . . .

1984年

GNU Emacs

Page 7: Emacs Introduction

. . . . . .

Why Emacs?

Page 8: Emacs Introduction

. . . . . .

兼容几乎所有平台

▶ BSD

▶ Linux▶ MAC▶ Windows

Page 9: Emacs Introduction

. . . . . .

兼容几乎所有平台

▶ BSD▶ Linux

▶ MAC▶ Windows

Page 10: Emacs Introduction

. . . . . .

兼容几乎所有平台

▶ BSD▶ Linux▶ MAC

▶ Windows

Page 11: Emacs Introduction

. . . . . .

兼容几乎所有平台

▶ BSD▶ Linux▶ MAC▶ Windows

Page 12: Emacs Introduction

. . . . . .

适应几乎所有环境

▶ 字符控制台

▶ XWindows

▶ GNOME▶ KDE▶ ...

▶ MAC OS X▶ Windows

Page 13: Emacs Introduction

. . . . . .

适应几乎所有环境

▶ 字符控制台▶ XWindows

▶ GNOME▶ KDE▶ ...

▶ MAC OS X▶ Windows

Page 14: Emacs Introduction

. . . . . .

适应几乎所有环境

▶ 字符控制台▶ XWindows

▶ GNOME

▶ KDE▶ ...

▶ MAC OS X▶ Windows

Page 15: Emacs Introduction

. . . . . .

适应几乎所有环境

▶ 字符控制台▶ XWindows

▶ GNOME▶ KDE

▶ ...▶ MAC OS X▶ Windows

Page 16: Emacs Introduction

. . . . . .

适应几乎所有环境

▶ 字符控制台▶ XWindows

▶ GNOME▶ KDE▶ ...

▶ MAC OS X▶ Windows

Page 17: Emacs Introduction

. . . . . .

适应几乎所有环境

▶ 字符控制台▶ XWindows

▶ GNOME▶ KDE▶ ...

▶ MAC OS X

▶ Windows

Page 18: Emacs Introduction

. . . . . .

适应几乎所有环境

▶ 字符控制台▶ XWindows

▶ GNOME▶ KDE▶ ...

▶ MAC OS X▶ Windows

Page 19: Emacs Introduction

. . . . . .

近乎无限的扩展能力

▶ 支持几乎所有编程语言

▶ 强大的标记文本标记功能▶ 丰富的工作支持组件▶ 各种交互环境▶ IDE类扩展

Page 20: Emacs Introduction

. . . . . .

近乎无限的扩展能力

▶ 支持几乎所有编程语言▶ 强大的标记文本标记功能

▶ 丰富的工作支持组件▶ 各种交互环境▶ IDE类扩展

Page 21: Emacs Introduction

. . . . . .

近乎无限的扩展能力

▶ 支持几乎所有编程语言▶ 强大的标记文本标记功能▶ 丰富的工作支持组件

▶ 各种交互环境▶ IDE类扩展

Page 22: Emacs Introduction

. . . . . .

近乎无限的扩展能力

▶ 支持几乎所有编程语言▶ 强大的标记文本标记功能▶ 丰富的工作支持组件▶ 各种交互环境

▶ IDE类扩展

Page 23: Emacs Introduction

. . . . . .

近乎无限的扩展能力

▶ 支持几乎所有编程语言▶ 强大的标记文本标记功能▶ 丰富的工作支持组件▶ 各种交互环境▶ IDE类扩展

Page 24: Emacs Introduction

. . . . . .

Emacs使用

Page 25: Emacs Introduction

. . . . . .

术语

Meta/M Option/ALT

C/CTL ControlESC ESC

Page 26: Emacs Introduction

. . . . . .

术语

Meta/M Option/ALTC/CTL Control

ESC ESC

Page 27: Emacs Introduction

. . . . . .

术语

Meta/M Option/ALTC/CTL Control

ESC ESC

Page 28: Emacs Introduction

. . . . . .

基本编辑操作

复制 M-W

剪切 C-W粘贴 C-Y

轮询粘贴环 M-Y剪切到行尾 C-K

Page 29: Emacs Introduction

. . . . . .

基本编辑操作

复制 M-W剪切 C-W

粘贴 C-Y轮询粘贴环 M-Y剪切到行尾 C-K

Page 30: Emacs Introduction

. . . . . .

基本编辑操作

复制 M-W剪切 C-W粘贴 C-Y

轮询粘贴环 M-Y剪切到行尾 C-K

Page 31: Emacs Introduction

. . . . . .

基本编辑操作

复制 M-W剪切 C-W粘贴 C-Y

轮询粘贴环 M-Y

剪切到行尾 C-K

Page 32: Emacs Introduction

. . . . . .

基本编辑操作

复制 M-W剪切 C-W粘贴 C-Y

轮询粘贴环 M-Y剪切到行尾 C-K

Page 33: Emacs Introduction

. . . . . .

跳转

向上 C-P

向下 C-N向左 C-B向右 C-F

Page 34: Emacs Introduction

. . . . . .

跳转

向上 C-P向下 C-N

向左 C-B向右 C-F

Page 35: Emacs Introduction

. . . . . .

跳转

向上 C-P向下 C-N向左 C-B

向右 C-F

Page 36: Emacs Introduction

. . . . . .

跳转

向上 C-P向下 C-N向左 C-B向右 C-F

Page 37: Emacs Introduction

. . . . . .

搜索与替换

向前 C-s向后 C-r正则 M-x replace-regexp确认 M-x query-replace[-regexp[-eval]]

Page 38: Emacs Introduction

. . . . . .

搜索与替换

向前 C-s

向后 C-r正则 M-x replace-regexp确认 M-x query-replace[-regexp[-eval]]

Page 39: Emacs Introduction

. . . . . .

搜索与替换

向前 C-s向后 C-r

正则 M-x replace-regexp确认 M-x query-replace[-regexp[-eval]]

Page 40: Emacs Introduction

. . . . . .

搜索与替换

向前 C-s向后 C-r正则 M-x replace-regexp

确认 M-x query-replace[-regexp[-eval]]

Page 41: Emacs Introduction

. . . . . .

搜索与替换

向前 C-s向后 C-r正则 M-x replace-regexp确认 M-x query-replace[-regexp[-eval]]

Page 42: Emacs Introduction

. . . . . .

编程语言支持

▶ cc-mode

▶ java-mode▶ python-mode▶ ...

Page 43: Emacs Introduction

. . . . . .

编程语言支持

▶ cc-mode▶ java-mode

▶ python-mode▶ ...

Page 44: Emacs Introduction

. . . . . .

编程语言支持

▶ cc-mode▶ java-mode▶ python-mode

▶ ...

Page 45: Emacs Introduction

. . . . . .

编程语言支持

▶ cc-mode▶ java-mode▶ python-mode▶ ...

Page 46: Emacs Introduction

. . . . . .

编程语言支持

▶ cc-mode

▶ java-mode▶ python-mode▶ ruby-mode▶ ...

Page 47: Emacs Introduction

. . . . . .

编程语言支持

▶ cc-mode▶ java-mode

▶ python-mode▶ ruby-mode▶ ...

Page 48: Emacs Introduction

. . . . . .

编程语言支持

▶ cc-mode▶ java-mode▶ python-mode

▶ ruby-mode▶ ...

Page 49: Emacs Introduction

. . . . . .

编程语言支持

▶ cc-mode▶ java-mode▶ python-mode▶ ruby-mode

▶ ...

Page 50: Emacs Introduction

. . . . . .

编程语言支持

▶ cc-mode▶ java-mode▶ python-mode▶ ruby-mode▶ ...

Page 51: Emacs Introduction

. . . . . .

LATEX插件 AUCTeX

▶ 辅助格式操作

▶ 数学公式▶ 预览支持▶ 项目管理

Page 52: Emacs Introduction

. . . . . .

LATEX插件 AUCTeX

▶ 辅助格式操作▶ 数学公式

▶ 预览支持▶ 项目管理

Page 53: Emacs Introduction

. . . . . .

LATEX插件 AUCTeX

▶ 辅助格式操作▶ 数学公式▶ 预览支持

▶ 项目管理

Page 54: Emacs Introduction

. . . . . .

LATEX插件 AUCTeX

▶ 辅助格式操作▶ 数学公式▶ 预览支持▶ 项目管理

Page 55: Emacs Introduction

. . . . . .

MUSE排版系统

▶ WIKI式的操作支持

▶ 可生成WIKI式的 HTML站点▶ PDF支持▶ 日程管理插件▶ LISP集成

Page 56: Emacs Introduction

. . . . . .

MUSE排版系统

▶ WIKI式的操作支持▶ 可生成WIKI式的 HTML站点

▶ PDF支持▶ 日程管理插件▶ LISP集成

Page 57: Emacs Introduction

. . . . . .

MUSE排版系统

▶ WIKI式的操作支持▶ 可生成WIKI式的 HTML站点▶ PDF支持

▶ 日程管理插件▶ LISP集成

Page 58: Emacs Introduction

. . . . . .

MUSE排版系统

▶ WIKI式的操作支持▶ 可生成WIKI式的 HTML站点▶ PDF支持▶ 日程管理插件

▶ LISP集成

Page 59: Emacs Introduction

. . . . . .

MUSE排版系统

▶ WIKI式的操作支持▶ 可生成WIKI式的 HTML站点▶ PDF支持▶ 日程管理插件▶ LISP集成

Page 60: Emacs Introduction

. . . . . .

ORG内容管理系统

▶ 桌面式 CMS

▶ 可生成WIKI式的 HTML站点▶ PDF支持▶ 强大的日程/任务管理

Page 61: Emacs Introduction

. . . . . .

ORG内容管理系统

▶ 桌面式 CMS▶ 可生成WIKI式的 HTML站点

▶ PDF支持▶ 强大的日程/任务管理

Page 62: Emacs Introduction

. . . . . .

ORG内容管理系统

▶ 桌面式 CMS▶ 可生成WIKI式的 HTML站点▶ PDF支持

▶ 强大的日程/任务管理

Page 63: Emacs Introduction

. . . . . .

ORG内容管理系统

▶ 桌面式 CMS▶ 可生成WIKI式的 HTML站点▶ PDF支持▶ 强大的日程/任务管理

Page 64: Emacs Introduction

. . . . . .

集成开发环境 CEDET

▶ 语义分析

▶ 语法导航和跳转▶ 集成开发环境 EDB▶ Java定制环境 JDEE

Page 65: Emacs Introduction

. . . . . .

集成开发环境 CEDET

▶ 语义分析▶ 语法导航和跳转

▶ 集成开发环境 EDB▶ Java定制环境 JDEE

Page 66: Emacs Introduction

. . . . . .

集成开发环境 CEDET

▶ 语义分析▶ 语法导航和跳转▶ 集成开发环境 EDB

▶ Java定制环境 JDEE

Page 67: Emacs Introduction

. . . . . .

集成开发环境 CEDET

▶ 语义分析▶ 语法导航和跳转▶ 集成开发环境 EDB▶ Java定制环境 JDEE

Page 68: Emacs Introduction

. . . . . .

XML类编辑插件 NXML

▶ 辅助编辑操作

▶ Shema类扩展定义

Page 69: Emacs Introduction

. . . . . .

XML类编辑插件 NXML

▶ 辅助编辑操作▶ Shema类扩展定义

Page 70: Emacs Introduction

. . . . . .

超级积木 MMM

▶ 组合各种插件

▶ 定制外观

Page 71: Emacs Introduction

. . . . . .

超级积木 MMM

▶ 组合各种插件▶ 定制外观

Page 72: Emacs Introduction

. . . . . .

变色龙 color-theme

▶ 定制颜色外观

▶ 多种内置主题▶ 可自行设计和扩展

Page 73: Emacs Introduction

. . . . . .

变色龙 color-theme

▶ 定制颜色外观▶ 多种内置主题

▶ 可自行设计和扩展

Page 74: Emacs Introduction

. . . . . .

变色龙 color-theme

▶ 定制颜色外观▶ 多种内置主题▶ 可自行设计和扩展

Page 75: Emacs Introduction

. . . . . .

多种增强 shell

▶ shell/eshell

▶ python/py-shell▶ ghci▶ ESS-R▶ slime

Page 76: Emacs Introduction

. . . . . .

多种增强 shell

▶ shell/eshell▶ python/py-shell

▶ ghci▶ ESS-R▶ slime

Page 77: Emacs Introduction

. . . . . .

多种增强 shell

▶ shell/eshell▶ python/py-shell▶ ghci

▶ ESS-R▶ slime

Page 78: Emacs Introduction

. . . . . .

多种增强 shell

▶ shell/eshell▶ python/py-shell▶ ghci▶ ESS-R

▶ slime

Page 79: Emacs Introduction

. . . . . .

多种增强 shell

▶ shell/eshell▶ python/py-shell▶ ghci▶ ESS-R▶ slime

Page 80: Emacs Introduction

. . . . . .

USEMACS项目

▶ 配置库

▶ 人机工学改良▶ 组件组合▶ alpha-window▶ datetime▶ lzx

Page 81: Emacs Introduction

. . . . . .

USEMACS项目

▶ 配置库▶ 人机工学改良

▶ 组件组合▶ alpha-window▶ datetime▶ lzx

Page 82: Emacs Introduction

. . . . . .

USEMACS项目

▶ 配置库▶ 人机工学改良▶ 组件组合

▶ alpha-window▶ datetime▶ lzx

Page 83: Emacs Introduction

. . . . . .

USEMACS项目

▶ 配置库▶ 人机工学改良▶ 组件组合▶ alpha-window

▶ datetime▶ lzx

Page 84: Emacs Introduction

. . . . . .

USEMACS项目

▶ 配置库▶ 人机工学改良▶ 组件组合▶ alpha-window▶ datetime

▶ lzx

Page 85: Emacs Introduction

. . . . . .

USEMACS项目

▶ 配置库▶ 人机工学改良▶ 组件组合▶ alpha-window▶ datetime▶ lzx

Page 86: Emacs Introduction

. . . . . .

谢谢参与P̃ower By LATEX