从来没有踏进过写代码的世界,所以压根不知道文本编辑是个毛。之前对于文本编辑器的唯一认识也就是windows的记事本了。所以之前文本编辑器在我脑子里基本和txt是划等号的。(原谅我的无知吧)。前一阵子看聚类分析的文章,用word做笔记,被一哥们深深鄙视。于是乎甩给我一个便签,上面赫然写着几个英文单词 Emacas Org-mode ,之后说,自己去查查吧,笔记神器,还能做GTD。然后是长达5min的赞美之词以及功能的简介,对不起,我啥也没听懂,只得到了两点信息:1. 这东西太难学了。2. 这东西太好用了。然后就目送那位大神离去。

之后在知乎,google,baidu上查了一下这个东西,期间看过很多emacs和vim的圣战文,也了解了一下markdown。综合对比之后,我毅然决然,大义凌然的选择了Emacs。于是乎开始了我漫长的上手过程。其实只用了一天,今天是我用的第二天。

最后,额外说一句,使用了两天的emacs,我很少再用鼠标了。所以手不用在键盘和鼠标之间切换,所以手腕舒服了很多,所以Emacs还有保护身体健康的额外功效。

下面上正文。


选择Emacs的理由——Org-mode

在说选择理由之前,先说一下我学习的几个重要的观点:我现在文本编辑功能不足的现状,够用的学习理念,少走弯路的学习过程,自己哄着自己坚持下去的学习热情。

现状(基于本人现有软件的使用)

本人工作主要是企业管理,具体工作以对着电脑写各种报告为主。由于公司不是新兴的互联网企业(没有一个程序员之类的人),所以所有文字编辑必然都是强大的office旗下产品。同时,本人还在学习数据挖掘方面的东西。另外,出于兴趣原因,还偶尔兼职讲课(各种课,数学的、考研的……,好吧,我承认我是一个爱折腾,闲不下来的人)。换句话说,我的工作很杂,所以要求思维转换也很快。之前使用的全中国最普及的微软MSOffice套件(感谢盗版,但本人绝对使用公司的正版软件)是基于所见即所得的思路。有的时候打上去字,发现结构不是自己想要的,调完结构或者格式,思绪又被打乱了(本人脑子内存确实小,原谅了吧)。虽然,office的普遍兼容性(几乎在中国每台电脑,确切的说是装了windows的电脑都有office,再次感谢盗版)可以满足很多,但是我还是迫切需要一种可以做到 所想即所得 的强大工具。

理念(够用才好)

够用二字有两重含义:1. 要满足需求; 2. 不用贪多。
基于这样的理念,我从Emacs,VIM,和markdown中选择了Emacs。当然选的时候我三个都没有用过。
首先,从满足需求的角度。

  1. 选择Emacs要满足我现在使用的需求。根据我查询的结果显示Emacs的功能是三个里最强大的(不想再挑起圣战,相关的介绍到处都有)。而且我的需求目前来说只有两点:所想即所得的录入;GTD(本人重度GTD控,试过各种APP,以及用各种纸质本记录)。而Emacs的org-mode可以很好的做到这两点。当然VIM也有这个功能,但是可能我不习惯两种模式的切换,或者说从我查到的观点感觉VIM相对Emacs上手好一点,后面的路相对不是那么好。
  2. 选择Emacs的路更长远。虽说刚学的时候使用的功能很少,但我可不敢保证以后不会变身大神。但是真的要变身发现现在的工具不能满足,所以要换,要重新学一个新东西,我觉得有点浪费时间。因此选择了号称学习曲线最奇葩的Emacs,其实我也只是选择了org-mode。最后上一个经典的学习曲线图,让很多初学者直观一点我在絮叨什么。
  3. 最关键的问题是我看到了这句话“学会了Emacs,其他编辑器自然精通”。

学习过程(少走弯路)

