一、功能

脑袋中冒出一个想法时,命令行(Terminal)中输入一条命令快速保存到Evernote.

注:这里适用于保存简短的内容

不喜欢听絮叨的,直接文末找Github地址吧。

二、想法来源

一直使用印象笔记来整理、记录、收集知识想法,但随着笔记数目的增加,打开Evernote->找到笔记本->找到对应类型的笔记需要花费很多时间。而且,直接在印象笔记中书写对于我来说排版是个很大的问题。

平时的读书笔记已经转战到马克飞象,虽然可以在马克飞象中使用markdown语法列表来记录简单的一句话想法,不可避免的是仍要打开->创建等等步骤。mac下cmd+option+n 可以快速打开窗口创建笔记,但不能快读更新同一条笔记。

因为平时开发使用PHP,又离不开Terminal,所以想把一切事情都拿到终端中来完成。

三、实践

既然存在马克飞象这种第三方软件,那么Evernote肯定是提供了API的,查之,果不其然,不仅有,而且提供了非常丰富的SDK,平时写PHP,所以决定使用PHP的SDK。

其实在做这个东西之前,先搜索了一下,还真在知乎上看到了一个人类似的一篇文章,他的目的是做剪辑,通过快捷键将剪贴板中的内容保存到当天的印象笔记中。我的需求类似,只不过我是手动输入内容,他的是读取/temp中保存的剪切内容。

不同于那位同学,我的记录大概是:“看书过程中发现推荐的参考书目”,"写代码时想到的一个需要学习的新知识点",“还有奇奇怪怪的'三省吾身'的想法”,这些想法每天并不会多到需要单独的一条笔记,那整理起来就太多了,反而又降低了效率。

所以,最终决定以周为单位创建笔记,标题类似”“Bignerd record 日期-第x周”,每条记录后面会自动追加记录创建的时间。这样每个周末对这些想法进行分类整理。只需一条命令这些就自动完成了。

经过改善,执行的速度还可以了(因为是将笔记保存到印象笔记服务器),暂时只是保存的plain text, API也提供HTML格式的保存方式,目前暂不需要。

保存效果:

四、遗留问题

对于非开发人员,使用就有些鸡肋了,需要安装PHP环境,还要搞terminal配置alias,还要申请印象笔记Developer token,蛋疼。所以,如果真的有大家需要的话,后面有时间改进一下这里。

第二个问题就是需要使用Developer Token,而非账号密码,因为账号密码的方式需要一个授权的过程,简单起见,先就直接使用token的方式了。

同样,如果有同学需要,再做改进,目前够用。

五、结尾

最近刚刚读完了李笑来老师的《把时间当作朋友》,做这个小工具小小的提高一下效率,也算是实践了,而且,当你自己为解决自己的问题而做出工具后,你会特别的想去使用他,这样也提高了自己注意观察、主动思考的能力。

代码放到了Github,大家可以直接点击前往clone使用,README已经做了简单的配置说明。

【PHP实现】高效使用印象笔记之命令行快速保存的更多相关文章

  1. mysql 命令行快速将数据库转移到另一个服务器中(数据库备份还原)

    想将A服务器中的数据库快速转移到B服务器中,一般是先从A服务器中备份下来,下载备份数据,还原到B服务器中.使用phpMyAdmin备份和还原针对数据量很小的情况下很方便,数据量大的话很容易中断失败. ...

  2. Mac 在命令行快速切换目录 mark

    转自: http://www.ccvita.com/520.html ,略修改. 每天在命令行下,一大部分的工作都是一遍又一遍的输入 cd ~/some/very/deep/often-used/di ...

  3. shell命令行快速编辑命令

    ctrl r:命令行出现 reverse-i-search,输入字符将在输入历史中匹配命令 ctrl p:向前翻看历史 ctrl n:向后翻看历史 ctrl a:命令行首 ctrl e:命令行尾 ct ...

  4. 使用Maven命令行快速创建项目骨架(archetype)

      > mvn archetype:generate 接下来就会输出一些列带索引变化的archetype项可供我们选择,然后提示我们选择一个编号,可以直接回车选择默认的编号(392),然后就跟着 ...

  5. linux命令行—《命令行快速入门》

    pwd print working directory 打印工作目录 hostname my computer's network name 电脑在网络中的名称 mkdir make director ...

  6. windows命令行快速启动软件

    windows桌面上太多的应用程序快捷方式很影响美观,于是寻思使用类似Linux系统中命令行的方式来启动软件. 只需要3步: 1.建立一个目录A,用来存放快捷方式.比如,建立D:\path.并复制快捷 ...

  7. centos 宝塔 使用命令行快速导入数据库sql

    先将sql文件上传到服务器,例如上传到www文件夹 然后打开命令行工具 输入 mysql -u 数据库用户名 -p 然后复制密码进去 然后输入 use 数据库名 回车 然后输入 source /www ...

  8. linux命令行快速统计文件(压缩文件)的行数

    统计(文件|压缩文件)的行数 zcat file.gz | sed -n '$='                                         #迅速.直接打印出多少行.-n 取消 ...

  9. psql命令行快速参考

    psql的命令语法是: psql [options] [dbname [username]] psql命令行选项以及它们的意思在表1-1中列出.使用以下命令可以看到psql完整的选项列表: $ psq ...

随机推荐

  1. WebForm 全局对象、commend

    Repeater的增删改 内置对象:页面之间的数据交互为什么要用这些玩意? HTTP的无状态性 Response:响应请求 Request:获取请求 Cookies:保存登录状态----------- ...

  2. BOM之history对象

    前面的话 history对象保存着用户上网的历史记录,从窗口被打开的那一刻算起.由于安全方面的考虑,开发人员无法得到用户浏览器的URL,但借由用户访问过的页面列表,可以在不知道实际URL的情况下实现后 ...

  3. this的相关介绍与用法

    当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是this.因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,并 ...

  4. PL/SQL基本概念

    首先明确PL/SQL主要作用作用: SQL语言适合管理关系型数据库但是它无法满足更复杂的数据处理,所以产生PLSQL.PLSQL用户创建存储过程.函数.触发器.包及用户自定义的函数. 特点: PLSQ ...

  5. JAVA的SSH框架登录注册

    Struts 的MVC设计模式可以使我们的逻辑变得很清晰,主要负责表示层的显示. Spring 的IOC和AOP可以使我们的项目在最大限度上解藕. hibernate的就是实体对象的持久化了, 数据库 ...

  6. [Mysql] "Too many connections"

    刚刚在项目中遇到mysql数据库连接不够的问题,查了一点资料,记录下.异常信息主要为:Data source rejected establishment of connection, message ...

  7. liunx下search文件内容的几种方式

    第一种.使用vim来search内容 /regex_word,从上到下匹配 ?regex_word,从下到上匹配 n是获取下一个匹配字符串,N是获取上一个匹配字符串. 第二种.使用grep命令 gre ...

  8. 【UWP】列表项宽度自适应的实现

    目的 在UWP开发中,我们常常用到两个显示列表的控件:ListView和GridView.而这两个列表控件在PC等大屏幕上如果能多列"智能"调整自己的大小(通常是根据当前窗口大小调 ...

  9. c++中,int *a=new int(120)语句的意思

    int *a=new int(120); 申请一个整型变量空间,赋初值为120,并定义一个整型指针a指向该地址空间 int *a=new int[120]; 申请120个整型变量空间,没有赋初值,并定 ...

  10. keepalived配置文件

    1. 查看进程 ps aux | grep keepalived ,其输出为: [root@lvs-m ~]# ps aux| grep keepalived |grep -v greproot 21 ...