CSDN编辑观察团~对稿ing...
我的学习&工具
工具箱
个人效率工具箱,发源自100423 北京奇遇花园 推友聚会上的f2f 沟通
- 先简断截说当前日常在用的工具:
俺的工具箱~CSDN版
自述
|
文启
应老刘之邀分享一下个人日常效率工具,但是:吾之膏腴彼之毒药!,俺真不知道说过后,会有什么后果; 先聲明一下,所有经验皆为个人体验,未经任何有关部门认证,请读者自行判定是否靠谱哈; 对于工具的选择,对于俺,这是一持续将近14年的连续过程,很艰难的才算形成一点已知的原则,先唠叨一下,是否获得认同另说,只是强调都不是孤立存在于个人工具箱的,而是作为整体服务于俺的生活/工具领域,选择标准如下:
- 尽可能是FLOSS/跨平台/开发社区活跃
- 尽可能多样或是标准化的输出格式(有 txt/html 最好)
- 尽可能有命令行界面/接口(以便通过管道和其它事儿连接起来)
- 尽可能有完备的快捷键支持
- 安装/升级/备份都简单/可靠(绝对无法容忍一重装系统所有习惯的配置就得重新再配的杯具! )
只要吻合条以上就很善哉了;非常使用现在想来好象是追求:
MOO ~ Muscle Oriented Operating ~ 面向肌肉的操作
使用不应该依赖眼睛/鼠标等额外条件干扰,仅仅键盘操作就可以达到目标,每次从鼠标定位/菜单操作中节省的零点几秒时间,在日常大量操作积累后,就是一可观的收获了! 而且,形成肌肉记忆后,将不断的加强,不会因为环境的变化而失效,这样的工具才是终身受用的!当然,这里的必要前提就是操作在键盘上是有固定的位置/组合的,显然鼠标是不可能形成肌肉记忆的...表说鼠标手势,这东西消耗的功率是键盘的几倍,俺不想得鼠标手...
下面根据自个儿非常的生产活动主要环节,来说明选用的工具组合:
import
首先是一切的起点,输入活动,当前,基本上从外界的信息输入都是电子化的了,图书已经末落了;电子化的信息输入,又最多的来自互联网,互联网信息,最多的形式又是网页,所以,对于俺,最重要也最随手的就是网页的收集管理...
- ScrapBook
这是一个火狐的插件
历史上同类活动,最初是使用分类目录收纳,但是,问题在于无法快速定位想看的,即使后来动用了桌面搜索也不方便;后来尝试过各种个人知识库软件(Mybas,KnowledgeTree,Tubo, Onenote...), 主力浏览器迁移到火狐后,也体验过终极资料管理器Zotero;都难以达到功能/性能/管理三者均衡,最终还是坚持了crapBook;
爽直在于: 是和火狐自然配合的使用最简单轻便的网页管理工具,仅用右键点选(当然的可以通过keyconfig之类快捷键定义插件来绑定键盘操作)菜单即刻抓取指定内容到本地,并组织到指定的分类中,同时提供足够可用的搜索/再编辑/导出/导入等实用功能;使用至今,收集了4万多页面,近5G体积,打开/搜索/定位本地页面,居然也从来不慢;索引使用 rdf 非常标准的数据格式,方便进行各种二次处理;确保好文章在第一时间先抓取到本地,不依赖原文网站,可以随时翻阅! 可以自动输出网站样 html 索引页面,个人网站的资料分享(http://floss.zoomquiet.org)就是直接使用这一功能发布的;
- 需要注意的是,一定要有比较稳定和精简的知识体系分类,自个儿对任何一技术领域的资料,可以直觉性的判定出应该在哪个分类中,这才能够快速查询到;
think
然后是面对大量资料的再整理/重构/思考阶段,自然的,俺也使用
- 思维图谱
- 最早接触到思维图谱是 03年了,当时还以为只有手绘的才是思维图谱,后来知道了freemind,这才开始追寻好用的思维工具
Freemaind 是最常见的跨平台图谱工具,使用JAVA创建,缺点是慢,中文支持诡异,数据格式倒还规范~XML的,可以用XSL等工具,脱离Freemind进行二次处理/展示;但是在 Ubuntu7.04时期,Freemind中文完全杯具(主要是JAVA的配置问题),只好开始使用vym(ViewYouMind)是Ubuntu软件库中包含的图谱工具,基于Qt开发,速度快,中文支持,就是快捷键不好用。但是在8.04时期,中文支持的情况又倒转了,只好放弃,用回 FreeMind,但是已经对JAVA实现的FreeMind在复杂图谱中超肉的反应,以及不时的意外崩溃,丢失所有输入无法忍受了,开始尝试各种图谱工具,记有:
CmapTools ~ 网络化思维导图工具,强大,但是中文/速度,都是个磨难...只好放弃;
- JUDE ~ JAVA 的UML 工具,非常的专用,其它情景无法借用;
- Dia ~ 号称可代替 Visio,但是,真的丑,而且操作很不 PS,无法提高效率;
- yEd ~ 轻型的图谱工具,性能/功能/输出都很好,就是中文支持费劲...;
特别的,图谱的发布,很需要可点击,但是体验过的图谱工具,只有 CmapTools 和 yEd 的输出有能力在图片上部署URL热区! freemind非要跳转到下方的html文字链接树中才能继续点击进入真正的网址,奇怪的实现方式!(当然,Flash 格式的输出是可以的,但是,俺是Flash 反感者...)
现在逐渐集中使用Graphviz(http://www.graphviz.org)~ 这是WYTIWYG的经典作品,通过编辑.dot 图形脚本来记录思维,用Graphviz提供的各种工具(比如说命令:dot)输出图形来展示思维,达到了禅样的高度,而且可以输出图片热区定义MAP文本,自然部署到HTML中成为可点击图片。
- 比如:编辑一文本 foo.dot
digraph AnotherGraph {
A->B;A->C;
B->C->D;
} 然后在命令行使用 dot -Tpng foo.dot -o foo.png 命令就可以得到 foo.png
更加NB的是可以集成到各种工具中融入日常工作! 例如:
在Doxygen ~ 文档化开发注释提取规范和工具,就内置了 Graphviz 对代码的类关系进行图形化展示, Graphviz自个儿的代码就使用 Doxygen 进行了自动化文档管理,比如说: dot.c 文件的关系图谱 http://www.graphviz.org/pub/graphviz/development/doxygen/html/dot_8c.html
在MoinMoin ~ 强大的维基引擎,因为使用 Python 开发拥有自在的扩展能力,配合插件就可以直接在维基页面中书写 dot 文本而直接就地收获图谱! 例如:
- 在Trac ~ 轻巧的项目和配置管理系统,也是Python 实际,通过插件,使用 Graphviz 自动输出传票任务的关系图谱:
- 最令我倾心的是,dot 是脚本,是纯文本,可以自然的使用版本系统进行统一管理,追踪变化,然而,可以随时调用命令生成图片! 完美的解决了思维图谱的管理和展示两个完全不同的行为! 本身其实不需要任何编辑工具,只要可以编辑文本的软件都可以来"画思维图谱";-)
export
最后是日常最艰苦和耗时的输出阶段了;习惯的工具也最多:
- BXM
输入法,可以说是所有国人使用电脑时,最最最频率使用的软件了,俺使用表形码:来自Windows95SE内置输入法,一用倾心,最后编译成 SCIM 的码表沿用至今
爽直在于: 这是最接近汉字自然书写思路的输入法了:比如说,想输入"印刷: 就键入 eppe,为什么呢?
印 右边就象大写E,左边象大写P,所以键入 ep
刷 的尸字头象小写p,巾字部首,象竖起来的E ,所以键入 pe
- 哈哈哈,精巧在于:严格依照自然的汉字间架,以及笔顺来拆字,同时将E文字母的形状和中文部首的形态进行类比和归纳,直接对应成码表!不象其它形码类输入法,只是将键盘空间进行编码,以五笔输入时的思维转换为例:
整字->拆字(不一定按照书写顺序)->兑换成编号->对应到键盘位置->键入
- 然而 BXM 输入时的转换就非常简洁和人性:
整字->想象书写->形状对应字母->键入
所以! 使用表形码以来,还经常有查字典的经历,因为必须要知道怎么正确书写才可以正确输入! 非常好!省得俺忘记老祖宗的字儿怎么写了...当然的,承 SCIM 的情, BXM 导入Ubuntu 后,依然有完备的自定义功能,随时可以将近期常用词语记录成字典,快速调用 比如说: 去邮件列表交流使所有行者受益 就记录成 yyv
- scrot
即,SCReen shOT http://freshmeat.net/projects/scrot/
- 日常要写文档,少不了截屏以证明,但是截屏软件并不是功能越多越好,著名的 snapit 就一直没有用起来,在M$ 时代,最后习惯的截屏工具是: spx ;喜欢其:快捷键召唤,图片有撕边儿效果,功能极少,但都刚好需要;
迁移到Ubuntu 中后,就用命令行! scrot -s -d 1 -e 'mv $f ~/4snap/zoomq-$f' 将这行命令设定成桌面快捷方式,就完成了习惯的截屏操作迁移,作到点击图标,召唤工具,使用坐标线划定截屏区域,等待1秒后(可以进行菜单什么的激活)截屏,并将图片移动到指定目录,重命名成 zoomq-前缀,嗯,图片名称形如:2010-05-12-144121_463x380_scrot.png 而且,可以继续用管道,将图片输出给其它图片效果处理脚本,获得一样的撕边儿效果
一般缩写为rST官方社区在: http://docutils.sourceforge.net/rst.html
- 各种文档的撰写,算是代码之外,工作/生活的基本输出形式了; M$时代,和大家一样忍受Word ,这是永远无法用熟的界面,在 WYSIWYG ~ 所见即所得的神话中,不断的在作者/排版/美术/编辑角色间被迫跃迁;
遇到 MoinMoin(这是主流维基引擎之一)后,才知道世界上有 WYTIWYG ~ 所想即所得 的文档组织过程,一但理解,就陷入无法割舍的享受;-) 一切都是结构化文本的魔力! 即,通过简单的空格或是字符约定,标识出文章结构,撰写时,完全不考虑排版哪字体哪什么乱七八糟的事儿,专注将心中所想,用明确的内容结构表述出来,具体的展示由专门的工具自动配合CSS什么的排版系统输出成标准化格式文档;
rST 不论是文章还是作为大型文档的组织核心格式,都可以担当,其中
(http://sphinx.pocoo.org) 提供了依托 rST 的完备图书工程组织工具平台; 当前包括 Python 自身(http://docs.python.org) 各种级别的工程帮助/API/图书,都将文档工程,从 DocBook 等文档框架迁移到了 Sphinx ~ 这是支持模板的一整套图书工具,可以将一组 rST 根据配置,生成 HTML/CHM/PDF,有完备的命令行工具支持,结合版本管理系统,可以轻松的在任何服务器中架构自动化图书/大型文档编译事务; http://obp.zoomquiet.org/ 就使用sphinx 在收集,管理,各种翻译和原创图书工程
Leo
- 这是俺现在主力编辑环境(辅助编辑器是最土的 gedit)
- 当 死coder 当然要有趁手的编程环境:
- TurboC 时代,很羡慕机器配置好,安装起来 VC 的同学;
工作后,一直专注 UtralEdit 对 edit++ 没有感觉,也形成了一些习惯操作,以及快捷图标的安排,但是发觉无法保存,只要系统重装就得重新配置一切! 进而, UE 也隨着升级,不断的重型化,就开始寻求轻型替代; 进入FLOSS世界后,也严重信赖 utf-8,所以 EmEditor, 但是性能肉点儿; Eclipse 也尝试过,但是,机器实在受不了这种坦克,俺的心理也受不了~什么都没有干哪,就先食掉500M; Gedit,Kate,Kedit,KWrite,Jed,SciTE,Vim,GVim,Emacs,XEmacs,Bluefish,Eric...逐一尝试过,都无法沉浸其中;
- TurboC 时代,很羡慕机器配置好,安装起来 VC 的同学;
- 最终遇到,并理解了Leo 后,就无法放手了;-) 为什么呢? 很难描述,也很难定位的编程/辑/器/环境:
- 理论根源在 Literate programming
(http://en.wikipedia.org/wiki/Literate_programming) 文学化编程, Donald Knuth 针对结构化编程,在撰写 TAOCP 时,发明并创造的论理(丫没文化的人才使用结构化编程呢!)
- 俺的体验是:将编程/写作视作同种行为, 认为文本的层次和结构要比语法结构重要!
- 对俺来讲是真正解放文字组织想象力的生产率工具!-) (...可这感觉无法细说,用了才知道!)
最最最核心的致命吸引力:可以直接将思维层次和文本对应起来!
- 列举一下快捷键:
- alt+↑ 移动编辑区到上一节点
- alt+↓ 移动编辑区到下一节点
- alt+← 折叠兄弟节点,移动到父节点
- alt+→ 展开下级节点
- enter 进入编辑视图
- ctrl+shift+C 复制当前节点以及所有下层子节点
- ctrl+shift+V 粘贴到当前节点
- ctrl+. 删除当前节点(可自行定制)
- ctrl+` 克隆当前节点(所有克隆节点视作同一对象,任一变更,所有同步更新!)
- ctrl+u 移动当前节点向上移动
- ctrl+d 移动当前节点向下移动
- ctrl+l 移动当前节点为上层节点
- ctrl+r 移动当前节点为子级节点
配合文本中类似 @others @path <<子段落 节点>> 等指示符,可以将文章或是程序,用自个儿的层次理解表述/管理起来,但是输出时,却又是标准的线性文本;
连带的 S5: A Simple Standards-Based Slide Show System http://meyerweb.com/eric/tools/s5/
- 也好用起来,可以复用前次的幻灯通用页面,元素; 将各页幻灯,可以自由根据任意内容分类,进行分组,快速调整次序,统一调整样式...
- 理论根源在 Literate programming
文合
万事古难全,留白天地宽 大家可能发现了,俺是自由软件狂信者,从06年开始使用Ubuntu 后,彻底远离了晕倒死; 所以,所有工具全部是优先面向NGU/Linux 的; 但是以上工具除了 scrot 可都是跨平台的哈,另外,日常使用的无法划分到哪个阶段的工具还有: 手边儿的脚本工具, 并提供保健操指引 自个儿的工具箱依然在补全中,但是有种工具永远无法替代:
/StuffVersion ~ 原始畅谈版
创建 by -- ZoomQuiet [2008-12-19 15:53:21]
人生苦短,我用Python! 整个入迷的过程,部分记录到了 可爱的Python一书中,这儿不细表;当前严重依赖 iPython ,随时印证想法,简单测试,当计算器用... 除了不能帮俺给自行车打气,基本什么都可以作了;-) 最爽直在于,这是唯一将排版缩进作为语法结构的通用脚本语言,好处在可以令一切 .py 脚本,看起来都是规范清晰的,不会因各种流程的排版方式,令人面对不熟悉的排版造成代码理解人为障碍;
这个软体是协助预防与復原重复性压力伤害 (Repetitive Strain Injury RSI)
操作时间/行为统计
纸+笔 ~ 不论什么电脑工具,都不如这组合高效!但是,这一组合的使用又实在太考验使用者,俺现在的初步使用方式是: 俺的工具箱~素材版
书摘


Leo 
(