SlideShare a Scribd company logo
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




            .   .   .   .   .   .
兼容几乎所有平台




  ▶   BSD
  ▶   Linux




              .   .   .   .   .   .
兼容几乎所有平台




  ▶   BSD
  ▶   Linux
  ▶   MAC




              .   .   .   .   .   .
兼容几乎所有平台




  ▶   BSD
  ▶   Linux
  ▶   MAC
  ▶   Windows




                .   .   .   .   .   .
适应几乎所有环境




  ▶   字符控制台




              .   .   .   .   .   .
适应几乎所有环境




  ▶   字符控制台
  ▶   XWindows




                 .   .   .   .   .   .
适应几乎所有环境




  ▶   字符控制台
  ▶   XWindows
       ▶   GNOME




                   .   .   .   .   .   .
适应几乎所有环境




  ▶   字符控制台
  ▶   XWindows
       ▶   GNOME
       ▶   KDE




                   .   .   .   .   .   .
适应几乎所有环境




  ▶   字符控制台
  ▶   XWindows
       ▶   GNOME
       ▶   KDE
       ▶   ...




                   .   .   .   .   .   .
适应几乎所有环境




  ▶   字符控制台
  ▶   XWindows
       ▶   GNOME
       ▶   KDE
       ▶   ...
  ▶   MAC OS X




                   .   .   .   .   .   .
适应几乎所有环境




  ▶   字符控制台
  ▶   XWindows
       ▶   GNOME
       ▶   KDE
       ▶   ...
  ▶   MAC OS X
  ▶   Windows




                   .   .   .   .   .   .
近乎无限的扩展能力




  ▶   支持几乎所有编程语言




                   .   .   .   .   .   .
近乎无限的扩展能力




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




                    .   .   .   .   .   .
近乎无限的扩展能力




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




                    .   .   .   .   .   .
近乎无限的扩展能力




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




                    .   .   .   .   .   .
近乎无限的扩展能力




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




                    .   .   .   .   .   .
Emacs 使用




           .   .   .   .   .   .
术语




     Meta/M Option/ALT




                         .   .   .   .   .   .
术语




     Meta/M Option/ALT
     C/CTL Control




                         .   .   .   .   .   .
术语




     Meta/M Option/ALT
     C/CTL Control
       ESC ESC




                         .   .   .   .   .   .
基本编辑操作




   复制 M-W




            .   .   .   .   .   .
基本编辑操作




   复制 M-W
   剪切 C-W




            .   .   .   .   .   .
基本编辑操作




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




            .   .   .   .   .   .
基本编辑操作




    复制 M-W
    剪切 C-W
    粘贴 C-Y
 轮询粘贴环 M-Y




             .   .   .   .   .   .
基本编辑操作




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




             .   .   .   .   .   .
跳转




     向上 C-P




              .   .   .   .   .   .
跳转




     向上 C-P
     向下 C-N




              .   .   .   .   .   .
跳转




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




              .   .   .   .   .   .
跳转




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




              .   .   .   .   .   .
搜索与替换




        .   .   .   .   .   .
搜索与替换




   向前 C-s




            .   .   .   .   .   .
搜索与替换




   向前 C-s
   向后 C-r




            .   .   .   .   .   .
搜索与替换




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




                           .   .   .   .   .   .
搜索与替换




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




                                   .      .   .   .   .   .
编程语言支持




  ▶   cc-mode




                .   .   .   .   .   .
编程语言支持




  ▶   cc-mode
  ▶   java-mode




                  .   .   .   .   .   .
编程语言支持




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




                    .   .   .   .   .   .
编程语言支持




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




                    .   .   .   .   .   .
编程语言支持




  ▶   cc-mode




                .   .   .   .   .   .
编程语言支持




  ▶   cc-mode
  ▶   java-mode




                  .   .   .   .   .   .
编程语言支持




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




                    .   .   .   .   .   .
编程语言支持




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




                    .   .   .   .   .   .
编程语言支持




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




                    .   .   .   .   .   .
LTEX 插件 AUCTeX
A




   ▶   辅助格式操作




                 .   .   .   .   .   .
LTEX 插件 AUCTeX
A




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




                 .   .   .   .   .   .
LTEX 插件 AUCTeX
A




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




                 .   .   .   .   .   .
LTEX 插件 AUCTeX
A




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




                 .   .   .   .   .   .
MUSE 排版系统




  ▶   WIKI 式的操作支持




                    .   .   .   .   .   .
MUSE 排版系统




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




                            .   .   .   .   .   .
MUSE 排版系统




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




                            .   .   .   .   .   .
MUSE 排版系统




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




                            .   .   .   .   .   .
MUSE 排版系统




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




                            .   .   .   .   .   .
ORG 内容管理系统




  ▶   桌面式 CMS




                .   .   .   .   .   .
ORG 内容管理系统




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




                            .   .   .   .   .   .
ORG 内容管理系统




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




                            .   .   .   .   .   .
ORG 内容管理系统




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




                            .   .   .   .   .   .
集成开发环境 CEDET




  ▶   语义分析




               .   .   .   .   .   .