看了上面的那个图,很多人可能会觉得这个东西太难学了。有时间学这个不如去干点更有意义的事。这里我想说,我从上手到发这个博文就一天时间。关键是选择了工具以后用起来,用什么学什么。这样进步很快。其次,我也不是要掌握Emacs的所有,只要能满足我的需要就行了。没准以后会用他写代码,但是现在用不到,先不学。

明确了这些,就可以开始了。

快速安装配置Emacs

安装Emacs(Windows系统)

学一个新工具,第一步肯定是安装。但是本人觉得Emacs最不友好的就是这一部分,安装很简单关键是配置。先说安装,直接到官网下载最新版本,里面就有我们要的org-mode了。本人用的是windows,不会linux等系统。上个链接,下载最新的,(看清日期)http://ftp.gnu.org/pub/gnu/emacs/
下载下来不用安装,解压到你想要装的目录就好了。启动文件在bin文件夹里,我一般用runemacs,并在桌面建了一个快捷方式。好了,安装完毕了。就这么简单。

配置Emacs

安装完以后,打开发现根本不会用。好了,这就到配置这一步了。这一部分比较麻烦,尤其对于我这种之前基本没怎么写过代码的人来说,更麻烦。所以果断采用别人的配置。虽然有人说不要一上来就用大神的配置,但是我想说,我得先用起来。参考了几个大神的的相关文章,最后我选择了这个。http://blog.csdn.net/redguardtoo/article/details/7222501/
里面说的很清楚,这里不再赘述。作者开始也使用了大神的配置,最后用自己的配置,我用的就是他的配置,具体配置文件和方法https://github.com/redguardtoo/emacs.d

这里说下我遇到的问题,我有两个电脑,公司电脑上外网比较麻烦。第一次配置使用的是emacs.d那一个文件。用这个配置需要联网。但这个方法怎么也不能用于公司电脑,过不去。于是对于公司电脑。我选择配置文件中readme中所述的“Install stable version in easiest way (OPTIONAL)"。打开第二个链接往下拉网页就能看到。作者可能以前用VIM比较熟悉,所以开了一个叫Evil的东西(功能就是在Emacs下可以使用VIM的键位,简单理解成这样)。本人没有VIM基础,纯白纸,所以要关掉这个功能。作者文章里说的很明白怎么关了。但是我当时遇到了一点问题,所以我在啰嗦两句。方法如下:

  1. 在你的home路径下找到一个叫init.el的文件,用文本编辑器(记事本,或者emacs,或者notepad++,好吧,我们还没用过emacs,所以选其他吧)打开。
  2. 打开以后是一大堆看不懂的代码,好了不用管,往下找,大概在97行所在的位置找到”use evil mode (vi key binding)"它的下一行是(require ‘init-evil)。找这两行,在这两行前面输入分号(一定要在英文状态下输入),如果已经有分号了就不用输入了。
  3. 保存关闭你的文本编辑器就ok了。
  4. 打开你的emacs,这个时候他要墨迹一会,简单说就是把配置的文件执行了。等一会。就可以用了。

配置完成

如何使用

配置好以后进入emacs后就是一个黑色的屏幕了。打出的字是白色的,对视力保护很好的。关键是怎么用。本人现在只用org-mode。能够使用的功能是一点点TO DO功能。文本编辑里也只会标题段落的一点点设置,表格(竟然还可以做简单的计算!!),导出html(现在足够了,最不济导出html在粘贴进想要的地方,比如evernote),插图(写这个博文现场百度的)。但是已经足够我用的了。已经开始把所想到的写出来,做了一些笔记,思路和文字同步展示,没有卡克。太棒了。

这里我就不列具体怎么使用了,用什么功能自己百度或者google去(其实我是用百度的,懒得FQ。但是很多大神都不屑于百度,我就加上了或者google,防止被鄙视)。下面说一下入门的东西,看完这些,基本上就可以做到不会去搜索了(否则,搜到都不知道什么意思)

快捷键

