SlideShare ist ein Scribd-Unternehmen logo
1 von 86
Downloaden Sie, um offline zu lesen
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




       .   .      .   .   .     .

Weitere ähnliche Inhalte

Ähnlich wie Emacs Introduction

软件开发工程化的个人体验
软件开发工程化的个人体验软件开发工程化的个人体验
软件开发工程化的个人体验March Liu
 
Python 数据库技术第三讲
Python 数据库技术第三讲Python 数据库技术第三讲
Python 数据库技术第三讲March Liu
 
PostgreSQL Introduction V0.1
PostgreSQL Introduction V0.1PostgreSQL Introduction V0.1
PostgreSQL Introduction V0.1March Liu
 
Vim hacks
Vim hacksVim hacks
Vim hacksXuYj
 
Rec soft npp
Rec soft nppRec soft npp
Rec soft nppcri fan
 
C/C++调试、跟踪及性能分析工具综述
C/C++调试、跟踪及性能分析工具综述C/C++调试、跟踪及性能分析工具综述
C/C++调试、跟踪及性能分析工具综述Xiaozhe Wang
 
手把手教你把Vim改装成一个IDE编程环境(图文)
手把手教你把Vim改装成一个IDE编程环境(图文)手把手教你把Vim改装成一个IDE编程环境(图文)
手把手教你把Vim改装成一个IDE编程环境(图文)King Hom
 
GNU Autoconf / Automake #4
GNU Autoconf / Automake #4GNU Autoconf / Automake #4
GNU Autoconf / Automake #4imacat .
 
GCC_Porting_on_MiniSystem
GCC_Porting_on_MiniSystemGCC_Porting_on_MiniSystem
GCC_Porting_on_MiniSystemXiaojing Ma
 
Unixtoolbox zh cn
Unixtoolbox zh cnUnixtoolbox zh cn
Unixtoolbox zh cnxdboy2006
 
Continuous Delivery Workshop with Ansible x GitLab CI (5th)
 Continuous Delivery Workshop with Ansible x GitLab CI (5th) Continuous Delivery Workshop with Ansible x GitLab CI (5th)
Continuous Delivery Workshop with Ansible x GitLab CI (5th)Chu-Siang Lai
 
8门编程语言的设计思考
8门编程语言的设计思考8门编程语言的设计思考
8门编程语言的设计思考Ray Song
 
目录结构规范
目录结构规范目录结构规范
目录结构规范Zheng Biao
 
前端开发工具 - 编辑器篇
前端开发工具 - 编辑器篇前端开发工具 - 编辑器篇
前端开发工具 - 编辑器篇keelii
 

Ähnlich wie Emacs Introduction (20)

软件开发工程化的个人体验
软件开发工程化的个人体验软件开发工程化的个人体验
软件开发工程化的个人体验
 
Python 数据库技术第三讲
Python 数据库技术第三讲Python 数据库技术第三讲
Python 数据库技术第三讲
 
PostgreSQL Introduction V0.1
PostgreSQL Introduction V0.1PostgreSQL Introduction V0.1
PostgreSQL Introduction V0.1
 
Ipaq with linux
Ipaq with linuxIpaq with linux
Ipaq with linux
 
Vim hacks
Vim hacksVim hacks
Vim hacks
 
Rec soft npp
Rec soft nppRec soft npp
Rec soft npp
 
Linuxguide4f2e
Linuxguide4f2eLinuxguide4f2e
Linuxguide4f2e
 
LinuxGuide4F2E
LinuxGuide4F2ELinuxGuide4F2E
LinuxGuide4F2E
 
C/C++调试、跟踪及性能分析工具综述
C/C++调试、跟踪及性能分析工具综述C/C++调试、跟踪及性能分析工具综述
C/C++调试、跟踪及性能分析工具综述
 
手把手教你把Vim改装成一个IDE编程环境(图文)
手把手教你把Vim改装成一个IDE编程环境(图文)手把手教你把Vim改装成一个IDE编程环境(图文)
手把手教你把Vim改装成一个IDE编程环境(图文)
 
GNU Autoconf / Automake #4
GNU Autoconf / Automake #4GNU Autoconf / Automake #4
GNU Autoconf / Automake #4
 
GCC_Porting_on_MiniSystem
GCC_Porting_on_MiniSystemGCC_Porting_on_MiniSystem
GCC_Porting_on_MiniSystem
 
Using vim
Using vimUsing vim
Using vim
 
Twido programming guide
Twido programming guideTwido programming guide
Twido programming guide
 
Unixtoolbox zh cn
Unixtoolbox zh cnUnixtoolbox zh cn
Unixtoolbox zh cn
 
unixtoolbox_zh_CN
unixtoolbox_zh_CNunixtoolbox_zh_CN
unixtoolbox_zh_CN
 
Continuous Delivery Workshop with Ansible x GitLab CI (5th)
 Continuous Delivery Workshop with Ansible x GitLab CI (5th) Continuous Delivery Workshop with Ansible x GitLab CI (5th)
Continuous Delivery Workshop with Ansible x GitLab CI (5th)
 
8门编程语言的设计思考
8门编程语言的设计思考8门编程语言的设计思考
8门编程语言的设计思考
 
目录结构规范
目录结构规范目录结构规范
目录结构规范
 
前端开发工具 - 编辑器篇
前端开发工具 - 编辑器篇前端开发工具 - 编辑器篇
前端开发工具 - 编辑器篇
 

Mehr von March Liu

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

Mehr von March Liu (15)

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

Emacs Introduction