集成开发环境 CEDET




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




                .   .   .   .   .   .
集成开发环境 CEDET




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




                   .   .   .   .   .   .
集成开发环境 CEDET




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




                       .   .   .   .   .   .
XML 类编辑插件 NXML




  ▶   辅助编辑操作




                 .   .   .   .   .   .
XML 类编辑插件 NXML




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




                    .   .   .   .   .   .
超级积木 MMM




  ▶   组合各种插件




               .   .   .   .   .   .
超级积木 MMM




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




               .   .   .   .   .   .
变色龙 color-theme




   ▶   定制颜色外观




                  .   .   .   .   .   .
变色龙 color-theme




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




                  .   .   .   .   .   .
变色龙 color-theme




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




                  .   .   .   .   .   .
多种增强 shell




   ▶   shell/eshell




                      .   .   .   .   .   .
多种增强 shell




   ▶   shell/eshell
   ▶   python/py-shell




                         .   .   .   .   .   .
多种增强 shell




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




                         .   .   .   .   .   .
多种增强 shell




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




                         .   .   .   .   .   .
多种增强 shell




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




                         .   .   .   .   .   .
USEMACS 项目




  ▶   配置库




             .   .   .   .   .   .
USEMACS 项目




  ▶   配置库
  ▶   人机工学改良




               .   .   .   .   .   .
USEMACS 项目




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




               .   .   .   .   .   .
USEMACS 项目




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




                     .   .   .   .   .   .
USEMACS 项目




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




                     .   .   .   .   .   .
USEMACS 项目




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




                     .   .   .   .   .   .
谢谢参与
               P̃ower By LTEX
                         A




       .   .      .   .   .     .

More Related Content

PPT
It工程师的职业成长
PDF
Socrates Used PostgreSQL and SQLAlchemy
PDF
尼尔盖曼的美国众神
PDF
PostgreSQL 9 1 新特性
PDF
奇点与未来
PDF
Xcode tutorial
PDF
轻量级文本工具集
PDF
My Emacs Configs
It工程师的职业成长
Socrates Used PostgreSQL and SQLAlchemy
尼尔盖曼的美国众神
PostgreSQL 9 1 新特性
奇点与未来
Xcode tutorial
轻量级文本工具集
My Emacs Configs

Similar to Emacs Introduction (20)

PDF
软件开发工程化的个人体验
PDF
Python 数据库技术第三讲
PDF
PostgreSQL Introduction V0.1
PDF
Ipaq with linux
PDF
Vim hacks
PDF
Rec soft npp
KEY
Linuxguide4f2e
KEY
LinuxGuide4F2E
PDF
C/C++调试、跟踪及性能分析工具综述
DOC
手把手教你把Vim改装成一个IDE编程环境(图文)
ODP
GNU Autoconf / Automake #4
PDF
ThinkCentre Server M955t User Guide.pdf
PDF
GCC_Porting_on_MiniSystem
PDF
Using vim
PDF
Twido programming guide
PDF
Unixtoolbox zh cn
PDF
unixtoolbox_zh_CN
PDF
Continuous Delivery Workshop with Ansible x GitLab CI (5th)
PDF
8门编程语言的设计思考
PPTX
目录结构规范
软件开发工程化的个人体验
Python 数据库技术第三讲
PostgreSQL Introduction V0.1
Ipaq with linux
Vim hacks
Rec soft npp
Linuxguide4f2e
LinuxGuide4F2E
C/C++调试、跟踪及性能分析工具综述
手把手教你把Vim改装成一个IDE编程环境(图文)
GNU Autoconf / Automake #4
ThinkCentre Server M955t User Guide.pdf
GCC_Porting_on_MiniSystem
Using vim
Twido programming guide
Unixtoolbox zh cn
unixtoolbox_zh_CN
Continuous Delivery Workshop with Ansible x GitLab CI (5th)
8门编程语言的设计思考
目录结构规范
Ad

More from March Liu (15)

PDF
Jaskell Core Parsec
PDF
创业项目中常见的技术和管理债务
PDF
Python速成指南
PDF
Python 数据库技术讲座(二)
PDF
Python 数据库技术讲座(一)
PDF
Python 数据库技术
PDF
PostgreSQL 9 的 standby 集群实践
PDF
PostgreSQL 9 Standby
PPT
基于 PostgreSQL 的关系型数据库方案
PDF
About Me
PPT
1 Python简介
PPT
2 Python开发工具链
PPT
3 Python开发风格与建议
PDF
Postgre sql intro 0
PDF
Perl 6 news at 2010-06
Jaskell Core Parsec
创业项目中常见的技术和管理债务
Python速成指南
Python 数据库技术讲座(二)
Python 数据库技术讲座(一)
Python 数据库技术
PostgreSQL 9 的 standby 集群实践
PostgreSQL 9 Standby
基于 PostgreSQL 的关系型数据库方案
About Me
1 Python简介
2 Python开发工具链
3 Python开发风格与建议
Postgre sql intro 0
Perl 6 news at 2010-06
Ad

Emacs Introduction