emacs神器的地方主要是因为使用了快捷键,也就是说,基本不用鼠标了。所以首先要掌握emacs快捷键的表示方法。比如说你搜如何保存当前文件,快捷键是“C-x C-s”。第一次看到,明显炸锅,什么意思。意思就是让你先同时按住control和x,在同时按住control和s。就保存了。C-x u,表示,先同时按下control和x,再单独按u。这个功能是强大的撤销(undo),对于新手绝对重要的功能。同样的费解表示还有以下几个:

符号 按键
C Control
S shift
RET Enter(回车)
M Alt(windows里)
- 表示同时按住,例如上面说的C-x
TAB 就是tab建,qwerty键盘Q左边的那个

所以打开文档C-x C-f表示同时按住control和x,再同时按住control和f,在最下面会出现一个find file,然后直接在里面输入你要打开的文件的地址就行了。比如d:\learnorg.org。如果没有这个名字默认为新建一个文件。这里补充一点,只要你打开或者新建的文件扩展名是*.org。目前的版本就会自动打开org-mode了。爽~!

常用的命令

  1. 换行:一个回车表示空格,2个回车才是换行,这里跟word不太一样。
  2. 星号(大键盘区8上面那个表示分级),最爽的功能。一个*表示一级标题,两个是二级,以此类推。我们用的这个配置默认生成的论文式的标题结构,就是1.一级标题,1.1是二级标题,1.2.1是三级标题。
  3. 表格:用竖线|,常规减排在回车上面那个键,需要配合shift。比如我在本文中的表,我在org-mode中录入是这个样的:

生成的就是上面的表格。

  1. 最常用的几个快捷键:做成下面的表了。
操作 功能
C-x C-f 打开或者新建
C-x C-s 保存当前文档,类似word中c-s
C-x C-c 关闭emacs
C-c C-t 打开TODO模式
C-c C-e h h/o 导出html文件。我一般最后一个用o,可以直接打开生成的html
C-x u 神器撤销,就是word里的c-z
C-w 剪切
C-y 粘贴
M-w 复制,貌似windows下用不了,好像和QQ什么东西冲突了,所以用剪切代替了
M-y 切换粘贴。emacs下你每次复制的东西都在,用这个可以粘贴之前复制的东西
C-@ mark当前位置。比如选中一段话,我们一般用鼠标选中,用这个,在你要选的文字前mark一下,光标移到结尾。这段话被选中了。
C-x b 切换buffer,类似windows下的M-TAB
C-x C-b list当前所有的buffer
TAB 展开或者收齐当前标题

这部分内容,我写成标签贴在了屏幕旁边,没写功能,只写了快捷键,用了半天基本就熟悉了。

另外大量的功能,我没有在这列出来,遇到现场搜,绝对可以实现一天上手。本文就是用org-mode写出来的。欢迎交流。

