Differences between revisions 1 and 10 (spanning 9 versions)
Revision 1 as of 2004-12-14 04:00:18
Size: 177
Editor: ZoomQuiet
Comment:
Revision 10 as of 2004-12-28 15:44:29
Size: 6104
Editor: ZoomQuiet
Comment: 如何使用@file?!?!?
Deletions are marked like this. Additions are marked like this.
Line 12: Line 12:
 * http://www-900.ibm.com/developerWorks/cn/linux/l-cpyide/leo.jpg
 * [http://www-900.ibm.com/developerWorks/cn/linux/l-cpyide/index.shtml 可爱的 Python:点评 Python IDE]

== 缘起 ==
 * Emacs -- 编程环境的介绍中引发

   * 咦咦咦?!??!Leo!! 唉呀呀!! tomz 是怎么使用的?开始文章化编程了? 我仅仅用它来进行信息管理,可以自个儿加菜单什么的进去? -- Zoomq
     * 可以叫文学化编程吧,我理解文学化编程是一种更好的fold,并能部分代替uml。我现在用leo管理我的代码。感觉非常棒。再也不为代码多而烦恼了。它有多文件管理功能,自动同步文件,能够同步链接两个代码部分。都很有用。leo可以叫做项目管理工具吧。在debian的安装中也包括文学编程,看来文学编程是一个主流编程工具,并不是冷僻的工具。by tomz
      * LiterateProgramming -- 文章化编程! 早就想系统的学习了,只是总感觉无从下手!
       * 最简单的概念,就是把它当作一个可以在任何地方fold的程序代码编辑器,更方便编程思路的梳理,比一般编辑器的只能在固定语言元素的地方fold有更大的灵活性,并且leo是一个信息集成的概念,可以把文档,代码,路线图,bug收集等放到一个leo文件中,并且能够方便的生成多个文件,而且能够将文件中变化的内容反馈回leo文件。因此,leo可以作为一个通用的多文件的项目的管理器。by tomz


== 经验 ==
'''请同志们介绍一下子哪!'''
 * 如何 ''可以把文档,代码,路线图,bug收集等放到一个leo文件中''..?
 * 又是如何 ''能够方便的生成多个文件''..?
 * 我在初期使用过程中,总是难以把握拆分的原则,而且到4.2最终版本,Leo 的拖拉行为支持的也实在一般,在混入多个文件时,启动非常的慢!而且快捷键,也没有找到习惯的方式
 * Tomz 可以介绍一下子,自个儿使用的经验?? -- ZoomQuiet
 
  * 我还没感觉慢,可能我的文件还比较小。就像leo这个程序的leo文件,把程序、更新信息、readme等所有和一个项目相关的信息都放到一个leo文件里。我打开leo.leo也没感觉慢啊。拆分的原则就是以项目为原则吧。一个项目的所有信息都放到一个leo中。leo的file的派生方式,保存leo文件,自动派生相关文件。等于一个自动的make。我还没用拖拉。我的leo文件的相关派生文件有5个了。没什么速度方面的感觉。快捷键只用它的移动节点和缩进、生成节点,没用过别的。leo的编辑快捷不专业。但leo有这个功能:用自己 常用的文本编辑工具编辑leo派生的文件后,打开leo文件时,leo文件自动更新,可以把变化的地方反映到leo文件中,这样就能继续使用自己常用的编辑器。它也能对一个节点的编辑来调用定制的编辑器,但这个功能我没用过。一般的工作流程就是在leo中改代码,保存,保存的同时自动同步改变派生代码文件,然后用python shell和pdb来调试。如果要迅速到达出错的行,可以启动vim。by tomz
   * '''文件派生''' --- tangle 混入?? 嗯嗯,其实是对 Leo 整体的使用思路有点担心,一个项目的各种文件,如何可以安全的同步? 指定适当的结点集合来进行运行?等等………………没有中文版本的界面嘛?呜乎矣哉…………
    * 对,派生就是tangle。leo这么大的程序就是这样开发的,我们自己编的程序一般都没这么大。当然,项目不是指多人的项目,如果是多人的项目,顶多用于自己的部分。或一个模块。自动同步不用担心吧?应该没什么问题。自己多备份就行了,不是没有备份的习惯吧?一个leo文件才容易备份。为什么指定特定的节点集合运行?一个文件就是一个节点。没有中文界面不是问题吧。现在我用软件一般有中文界面我也不喜欢用,我喜欢用大家都在用的界面。用缺省的语言界面。by tomz
    * 另外,如果只用leo的outline功能,emacs 的outline和folding的结合是更优雅的解决方案。当然,leo的好处是较少的学习和配置。如果将来我emacs用熟了,也可能放弃leo,转而用emacs noweb的方案。by tomz
   * ''如果要迅速到达出错的行''也就是说,Python Shell 的报错,与Leo 中组织的方式,行数是对不上的?那未,又如何启动Vim ?从Leo 中可以?-- ZoomQuiet
    * 嗯,启动vim就是因为leo的行对不上。在leo的外部启动。by tomz
   * ps. tomz 好歹也注册一下子 MoinMoin ,不然的话每次编辑,在版本信息中都只有IP 地址记录下来看不到具体的人是也乎…………

=== 如何使用@file ===
 * 哎呀呀!按照教程 import to @files
 * 成功的分析了Python 脚本,但是不能象教程那样编辑后检出为外部文件哪!怎么回事儿?
   * {{{Tangling...
----- The outline contains no roots
Tangle complete

}}}
   * 或者说有什么其它的设置?? --- ZoomQuiet

-----

 * Leo 有两种方式获得外部文件:
    1. @root 方式,通过声明,主动输出下层结点为外部文件
    2. @file 从外部解析获得文件后进行交互式外部文件操作:
        两者唯一的不同是,使用 @file 的话
        Leo 将自动输出 OUTLINE信息到外部文件,
        你将不能使用 @silent 命令来阻止!
        不过你可以不用通过 "Tangling"及"unTangling"命令来同步Leo和外部文件
        "Tangling"及"unTangling"将在保存和打开.leo 文件时自动调用
 * 可是,我怎么也不能令 import to @file 的脚本结点,可以自动的保存为外部文件!!!
 * -- ZoomQuiet

Literate Programming -- 文章化编程

-- ZoomQuiet [DateTime(2004-12-14T04:00:18Z)] TableOfContents

新的编程方式

!!!

缘起

  • Emacs -- 编程环境的介绍中引发
    • 咦咦咦?!??!Leo!! 唉呀呀!! tomz 是怎么使用的?开始文章化编程了? 我仅仅用它来进行信息管理,可以自个儿加菜单什么的进去? -- Zoomq
      • 可以叫文学化编程吧,我理解文学化编程是一种更好的fold,并能部分代替uml。我现在用leo管理我的代码。感觉非常棒。再也不为代码多而烦恼了。它有多文件管理功能,自动同步文件,能够同步链接两个代码部分。都很有用。leo可以叫做项目管理工具吧。在debian的安装中也包括文学编程,看来文学编程是一个主流编程工具,并不是冷僻的工具。by tomz
        • LiterateProgramming -- 文章化编程! 早就想系统的学习了,只是总感觉无从下手!

          • 最简单的概念,就是把它当作一个可以在任何地方fold的程序代码编辑器,更方便编程思路的梳理,比一般编辑器的只能在固定语言元素的地方fold有更大的灵活性,并且leo是一个信息集成的概念,可以把文档,代码,路线图,bug收集等放到一个leo文件中,并且能够方便的生成多个文件,而且能够将文件中变化的内容反馈回leo文件。因此,leo可以作为一个通用的多文件的项目的管理器。by tomz

经验

请同志们介绍一下子哪!

  • 如何 可以把文档,代码,路线图,bug收集等放到一个leo文件中..?

  • 又是如何 能够方便的生成多个文件..?

  • 我在初期使用过程中,总是难以把握拆分的原则,而且到4.2最终版本,Leo 的拖拉行为支持的也实在一般,在混入多个文件时,启动非常的慢!而且快捷键,也没有找到习惯的方式
  • Tomz 可以介绍一下子,自个儿使用的经验?? -- ZoomQuiet

    • 我还没感觉慢,可能我的文件还比较小。就像leo这个程序的leo文件,把程序、更新信息、readme等所有和一个项目相关的信息都放到一个leo文件里。我打开leo.leo也没感觉慢啊。拆分的原则就是以项目为原则吧。一个项目的所有信息都放到一个leo中。leo的file的派生方式,保存leo文件,自动派生相关文件。等于一个自动的make。我还没用拖拉。我的leo文件的相关派生文件有5个了。没什么速度方面的感觉。快捷键只用它的移动节点和缩进、生成节点,没用过别的。leo的编辑快捷不专业。但leo有这个功能:用自己 常用的文本编辑工具编辑leo派生的文件后,打开leo文件时,leo文件自动更新,可以把变化的地方反映到leo文件中,这样就能继续使用自己常用的编辑器。它也能对一个节点的编辑来调用定制的编辑器,但这个功能我没用过。一般的工作流程就是在leo中改代码,保存,保存的同时自动同步改变派生代码文件,然后用python shell和pdb来调试。如果要迅速到达出错的行,可以启动vim。by tomz
      • 文件派生 --- tangle 混入?? 嗯嗯,其实是对 Leo 整体的使用思路有点担心,一个项目的各种文件,如何可以安全的同步? 指定适当的结点集合来进行运行?等等………………没有中文版本的界面嘛?呜乎矣哉…………

        • 对,派生就是tangle。leo这么大的程序就是这样开发的,我们自己编的程序一般都没这么大。当然,项目不是指多人的项目,如果是多人的项目,顶多用于自己的部分。或一个模块。自动同步不用担心吧?应该没什么问题。自己多备份就行了,不是没有备份的习惯吧?一个leo文件才容易备份。为什么指定特定的节点集合运行?一个文件就是一个节点。没有中文界面不是问题吧。现在我用软件一般有中文界面我也不喜欢用,我喜欢用大家都在用的界面。用缺省的语言界面。by tomz
        • 另外,如果只用leo的outline功能,emacs 的outline和folding的结合是更优雅的解决方案。当然,leo的好处是较少的学习和配置。如果将来我emacs用熟了,也可能放弃leo,转而用emacs noweb的方案。by tomz
      • 如果要迅速到达出错的行也就是说,Python Shell 的报错,与Leo 中组织的方式,行数是对不上的?那未,又如何启动Vim ?从Leo 中可以?-- ZoomQuiet

        • 嗯,启动vim就是因为leo的行对不上。在leo的外部启动。by tomz
      • ps. tomz 好歹也注册一下子 MoinMoin ,不然的话每次编辑,在版本信息中都只有IP 地址记录下来看不到具体的人是也乎…………

如何使用@file

  • 哎呀呀!按照教程 import to @files
  • 成功的分析了Python 脚本,但是不能象教程那样编辑后检出为外部文件哪!怎么回事儿?
    • {{{Tangling...


The outline contains no roots Tangle complete

}}}

  • 或者说有什么其它的设置?? --- ZoomQuiet


  • Leo 有两种方式获得外部文件:
    1. @root 方式,通过声明,主动输出下层结点为外部文件
    2. @file 从外部解析获得文件后进行交互式外部文件操作:
      • 两者唯一的不同是,使用 @file 的话 Leo 将自动输出 OUTLINE信息到外部文件, 你将不能使用 @silent 命令来阻止! 不过你可以不用通过 "Tangling"及"unTangling"命令来同步Leo和外部文件 "Tangling"及"unTangling"将在保存和打开.leo 文件时自动调用
  • 可是,我怎么也不能令 import to @file 的脚本结点,可以自动的保存为外部文件!!!
  • -- ZoomQuiet

LiterateProgramming (last edited 2010-07-15 03:45:28 by ZoomQuiet)