Emacs Introduction

Post on 26-Dec-2014

2.075 views 3 download

description

Emacs 的一个快速教程

Transcript of Emacs Introduction

. . . . . .

Emacs教程

刘鑫 <liuxin@pconline.com.cn>

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

May 4, 2011

. . . . . .

Emacs的历史

. . . . . .

1970年前

TECO行编辑器

. . . . . .

1970年

TECO Macro By Ricard Stallman

. . . . . .

1972年

Editing MACroS -- Emacs!Richard Stallman & Guy Steele

. . . . . .

1984年

GNU Emacs

. . . . . .

Why Emacs?

. . . . . .

兼容几乎所有平台

▶ BSD

▶ Linux▶ MAC▶ Windows

. . . . . .

兼容几乎所有平台

▶ BSD▶ Linux

▶ MAC▶ Windows

. . . . . .

兼容几乎所有平台

▶ BSD▶ Linux▶ MAC

▶ Windows

. . . . . .

兼容几乎所有平台

▶ BSD▶ Linux▶ MAC▶ Windows

. . . . . .

适应几乎所有环境

▶ 字符控制台

▶ XWindows

▶ GNOME▶ KDE▶ ...

▶ MAC OS X▶ Windows

. . . . . .

适应几乎所有环境

▶ 字符控制台▶ XWindows

▶ GNOME▶ KDE▶ ...

▶ MAC OS X▶ Windows

. . . . . .

适应几乎所有环境

▶ 字符控制台▶ XWindows

▶ GNOME

▶ KDE▶ ...

▶ MAC OS X▶ Windows

. . . . . .

适应几乎所有环境

▶ 字符控制台▶ XWindows

▶ GNOME▶ KDE

▶ ...▶ MAC OS X▶ Windows

. . . . . .

适应几乎所有环境

▶ 字符控制台▶ XWindows

▶ GNOME▶ KDE▶ ...

▶ MAC OS X▶ Windows

. . . . . .

适应几乎所有环境

▶ 字符控制台▶ XWindows

▶ GNOME▶ KDE▶ ...

▶ MAC OS X

▶ Windows

. . . . . .

适应几乎所有环境

▶ 字符控制台▶ XWindows

▶ GNOME▶ KDE▶ ...

▶ MAC OS X▶ Windows

. . . . . .

近乎无限的扩展能力

▶ 支持几乎所有编程语言

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

. . . . . .

近乎无限的扩展能力

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

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

. . . . . .

近乎无限的扩展能力

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

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

. . . . . .

近乎无限的扩展能力

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

▶ IDE类扩展

. . . . . .

近乎无限的扩展能力

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

. . . . . .

Emacs使用

. . . . . .

术语

Meta/M Option/ALT

C/CTL ControlESC ESC

. . . . . .

术语

Meta/M Option/ALTC/CTL Control

ESC ESC

. . . . . .

术语

Meta/M Option/ALTC/CTL Control

ESC ESC

. . . . . .

基本编辑操作

复制 M-W

剪切 C-W粘贴 C-Y

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

. . . . . .

基本编辑操作

复制 M-W剪切 C-W

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

. . . . . .

基本编辑操作

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

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

. . . . . .

基本编辑操作

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

轮询粘贴环 M-Y

剪切到行尾 C-K

. . . . . .

基本编辑操作

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

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

. . . . . .

跳转

向上 C-P

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

. . . . . .

跳转

向上 C-P向下 C-N

向左 C-B向右 C-F

. . . . . .

跳转

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

向右 C-F

. . . . . .

跳转

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

. . . . . .

搜索与替换

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

. . . . . .

搜索与替换

向前 C-s

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

. . . . . .

搜索与替换

向前 C-s向后 C-r

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

. . . . . .

搜索与替换

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

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

. . . . . .

搜索与替换

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

. . . . . .

编程语言支持

▶ cc-mode

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

. . . . . .

编程语言支持

▶ cc-mode▶ java-mode

▶ python-mode▶ ...

. . . . . .

编程语言支持

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

▶ ...

. . . . . .

编程语言支持

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

. . . . . .

编程语言支持

▶ cc-mode

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

. . . . . .

编程语言支持

▶ cc-mode▶ java-mode

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

. . . . . .

编程语言支持

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

▶ ruby-mode▶ ...

. . . . . .

编程语言支持

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

▶ ...

. . . . . .

编程语言支持

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

. . . . . .

LATEX插件 AUCTeX

▶ 辅助格式操作

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

. . . . . .

LATEX插件 AUCTeX

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

▶ 预览支持▶ 项目管理

. . . . . .

LATEX插件 AUCTeX

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

▶ 项目管理

. . . . . .

LATEX插件 AUCTeX

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

. . . . . .

MUSE排版系统

▶ WIKI式的操作支持

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

. . . . . .

MUSE排版系统

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

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

. . . . . .

MUSE排版系统

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

▶ 日程管理插件▶ LISP集成

. . . . . .

MUSE排版系统

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

▶ LISP集成

. . . . . .

MUSE排版系统

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

. . . . . .

ORG内容管理系统

▶ 桌面式 CMS

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

. . . . . .

ORG内容管理系统

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

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

. . . . . .

ORG内容管理系统

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

▶ 强大的日程/任务管理

. . . . . .

ORG内容管理系统

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

. . . . . .

集成开发环境 CEDET

▶ 语义分析

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

. . . . . .

集成开发环境 CEDET

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

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

. . . . . .

集成开发环境 CEDET

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

▶ Java定制环境 JDEE

. . . . . .

集成开发环境 CEDET

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

. . . . . .

XML类编辑插件 NXML

▶ 辅助编辑操作

▶ Shema类扩展定义

. . . . . .

XML类编辑插件 NXML

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

. . . . . .

超级积木 MMM

▶ 组合各种插件

▶ 定制外观

. . . . . .

超级积木 MMM

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

. . . . . .

变色龙 color-theme

▶ 定制颜色外观

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

. . . . . .

变色龙 color-theme

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

▶ 可自行设计和扩展

. . . . . .

变色龙 color-theme

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

. . . . . .

多种增强 shell

▶ shell/eshell

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

. . . . . .

多种增强 shell

▶ shell/eshell▶ python/py-shell

▶ ghci▶ ESS-R▶ slime

. . . . . .

多种增强 shell

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

▶ ESS-R▶ slime

. . . . . .

多种增强 shell

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

▶ slime

. . . . . .

多种增强 shell

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

. . . . . .

USEMACS项目

▶ 配置库

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

. . . . . .

USEMACS项目

▶ 配置库▶ 人机工学改良

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

. . . . . .

USEMACS项目

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

▶ alpha-window▶ datetime▶ lzx

. . . . . .

USEMACS项目

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

▶ datetime▶ lzx

. . . . . .

USEMACS项目

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

▶ lzx

. . . . . .

USEMACS项目

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

. . . . . .

谢谢参与P̃ower By LATEX