用1天快速上手org-mode(windows系统)的更多相关文章

  1. Git版本控制Windows版快速上手

    说到版本控制,之前用过VSS,SVN,Git接触不久,感觉用着还行.写篇博文给大家分享一下使用Git的小经验,让大家对Git快速上手. 说白了Git就是一个控制版本的工具,其实没想象中的那么复杂,咱在 ...

  2. 【Python五篇慢慢弹】快速上手学python

    快速上手学python 作者:白宁超 2016年10月4日19:59:39 摘要:python语言俨然不算新技术,七八年前甚至更早已有很多人研习,只是没有现在流行罢了.之所以当下如此盛行,我想肯定是多 ...

  3. [译]:Xamarin.Android开发入门——Hello,Android快速上手

    返回索引目录 原文链接:Hello, Android_Quickstart. 译文链接:Xamarin.Android开发入门--Hello,Android快速上手 本部分介绍利用Xamarin开发A ...

  4. Netron开发快速上手(一):GraphControl,Shape,Connector和Connection

    版权所有,引用请注明出处:<<http://www.cnblogs.com/dragon/p/5203663.html >> 本文所用示例下载FlowChart.zip 一个用 ...

  5. MongoDB快速上手

    1.  MongoDB简介 MongoDB是一个跨平台的基于Key_Value键值对形式保存数据的NoSQL文档类型数据库. NoSQL(not only sql)数据库,泛指非关系型数据库. 1.1 ...

  6. 【图文详解】scrapy安装与真的快速上手——爬取豆瓣9分榜单

    写在开头 现在scrapy的安装教程都明显过时了,随便一搜都是要你安装一大堆的依赖,什么装python(如果别人连python都没装,为什么要学scrapy….)wisted, zope interf ...

  7. knockoutJS 快速上手

    翻译:Knockout 快速上手 - 3: knockoutJS 快速上手 许多时候,学会一种技术的有效方式就是使用它解决实际中的问题.在这一节,我们将学习使用 Knockout 来创建一个常见的应用 ...

  8. 用Docker在一台笔记本电脑上搭建一个具有10个节点7种角色的Hadoop集群(上)-快速上手Docker

    如果想在一台电脑上搭建一个多节点的Hadoop集群,传统的方式是使用多个虚拟机.但这种方式占用的资源比较多,一台笔记本能同时运行的虚拟机的数量是很有限的.这个时候我们可以使用Docker.Docker ...

  9. Airtest 快速上手教程

    一.Airtest 简介: AirtestIDE 是一个跨平台的UI自动化测试编辑器,适用于游戏和App. 自动化脚本录制.一键回放.报告查看,轻而易举实现自动化测试流程 支持基于图像识别的 Airt ...

随机推荐

  1. DoDataExchange的作用

    void CDlgSelectCS::DoDataExchange(CDataExchange* pDX) {     CDialog::DoDataExchange(pDX);     DDX_Te ...

  2. bzoj 1089: [SCOI2003]严格n元树【dp+高精】

    设f[i]为深度为i的n元树数目,s为f的前缀和 s[i]=s[i-1]^n+1,就是增加一个根,然后在下面挂n个子树,每个子树都有s[i-1]种 写个高精就行了,好久没写WA了好几次-- #incl ...

  3. Android属性动画ObjectAnimator的使用1

    版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/106 属性动画ObjectAnimator的使用 属性动画 ...

  4. cenos mkdir 无法创建文件夹,即便文件权限为777

    SELinux 拒绝了httpd的方式去读写此目录 chcon -R -t httpd_sys_content_rw_t /var/www/html

  5. phpstudy 集成的mysql 无法启动

    问题产生: 安装好phpstudy后,Apache可以启动,Mysql无法启动.  解决方法: 之前已经装过Mysql,要把系统服务里面的MySQL删除,留下MySQLa服务. 在cmd命令行下输入: ...

  6. 《windows核心编程系列》五谈谈线程基础

    线程基础 与前面介绍的进程一样,线程也有两部分组成.一个是线程内核对象.它是一个数据结构,操作系统用它来管理线程以及用它来存储线程的一些统计信息.另一个是线程栈,用于维护线程执行时所需的所有函数参数和 ...

  7. Java中的流(5)大数据流的分段读取

    来自文件 或 网络的InputStream数据量可能很大,如果用流的大小申请byte[],可能内存不足报错. 解决方案:分段读取 InputStream的方法int available()返回本次可读 ...

  8. F 点与多边形 数学 + 观察

    https://biancheng.love/contest-ng/index.html#/123/problems 做题要在纸上弄弄,才会有发现. 发现到答案只是-1和4,因为坐标都是整数. 然后就 ...

  9. Oracle 的备份和恢复

    Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP).热备份和冷备 份.导出备件是一种逻辑备份,冷备份和热备份是物理备份. 一. 导出/导入(Export/Import) 利 ...

  10. AJPFX关于TreeSet集合的介绍

    需求:键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低输出到控制台.分析:1.创建键盘录入对象:          2.创建TreeSet集合,使用匿名内部类实现Compa ...