Size: 6843
Comment:
|
Size: 8551
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 101: | Line 101: |
=== @root vs. @file 树 === @file 树比 @root 树使用起来方便很多: 1. @file 树需要的指示符支持比 @root 树要少; 所有 @root 树中的章节都需要声明(而且不能重名,在同一文件中!), 而 @file 树常常包含很多非命名的章节节点. 在 @file 树中, @others 指示符 行为就象关联起所有非常命名的章节. 1. 工作在 @root 树中,用户必须明确调用 Tangle 和 Untangle 命令. 而 Leo 会自动混入/出 @file 树 , 保存时混出所有变动到 outline, 重新打开 .loe 文件时自动混入所有修改从 outline. 但是, @root 树比 @file 树要 柔韧很多: 1. 在 @file 树中, 章节必须是包含在子节点中的,而且引用点也是固定的. 1. 在 @root 树中一个被声明的章节, 并不限制其可以在哪里被引用. 此外,@unit 指示符命令甚至于扩展了章节的引用, 可以不限制在一个 @root 树中! 即,你可以在一个 @root 中命名一个章节, 而在另一个 @root 树中引用(可以看作 节点的 clone 操作,只是在引用处看不到全部内容,除非混出为文件) 1. 在 @root 中的章节声明,也不限制声明的地点. @root 树与 @file 树不同之处在于: 1. 只有 @root 树可以包含章节定义行(不过 @file 中可以使用 "<< class declarations >>"类声明的专用章节) 1. 只有 @file 树可以包含 @others 指示符. 1. @c 指示符 需要章节名出现在 @root 的节点标题树中. 1. @c 指示符仅仅可以工作在 @file 树的体文本起始处.所谓 体文本是在 @root 中没有标记会被忽略,而在 @file 树是作为无命名的代码章节内容处理的节点正文文本. |
自然,方便的开发管理环境!
-- ZoomQuiet [DateTime(2005-01-05T12:32:39Z)] TableOfContents
文学编程
LiterateProgramming -- 文学编程
- 也就是那种认为源代码只是构成程序的一小部分的想法。
程序的真正主体是对它的算法、结构、目的和用法的描述——实现它的源代码并不是主要的。
Leo
[http://webpages.charter.net/edreamleo/front.html Leo is ...]
- 这个纯Python 的编辑环境用最简单的代码实现了如此丰富的编程思想!
Leo 可以是 一个通用的数据管理环境
Leo 可以是 一个柔韧性的项目,程序或是其它数据的浏览器
Leo 可以是 一个项目管理器
Leo 可以是 一个提纲式的程序编辑器
- Leo 可以是 ....
- 下载帮助文件来学习 attachment::sbooks.chm
开发体验
- 通常的界面:
- attachment::leo0-snap.jpg
- 可以发现,Leo 仅仅使用了Tk 来实现GUI ,可以说是Python 中最轻巧,通用的GUI组织方式!
File encoding: UTF-8 所有的文件是以 UTF-8 编码管理的!
- Leo 文件本身却是标准的XML文件!
- 我开发后期全都使用Leo 管理了项目文件
- 下载尝试: attachment::CVSanalyser.leo
- 我喜欢的形式:
通过菜单命令:"Window/Toggle Split Direction" 设置
- attachment::leo1-snap.jpg
- Leo 4.0 以后,由于文章化编程的发展,已经实现了很多方便的功能!
- 不过在下仅仅学会了其中几种就感觉有些离不开了!
这种有强烈快感的杀手级工具,近日来就发现了 [http://wwy.iseetimes.com/blog/?q=node/view/494&PHPSESSID=bb5a4a0f6bf2ac3a1cfaff7b173c41c8 Scrapbook! FireFox 的资料管理插件!]
- Leo 知道已经有两年了,可是一直没有使用起来....后悔!
- 仅仅用作分类记事本:
- attachment::leo-regbook.gif
@file
使用 @fiile 标签(directive) 就可以将 Leo 环境用作
知识管理,项目管理
- attachment::leo-scrap.jpg
- 以及前示的项目管理了!
@ignore
- 保存时,不改变外部文件。此项一般要去除。
@others
在使用 @file 标签后,
可以简单的使用 @others标签来包含当前结点以下的所有结点!
象XSL 中的<xsl:for-each select="//."> 哈哈哈!!!
自动导入
Leo 的 File/Import.../Import To @file 命令,支持对 C/C++/C#;Java;Python;Perl...语言的自动分析文章化组织的导入!
- 不过,自动生成的文本中可能有一些标签:
- {{{@ignore
@language python }}}
是不属于 @file 管理范围的,
- 只要简单的注释掉,就可以成为标准的,可以自动同步外部文件的文本结点对象了!
@root
是文章编辑环境的标准支持
- 可以用以 编写文档
- attachment::leo-doc.jpg
- 组织代码也一样
- attachment::leo-root.jpg
- 章,节,段落 显式的组织在几个窗口中
- 对应的代码中的 类,子类,函式等等也以同样的形式组织起来
直观,自然的将我们的注意力,限定在小范围的代码中,而整体代码的结构,由Leo 管理了! 优雅!聪明!
<<section>>
在 @root限定处理下,各子结点的引用,与包含处理是使用<<章节: invalid macro name>>标记
比如说:上一截屏中的 <<file>>
Tangle & Untangle
- 这时,针对外部文件的同步,需要人工操作
菜单命令:"File/Tangle.../Tangle" - 混出
菜单命令:"File/Untangle.../Untangle" - 混入
- 是一对相应的操作
- Tangle 是将当前的编辑混出到外部文件中
- Untangle 反之
@silent
比@file, 好象@root的内容管理麻烦些
但是有一点好处是可以声明 @silent
- 命令Leo 在同步文件时,不向外部文件输出 Leo 的注释文本,生成干净的代码文件
- 如果是团队开发,最好用@thin,另外还有比@silent更方便的命令。和@thin的文档在一起。by tomz
@thin
什么东西?研究之!
[http://webpages.charter.net/edreamleo/atThin.html Using @thin and @all]
- 快速翻译来学习使用!
@root vs. @file 树
@file 树比 @root 树使用起来方便很多:
- @file 树需要的指示符支持比 @root 树要少; 所有 @root 树中的章节都需要声明(而且不能重名,在同一文件中!), 而 @file 树常常包含很多非命名的章节节点. 在 @file 树中, @others 指示符 行为就象关联起所有非常命名的章节.
- 工作在 @root 树中,用户必须明确调用 Tangle 和 Untangle 命令. 而 Leo 会自动混入/出 @file 树 , 保存时混出所有变动到 outline, 重新打开 .loe 文件时自动混入所有修改从 outline.
但是, @root 树比 @file 树要 柔韧很多:
- 在 @file 树中, 章节必须是包含在子节点中的,而且引用点也是固定的.
- 在 @root 树中一个被声明的章节, 并不限制其可以在哪里被引用. 此外,@unit 指示符命令甚至于扩展了章节的引用, 可以不限制在一个 @root 树中! 即,你可以在一个 @root 中命名一个章节, 而在另一个 @root 树中引用(可以看作 节点的 clone 操作,只是在引用处看不到全部内容,除非混出为文件)
- 在 @root 中的章节声明,也不限制声明的地点.
@root 树与 @file 树不同之处在于:
只有 @root 树可以包含章节定义行(不过 @file 中可以使用 "<< class declarations >>"类声明的专用章节)
- 只有 @file 树可以包含 @others 指示符.
- @c 指示符 需要章节名出现在 @root 的节点标题树中.
- @c 指示符仅仅可以工作在 @file 树的体文本起始处.所谓 体文本是在 @root 中没有标记会被忽略,而在 @file 树是作为无命名的代码章节内容处理的节点正文文本.
反馈
Leo 安装
- leo是运行在py2.4还是py2.3.4?我机器2个版本py都有,可是在安装leo的时候提示我没有安装py,不晓得怎么回事 --Dreamingk
哈哈哈!!是个奇怪的问题!Leo 在 4.0 以后版本的安装程序好象有问题,不论Python 环境是少,都说是找不到,也可能是M$升级了什么东西后注册表结构变了,才这样的,我是都下载跨平台版本,解压就可以使用的,自个儿创建一个快捷方式!绝对的“绿色!”--ZoomQuiet
- 下了他的src版,就可以用了。exe版就不行。 --Dreamingk
- 它的exe版可能是dephi编的,比较过时,可能早不能用了。by tomz
- 它现在已经没有exe版了,sf上的exe是安装包,安装后还是py文件。很好用,装了就能用。 --by flyaflya
缺陷
- 以@file方式导入文件,缩进可能出现问题,它把一些地方的Tab换成4个空格,有些地方没换,可能出现问题,在使用其它编辑器(我用editplus)时,可以选中“Tab用空格代替”。-- by flyaflya
- 在Unix/Linux系统里,tck/tk的中文输入始终是个问题。所以,连带Leo在我的Debian里也没法输入中文,实在是可惜。-- xyb