Your SlideShare is downloading. ×
Emacs show
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Emacs show

869

Published on

A bunch of screenshots to show how powerful emacs is (In chinese).

A bunch of screenshots to show how powerful emacs is (In chinese).

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
869
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
22
Comments
0
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 不只是文本编辑 不只是文本编辑 Emacs show lgfang plexus platform December 7, 2011lgfang | platform | December 7, 2011 1 / 83
  • 2. 不只是文本编辑 | 引言工欲善其事必先利其器你有没有遇到过以下情况: 局上出的bug,调查几天发现是if(a==b)写成if(a=b)。lgfang | platform | December 7, 2011 2 / 83
  • 3. 不只是文本编辑 | 引言工欲善其事必先利其器你有没有遇到过以下情况: 局上出的bug,调查几天发现是if(a==b)写成if(a=b)。 编译花了N久,然后发现""写成"’。lgfang | platform | December 7, 2011 2 / 83
  • 4. 不只是文本编辑 | 引言工欲善其事必先利其器你有没有遇到过以下情况: 局上出的bug,调查几天发现是if(a==b)写成if(a=b)。 编译花了N久,然后发现""写成"’。 怎么改代码都不生效,最后发现是编译前没保存(或上传)源码。lgfang | platform | December 7, 2011 2 / 83
  • 5. 不只是文本编辑 | 引言工欲善其事必先利其器你有没有遇到过以下情况: 局上出的bug,调查几天发现是if(a==b)写成if(a=b)。 编译花了N久,然后发现""写成"’。 怎么改代码都不生效,最后发现是编译前没保存(或上传)源码。 还是怎么改代码都不生效。连编译加测试折腾几天,最后发现是代 码写 在#if 0里面。lgfang | platform | December 7, 2011 2 / 83
  • 6. 不只是文本编辑 | 引言工欲善其事必先利其器你有没有遇到过以下情况: 局上出的bug,调查几天发现是if(a==b)写成if(a=b)。 编译花了N久,然后发现""写成"’。 怎么改代码都不生效,最后发现是编译前没保存(或上传)源码。 还是怎么改代码都不生效。连编译加测试折腾几天,最后发现是代 码写 在#if 0里面。不是凭空捏造,以上每一项都是我身边发生过的实例。其实这些都是“不该发生的低级错误”。因为...lgfang | platform | December 7, 2011 2 / 83
  • 7. 不只是文本编辑 | 引言好的工具会帮你lgfang | platform | December 7, 2011 3 / 83
  • 8. 不只是文本编辑 | 引言听众与目标 听众: 好奇它能做些什么 不知道该学些什么 没体会到它很方便lgfang | platform | December 7, 2011 4 / 83
  • 9. 不只是文本编辑 | 引言听众与目标 听众: 目标: 好奇它能做些什么 展示 Emacs 的扩展性a 不知道该学些什么 Linux、字符界面的工具也很强 没体会到它很方便 大 用户友好 != 傻瓜化 熟练使用工具大大提高效率 a 本演讲不教具体怎么用lgfang | platform | December 7, 2011 4 / 83
  • 10. 不只是文本编辑 | 引言 无论选择什么,请选择并“精通”一个工具!lgfang | platform | December 7, 2011 5 / 83
  • 11. 不只是文本编辑 | 引言正式开始之前这个演讲主要是截屏图的合集,所以 用幻灯片模式观看 想像窗口是1920x1080 截图字体有点变形 只是Emacs feature的极小一部分lgfang | platform | December 7, 2011 6 / 83
  • 12. 不只是文本编辑 | 引言提纲1 开始2 查看与编辑3 编码4 管理工具5 个人数据和娱乐lgfang | platform | December 7, 2011 7 / 83
  • 13. 不只是文本编辑 | 开始提纲1 开始 组合键 窗口 buffers and files 启动2 查看与编辑3 编码4 管理工具5 个人数据和娱乐lgfang | platform | December 7, 2011 8 / 83
  • 14. 不只是文本编辑 | 开始 | 组合键组合键的表示方法 C-b 按住 Ctrl 再按 blgfang | platform | December 7, 2011 9 / 83
  • 15. 不只是文本编辑 | 开始 | 组合键组合键的表示方法 C-b 按住 Ctrl 再按 b M-b 按住 Meta (通常被映射 到 Alt )再按 blgfang | platform | December 7, 2011 9 / 83
  • 16. 不只是文本编辑 | 开始 | 组合键组合键的表示方法 C-b 按住 Ctrl 再按 b M-b 按住 Meta (通常被映射 到 Alt )再按 b C-x b 先按 ’C-x’ 再按 blgfang | platform | December 7, 2011 9 / 83
  • 17. 不只是文本编辑 | 开始 | 组合键组合键的表示方法 C-b 按住 Ctrl 再按 b M-b 按住 Meta (通常被映射 到 Alt )再按 b C-x b 先按 ’C-x’ 再按 b C-x C-b 先按 ’C-x’ 再按 ’C-b’lgfang | platform | December 7, 2011 9 / 83
  • 18. 不只是文本编辑 | 开始 | 组合键组合键的表示方法 C-b 按住 Ctrl 再按 b M-b 按住 Meta (通常被映射 到 Alt )再按 b C-x b 先按 ’C-x’ 再按 b C-x C-b 先按 ’C-x’ 再按 ’C-b’ C-M-c 按住 Ctrl 和 Meta 再按 clgfang | platform | December 7, 2011 9 / 83
  • 19. 不只是文本编辑 | 开始 | 组合键组合键的表示方法 C-b 按住 Ctrl 再按 b M-b 按住 Meta (通常被映射 到 Alt )再按 b C-x b 先按 ’C-x’ 再按 b C-x C-b 先按 ’C-x’ 再按 ’C-b’ C-M-c 按住 Ctrl 和 Meta 再按 clgfang | platform | December 7, 2011 9 / 83
  • 20. 不只是文本编辑 | 开始 | 组合键组合键的表示方法 C-b 按住 Ctrl 再按 b M-b 按住 Meta (通常被映射 到 Alt )再按 b C-x b 先按 ’C-x’ 再按 b C-x C-b 先按 ’C-x’ 再按 ’C-b’ C-M-c 按住 Ctrl 和 Meta 再按 c 记住“救急”键(类似vim里的ESC): C-glgfang | platform | December 7, 2011 9 / 83
  • 21. 不只是文本编辑 | 开始 | 窗口默认布局frame, window, menu-bar, scroll-bar, mode-line, mini-buffer/echo arealgfang | platform | December 7, 2011 10 / 83
  • 22. 不只是文本编辑 | 开始 | 窗口去掉所有“没用”部件再看布局lgfang | platform | December 7, 2011 11 / 83
  • 23. 不只是文本编辑 | 开始 | 窗口分屏再看mode-line和mini-bufferlgfang | platform | December 7, 2011 12 / 83
  • 24. 不只是文本编辑 | 开始 | 窗口边框去掉去掉!这是窗口管理器的功能lgfang | platform | December 7, 2011 13 / 83
  • 25. 不只是文本编辑 | 开始 | 窗口调整窗口布局C-lgfang | platform | December 7, 2011 14 / 83
  • 26. 不只是文本编辑 | 开始 | 窗口窗口操作在窗口间跳转 C-<arrow>窗口位置互换 M-<arrow>窗口位置互换 C-M-<arrow>只留一个窗口 C-x 1“undo”布局变化 C-c <left>lgfang | platform | December 7, 2011 15 / 83
  • 27. 不只是文本编辑 | 开始 | 窗口配色lgfang | platform | December 7, 2011 16 / 83
  • 28. 不只是文本编辑 | 开始 | buffers and filesBuffers and Files Files 存储在硬盘上(本机或远程)的文件 Buffers Emacs的操作对象(读入内存的文件只是其中一种)lgfang | platform | December 7, 2011 17 / 83
  • 29. 不只是文本编辑 | 开始 | buffers and files看看各buffer分别对应什么lgfang | platform | December 7, 2011 18 / 83
  • 30. 不只是文本编辑 | 开始 | buffers and files管理bufferlgfang | platform | December 7, 2011 19 / 83
  • 31. 不只是文本编辑 | 开始 | 启动Emacs Daemon 与 Emacsclient 启动与关闭 启动daemon emacs --daemon 启动客户端 emacsclient -t 关闭daemon emacslcient -e ’(kill-emacs)’lgfang | platform | December 7, 2011 20 / 83
  • 32. 不只是文本编辑 | 开始 | 启动Emacs Daemon 与 Emacsclient 启动与关闭 启动daemon emacs --daemon 启动客户端 emacsclient -t 关闭daemon emacslcient -e ’(kill-emacs)’ 定时清理buffer (when (require ’midnight nil t) (midnight-delay-set ’midnight-delay "1:30am") (setq clean-buffer-list-delay-general 1))lgfang | platform | December 7, 2011 20 / 83
  • 33. 不只是文本编辑 | 开始 | 启动看看我的Emacs运行了多少天lgfang | platform | December 7, 2011 21 / 83
  • 34. 不只是文本编辑 | 开始 | 启动 start once, do everything in itlgfang | platform | December 7, 2011 22 / 83
  • 35. 不只是文本编辑 | 开始 | 启动 start once, do everything in it 免费的文本功能lgfang | platform | December 7, 2011 22 / 83
  • 36. 不只是文本编辑 | 开始 | 启动 start once, do everything in it 免费的文本功能 风格统一的接口lgfang | platform | December 7, 2011 22 / 83
  • 37. 不只是文本编辑 | 开始 | 启动 start once, do everything in it 免费的文本功能 风格统一的接口 便捷的切换lgfang | platform | December 7, 2011 22 / 83
  • 38. 不只是文本编辑 | 开始 | 启动打开最近访问的文件:[f2]“随便”输入几个字符就行(ido)lgfang | platform | December 7, 2011 23 / 83
  • 39. 不只是文本编辑 | 开始 | 启动打开最近访问的文件:[f2]“随便”输入几个字符就行(ido)lgfang | platform | December 7, 2011 23 / 83
  • 40. 不只是文本编辑 | 开始 | 启动打开最近访问的文件:[f2]“随便”输入几个字符就行(ido)lgfang | platform | December 7, 2011 23 / 83
  • 41. 不只是文本编辑 | 开始 | 启动打开链接(本地、远程文件)自动下载RFClgfang | platform | December 7, 2011 24 / 83
  • 42. 不只是文本编辑 | 开始 | 启动打开链接(本地、远程文件)自动下载RFClgfang | platform | December 7, 2011 24 / 83
  • 43. 不只是文本编辑 | 查看与编辑提纲1 开始2 查看与编辑 rfcview 查找与跳转 英语3 编码4 管理工具5 个人数据和娱乐lgfang | platform | December 7, 2011 25 / 83
  • 44. 不只是文本编辑 | 查看与编辑 | rfcview这是纯文本(txt)文件么?lgfang | platform | December 7, 2011 26 / 83
  • 45. 不只是文本编辑 | 查看与编辑 | rfcviewimenu 的章节列表lgfang | platform | December 7, 2011 27 / 83
  • 46. 不只是文本编辑 | 查看与编辑 | 查找与跳转函数间跳转:你已见过的imenulgfang | platform | December 7, 2011 28 / 83
  • 47. 不只是文本编辑 | 查看与编辑 | 查找与跳转函数间跳转:imenu + ido 比鼠标更方便lgfang | platform | December 7, 2011 29 / 83
  • 48. 不只是文本编辑 | 查看与编辑 | 查找与跳转函数间跳转:imenu + ido 比鼠标更方便lgfang | platform | December 7, 2011 29 / 83
  • 49. 不只是文本编辑 | 查看与编辑 | 英语实时拼写检查lgfang | platform | December 7, 2011 30 / 83
  • 50. 不只是文本编辑 | 查看与编辑 | 英语实时拼写检查lgfang | platform | December 7, 2011 30 / 83
  • 51. 不只是文本编辑 | 查看与编辑 | 英语我还是喜欢手不离键盘lgfang | platform | December 7, 2011 31 / 83
  • 52. 不只是文本编辑 | 查看与编辑 | 英语在源码中只检查注释和字符串lgfang | platform | December 7, 2011 32 / 83
  • 53. 不只是文本编辑 | 查看与编辑 | 英语字典lgfang | platform | December 7, 2011 33 / 83
  • 54. 不只是文本编辑 | 编码提纲1 开始2 查看与编辑3 编码 man and info cscope 集成 cvs 集成 编译与调试4 管理工具5 个人数据和娱乐lgfang | platform | December 7, 2011 34 / 83
  • 55. 不只是文本编辑 | 编码 | man and infoman:[tab] 提示lgfang | platform | December 7, 2011 35 / 83
  • 56. 不只是文本编辑 | 编码 | man and info鼠标点击跳转lgfang | platform | December 7, 2011 36 / 83
  • 57. 不只是文本编辑 | 编码 | man and info鼠标点击跳转lgfang | platform | December 7, 2011 36 / 83
  • 58. 不只是文本编辑 | 编码 | man and info我喜欢 ’r’ 然后 ’tab’lgfang | platform | December 7, 2011 37 / 83
  • 59. 不只是文本编辑 | 编码 | man and info最详尽的 infolgfang | platform | December 7, 2011 38 / 83
  • 60. 不只是文本编辑 | 编码 | cscope 集成xcscope.el:键盘操作简单方便lgfang | platform | December 7, 2011 39 / 83
  • 61. 不只是文本编辑 | 编码 | cscope 集成实在记不住也可以用鼠标lgfang | platform | December 7, 2011 40 / 83
  • 62. 不只是文本编辑 | 编码 | cvs 集成代码文件状态:cvs statuslgfang | platform | December 7, 2011 41 / 83
  • 63. 不只是文本编辑 | 编码 | cvs 集成改了些什么:cvs difflgfang | platform | December 7, 2011 42 / 83
  • 64. 不只是文本编辑 | 编码 | cvs 集成提交我的改动:cvs checkinlgfang | platform | December 7, 2011 43 / 83
  • 65. 不只是文本编辑 | 编码 | cvs 集成是谁干的:cvs annotatelgfang | platform | December 7, 2011 44 / 83
  • 66. 不只是文本编辑 | 编码 | cvs 集成为什么干:cvs loglgfang | platform | December 7, 2011 45 / 83
  • 67. 不只是文本编辑 | 编码 | cvs 集成干什么了:diff revisions 1lgfang | platform | December 7, 2011 46 / 83
  • 68. 不只是文本编辑 | 编码 | cvs 集成比较任意两个版本:diff revisions 2lgfang | platform | December 7, 2011 47 / 83
  • 69. 不只是文本编辑 | 编码 | cvs 集成想要更fancy的diff?ediff!lgfang | platform | December 7, 2011 48 / 83
  • 70. 不只是文本编辑 | 编码 | 编译与调试编译TODO:lgfang | platform | December 7, 2011 49 / 83
  • 71. 不只是文本编辑 | 编码 | 编译与调试调试TODO:lgfang | platform | December 7, 2011 50 / 83
  • 72. 不只是文本编辑 | 管理工具提纲1 开始2 查看与编辑3 编码4 管理工具 ediff dired 实例:操作远程文件 org-mode5 个人数据和娱乐lgfang | platform | December 7, 2011 51 / 83
  • 73. 不只是文本编辑 | 管理工具 | ediff比较任意buffer;一键切换布局lgfang | platform | December 7, 2011 52 / 83
  • 74. 不只是文本编辑 | 管理工具 | ediff比较任意buffer;一键切换布局lgfang | platform | December 7, 2011 52 / 83
  • 75. 不只是文本编辑 | 管理工具 | ediff快捷键lgfang | platform | December 7, 2011 53 / 83
  • 76. 不只是文本编辑 | 管理工具 | ediff在host A 上比较 host B 和 C 的目录lgfang | platform | December 7, 2011 54 / 83
  • 77. 不只是文本编辑 | 管理工具 | dired进入dired:C-x dlgfang | platform | December 7, 2011 55 / 83
  • 78. 不只是文本编辑 | 管理工具 | dired长短格式切换: )lgfang | platform | December 7, 2011 56 / 83
  • 79. 不只是文本编辑 | 管理工具 | dired标记:m 复制:C; 移动:R; 删除:Dlgfang | platform | December 7, 2011 57 / 83
  • 80. 不只是文本编辑 | 管理工具 | dired偶而看看图lgfang | platform | December 7, 2011 58 / 83
  • 81. 不只是文本编辑 | 管理工具 | dired查看缩略图: C-t dlgfang | platform | December 7, 2011 59 / 83
  • 82. 不只是文本编辑 | 管理工具 | dired编辑文本一样编辑目录 如果想批量改名 如果文件名很复杂(中英文+标点符号) TODO:lgfang | platform | December 7, 2011 60 / 83
  • 83. 不只是文本编辑 | 管理工具 | dired其它 M-x dired-do-query-replace-regexplgfang | platform | December 7, 2011 61 / 83
  • 84. 不只是文本编辑 | 管理工具 | 实例:操作远程文件eshell远程机器lgfang | platform | December 7, 2011 62 / 83
  • 85. 不只是文本编辑 | 管理工具 | 实例:操作远程文件直接dired远程目录lgfang | platform | December 7, 2011 63 / 83
  • 86. 不只是文本编辑 | 管理工具 | 实例:操作远程文件insert-buffer 传输文件lgfang | platform | December 7, 2011 64 / 83
  • 87. 不只是文本编辑 | 管理工具 | org-mode用org-mode记笔记lgfang | platform | December 7, 2011 65 / 83
  • 88. 不只是文本编辑 | 管理工具 | org-mode用org-mode记笔记优点: 简便 纯文本,但用着比rich text还方便 发布成html/pdf 发布文件中高亮代码 可以利用Emacs的特性 不用再学另外一个笔记软件lgfang | platform | December 7, 2011 66 / 83
  • 89. 不只是文本编辑 | 个人数据和娱乐提纲1 开始2 查看与编辑3 编码4 管理工具5 个人数据和娱乐 日程 通讯录 音乐播放lgfang | platform | December 7, 2011 67 / 83
  • 90. 不只是文本编辑 | 个人数据和娱乐 | 日程日历lgfang | platform | December 7, 2011 68 / 83
  • 91. 不只是文本编辑 | 个人数据和娱乐 | 日程agendalgfang | platform | December 7, 2011 69 / 83
  • 92. 不只是文本编辑 | 个人数据和娱乐 | 日程agenda timelinelgfang | platform | December 7, 2011 70 / 83
  • 93. 不只是文本编辑 | 个人数据和娱乐 | 日程时间统计M-x org-clock-displaylgfang | platform | December 7, 2011 71 / 83
  • 94. 不只是文本编辑 | 个人数据和娱乐 | 通讯录查询 “ark fang”lgfang | platform | December 7, 2011 72 / 83
  • 95. 不只是文本编辑 | 个人数据和娱乐 | 通讯录查询所有“排球爱好者”lgfang | platform | December 7, 2011 73 / 83
  • 96. 不只是文本编辑 | 个人数据和娱乐 | 通讯录批量导出lgfang | platform | December 7, 2011 74 / 83
  • 97. 不只是文本编辑 | 个人数据和娱乐 | 通讯录ldap查询lgfang | platform | December 7, 2011 75 / 83
  • 98. 不只是文本编辑 | 个人数据和娱乐 | 通讯录ldap结果(可一键导入bbdb)lgfang | platform | December 7, 2011 76 / 83
  • 99. 不只是文本编辑 | 个人数据和娱乐 | 音乐播放音乐库与播放列表lgfang | platform | December 7, 2011 77 / 83
  • 100. 不只是文本编辑 | 个人数据和娱乐 | 音乐播放分类查看(专辑、流派等)lgfang | platform | December 7, 2011 78 / 83
  • 101. 不只是文本编辑 | 个人数据和娱乐 | 音乐播放歌词同步显示lgfang | platform | December 7, 2011 79 / 83
  • 102. 不只是文本编辑 | 个人数据和娱乐 | 音乐播放不依赖图形界面lgfang | platform | December 7, 2011 80 / 83
  • 103. 不只是文本编辑 | 资源一些视频链接auto-complete http: //www.cx4a.org/software/auto-complete/demo.html gccsense http://www.cx4a.org/software/gccsense/demo.html rsense http://www.cx4a.org/software/rsense/demo.html yasnippet http://capitaomorte.github.com/yasnippet/lgfang | platform | December 7, 2011 81 / 83
  • 104. 不只是文本编辑 | 致谢与问答谢谢组织1 、社区和大家 问题? 如果觉得什么操作不方便,肯定有更方便的做法 1 GNU, FSF等各种开源项目、组织和社区lgfang | platform | December 7, 2011 82 / 83
  • 105. 不只是文本编辑 | 备用备用 - occur - grep-find折叠 hide-show hide-ifdef selective-display narrow/widen补齐与提示 hippie expand autocomplete yasundo regionlgfang | platform | December 7, 2011 83 / 83

×