十一月 9, 2011

limodou的學習記錄
limodou
is about »
» UliPad 4.1ÒѾ­·¢²¼

ҲûʲôÌرðµÄ¸üУ¬²»¹ý°ÑÒÔÇ°»ýÀ۵Ķ«Î÷Éú³ÉÁËÒ»¸ö°æ±¾¡£

  1. Upgrade winpdb version to 1.4.8
  2. Improve Edit->Format->Wrap Text functionality to suit for reStructuredText wrap
  3. Made memo file configurable thanks to Helio Perroni Filho
  4. Add Bash support thanks to Helio Perroni Filho
  5. Add some useful methods to support scripts files. Such as emptytab, newtab, etc. thanks to Helio Perroni Filho
  6. Add Lua support thanks to zhangchunlin
  7. Improve python file detect according to #! /usr/bin/env python thanks to zhangchunlin
  8. Add default color theme support, you can set it in Preference
  9. Add Create Python Package menu in context menu of Directory Browser Window
  10. Improve web2py plugin
  11. Improve regex window, and when you set Unicode flag, it'll automatically convert \uXXXX to unichr
  12. Fix strip tailing spaces bug
ÏÂÔصØÖ·: http://ulipad.googlecode.com/files/ulipad.4.1.zip

 


Àà±ð£ºUlipad ²é¿´ÆÀÂÛ

十月 22, 2011

limodou的學習記錄
limodou
is about »
» ÏòUlipadµÄÎı¾»ØÈƹ¦ÄÜÌí¼ÓÐÐβ×Ö·û´¦Àí¹¦ÄÜ

ÔÚдrstÎĵµÊ±Óöµ½Ò»¸öÎÊÌ⣺ÒòΪÐí¶àʱºò£¬Ò»¸ö¶ÎÂäµÄÎı¾±È½Ï³¤£¬Òò´ËÎÒÒ»°ãÊÇ“QÐÐÀ´Ð´¡£µ«ÊÇÓÐÒ»¸öÎÊÌâ¾ÍÊÇ£¬Í¨¹ýreStructuredText´¦Àíºó£¬»Ø³µ±ä³ÉÁË¿Õ¸ñ£¬¶øÈç¹ûÔÚºóÃæÌí¼Ó'\'¾ÍûÓÐÎÊÌâ¡£µ«ÊÇÊÖ¹¤Ìí¼ÓÌ«Âé·³ÁË£¬ÓÚÊÇÎÒÔÚulipadÔ­À´µÄÎı¾»ØÈƹ¦ÄÜÉÏ×öÁËÓÅ»¯¡£Ô­À´µÄÎı¾»ØÈƲ»ÄÜ´¦ÀíÐÐβ·û£¬ÏÖÔÚÎÒÌí¼ÓÁËÁ½Ï¼ûÏÂͼ£º


Remove Tailing CharactersµÄ×÷ÓÃÊÇɾ³ýÐÐβµÄÌØÊâ×Ö·û£¬±ÈÈçÊÇ'\'

Add Tailing CharactersµÄ×÷ÓÃÊÇÎı¾»ØÈÆʱ£¬Ã¿ÐÐ×îºóÌí¼ÓµÄ×Ö·û£¬±ÈÈçÊÇ'\'

Õâ¸ö¹¦ÄÜʹÓÃʱ£¬Ê×ÏÈҪѡÖÐÎı¾£¬È»ºó¿ÉÒÔͨ¹ý°´¿ì½Ý¼üCtrl+Shift+T»òͨ¹ý[Edit]²Ëµ¥»òÊó±êÓÒ¼ü²Ëµ¥[Format]->[Wrap Text...]À´¼¤»î¡£

width±íʾ×ܵÄÁпí

Indent±íʾÿÐеÄËõ½ü×Ö·û£¬Ê×ÏȳýÍâ

First Line Indent ΪÊ×ÏÈËõ½üµÄ×Ö·û

Skip Begging Characters ΪºöÂÔÿÐпªÊ¼µÄ×Ö·û£¬Èç#»ò¿Õ¸ñ

È»ºóµãOKºó£¬»á×Ô¶¯¶ÔÑ¡ÖÐÎı¾½øÐÐÖØÅÅ¡£

Òò´ËÔÙдrstʱ»á±È½Ï·½±ã½øÐд¦ÀíÁË¡£

 


Àà±ð£ºUlipad ²é¿´ÆÀÂÛ

五月 18, 2010

limodou的學習記錄
limodou
is about »
» 使用Ulipad进行正则替换处理

Ulipad中的查找替换是支持正则式的,也许有人还不知道。下面是一个案例讲述了如何在Ulipad中进行正则式的查找和替换。

故事是这样的:

网友Joe问我一个问题,有没有可以支持正则替换的工具,我说,有啊,EditPlus和Ulipad都可以。Joe是因为从论坛里直接拷贝了一些文本,但是有一些无用的信息想去掉,形式为:

UID
2809652
阅读权限
10
在线时间
664 小时
最后登录

[略]

* 个人空间
* 发短消息
* 加为好友
* 当前离线

可以基本认为在"UID"和"* 当前离线"之间的内容都是无用的,可以删除。但是因为这样的地方很多,手工处理很麻烦,于是Joe就想到使用工具来完成这件工作。于是我让Joe把内容存成文本发给我,我使用Ulipad进行了简单地加工。具体的文本内容就不贴了,很大,只是说明我是如何做的。

首先是验证正则式如何写。直接写还是有难度,于是先打开Tools->Live Regular Expression,这是一个动态测试正则式的工具(不知道有几个人知道并用过)?



可以看到输入的正则式,同时右侧设置了"Multi Line"和"Dot All"标志。匹配上的结果在右下角,内容比较多,拖动可以看到完整的,符合我们的要求。

然后点"Create",生成最终的正则式,结果为:

re.compile(r"UID.+?\* 当前离线", re.S|re.M)

然后按Ctrl+H打开查找替换面板:



这里输入的是 "(?ms)UID.+?\* 当前离线",前面"(?ms)"是在正则式中设置re.M和re.S标志用的。注意,这里选中了后面的"Regular Expression"标志,因此这时就是进行正则式的处理了。如果你按下箭头(查找框右边的绿色向下的箭头)则可以先进行查找。上图的绿色文字就是找到的结果,看一看没问题。然后点"Replace all"进行全部替换就好了。

后来发现还有一些多的空行,于是又写了一个替换,把"\s*\r\n(?:\s*\r\n)+"替换为"\r\n\r\n"即可。它的作用是把多个空行(每个空行前面可以有空格)替换成一个空格。

经过上面的处理,文本就处理好了。


类别:Ulipad 查看评论

十一月 24, 2009

limodou的學習記錄
limodou
is about »
» UliPad 4.0发布

本来是懒得发布,因为最新更新也不是很多,不过从3.9发布到现在竟然也有1年多了,3.9发布还是在08年4月份,想不到时间过得真快啊。

Links


类别:Ulipad 查看评论

九月 30, 2009

limodou的學習記錄
limodou
is about »
» 打印出象Linux的tree命令一样的目录树结构程序

差点找不找了,贴出来。不过已经集成到Ulipad中了。



在目录浏览窗口中的Print Directory Tree就是。执行后会将当前选中的目录结构输出到messages窗口。

代码如下:

  1 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#! /usr/bin/env python
#coding=utf-8
import os, sys
import fnmatch

space = 4
stack = {0:''}

def path_line(level, path, is_dir, is_last):
s = []
leading = stack[level-1]

if is_dir:
path = path+'/'

if is_last:
s.append(leading + '`-- ' + path)
leading += ' '
else:
s.append(leading + '|-- ' + path)
leading += '| '

stack[level] = leading

return ''.join(s)

def walk(dir, level=1, skips=['.svn', '*.pyc']):
r = []
dirs = [x for x in os.listdir(dir) if not any([fnmatch.fnmatch(x, y) for y in skips])]
num = len(dirs)
for i, path in enumerate(sorted(dirs, cmp=lambda x,y: cmp(x.lower(), y.lower()))):
p = os.path.join(dir, path)
flag = os.path.isdir(p)
r.append(path_line(level, path, flag, i==num-1))
if flag:
r.extend(walk(p, level+1, skips=skips))

return r

if __name__ == '__main__':
if len(sys.argv) == 1:
path = '.'
else:
path = sys.argv[1]
print path
print '\n'.join(walk(path))

类别:Ulipad 查看评论

九月 19, 2009

limodou的學習記錄
limodou
is about »
» Code Snippets in UliPad[视频介绍]

http://vimeo.com/6652566

感觉Code Snippets功能应该对大家有用,就介绍一下。有兴趣可以看看。



类别:Ulipad 查看评论

三月 11, 2009

limodou的學習記錄
limodou
is about »
» StyledTextCtrl语法高亮使用的探讨

原来是想投稿的,但是编辑们认为太具体了,范围太窄,没人采用。所以一直也没有发表过,也不曾公开过。不过正好有网友问到这个问题,我找了出来放到网上。从这里下载。有文章和源码。

文章描述了内置的Lexer的使用和自定义的Lexer的使用。不过它是一个精简版本,Ulipad对于自定义Lexer作了增强。有兴趣可以去看Ulipad的源码。主要是 NCustomLexer.py ,可以使自定义语法高亮更容易。同时在Ulipad的英文文档 howto_write_custom_syntax_support.htm 中我也写过如何使用它,可以看一看。另外有许多Lexer就是使用NCustomLexer来处理的都可以看,比如:

mixins/LexerRst.py 处理reStructuredText
plugins/djangoproj/DjangoTMPLexer.py 处理Django模板
plugins/mako_plugin/MakoTMPLexer.py 处理Mako模板

等等。
类别:Ulipad 查看评论

三月 9, 2009

limodou的學習記錄
limodou
is about »
» StyledTextCtrl不支持screen reader :(

今天一位外国朋友问我的UliPad不支持screen reader,刚开始不太明白,于是我试了灵格斯,可以抓文字。但是我问了他什么叫screen reader,才搞明白screen reader大部分是给盲人和弱视的群体使用的软件,因为他们无法阅读屏幕,所以需要读屏的软件。这种软件可以把你的屏幕直接读出来,比如:鼠标的移动会有不同的声音,让你很容易就知道大概的位置。鼠标放在某个窗口就可以自动将内容读出来。他还特别告诉我了两个软件:Jaws和nvda。而且nvda是使用Python开发的。不过大部分的软件对于微软的控件支持比较好。而Ulipad是使用了Scintilla的版本StyledTextCtrl。

那么为了测试,我下载了nvda,是从一个叫自强盲人网的地方。以前我从来没有去过这样的地方。甚至还搜到一个叫晴天小站的Blog,他的作者杨永全就是一位盲人。这里有他的一份介绍。看到他的眼睛让我有一种说不出的感觉。我感谢我现在生活得很好。

还是说一说nvda吧。启动后,鼠标的移动有声音,自动念的中文,不过效果不是太好。放在Ulipad中不知道念得什么,反正不是文件的内容。但是使用EditPlus打开相同的内容却可以自动念。因此我想,这个可能才是那位外国朋友想要的功能。于是在google上查了一下,很早就有这个问题,说是Scintilla的1.62版本就可以解决。不过现在版本应该早就过了,但是还是有这样的问题。很失望。

很希望Ulipad可以让帮助更多的人。
类别:Ulipad 查看评论

二月 24, 2009

limodou的學習記錄
limodou
is about »
» 使用Ulipad的Python代码渲染功能

在 17xie 上已经开始了《Learning Uliweb》的写作,到目前已经进入第三章的写作,不过是最简单的Hello的讲解。那么我遇到一个问题是代码高亮怎么办。后来想起来Ulipad本身就有代码转换成HTML的功能,并且可以直接打开浏览器看到结果。所以就用它将转换代码,然后贴到web编辑器中。效果还不错。百度的Blog也可以这么干。

使用方法:

1. 先选中要处理的Python代码
2. 点右键在弹出菜单中选Convert->Output to HTML Window(或在Edit菜单也可以找到Convert菜单),这只是一个配置项,是不能输出的
3. 然后再点右键,在弹出菜单中选Convert->Py to HTML,就可以看到弹出一个HTML窗口,有转换后的Python高亮代码。选中,拷贝就行了。

类别:Ulipad 查看评论

二月 15, 2009

limodou的學習記錄
limodou
is about »
» 发现一个新的关于Ulipad的视频

是在Showmedo上,见这里

不过很简单,是讲如何在Ulipad中切换2.5和3.0解释器的。有兴趣可以看一看,是一位外国朋友做的,我不认识。
类别:Ulipad 查看评论

十一月 30, 2008

limodou的學習記錄
limodou
is about »
» UliPad的一些补充文档

注意,不是我写的,是一位外国朋友,地址在这里 http://simiansector.com/ulipad-notes/index.html 特别是他详细写了关于mixin的理解和acp的一些说明和扩展。
类别:Ulipad 查看评论

十一月 28, 2008

limodou的學習記錄
limodou
is about »
» 在Linux下运行UliPad中文输入法的问题

说实在的,我Linux下用得不多,但是有一些网友是使用Linux的。目前使用wxPython开发的软件在输入中文时会有一些问题,在邮件列表中我看到Macro说是解决了,具体我没有试过,你可以按他的方法试一试:

编写一个小shell,如下:

#!/bin/sh

export GTK_IM_MODULE=XIM
cd ~/repos/ulipad-read-only/
./UliPad.py

其中cd为UliPad的安装目录,应该按你的环境改一下。
类别:Ulipad 查看评论

» ¹ØÓÚwxPythonÖйØÓÚActiveXµÄеķâ×°

ÔÚUliPadÖУ¬Èç¹ûÄãʹÓõÄÊÇWindowsµÄƽ̨£¬ÄÇôÔÚä¯ÀÀHTMLʱ¿ÉÒÔʹÓÃieÄں˴ò¿ª¡£¶øÇÒUliPad»¹Ö§³Ö½«reStructuredText½øÐÐHTMLÔ¤ÀÀµÄ´¦Àí¡£µ«ÊÇÔÚÎÒ°²×°ÁË2.8.9.1Ö®ºó£¬³ÌÐò¾Í±¨´íÁË£¬´íÎóÊÇ˵ie¶ÔÏóÕÒ²»µ½EVT_DocumentCompleteÊôÐÔ¡£ºÜÆæ¹Ö£¬¿´ÁËÒ»ÏÂiewin.py·¢ÏÖÎÒÒÔÇ°ÓõÄ2.8.7.1ºÍеÄ2.8.9.1°æ±¾²»Ò»ÑùÁË£¬ÉÙÁËʼþµÄ¶¨Òå¡£

ËäÈ»ÒÔÇ°¾ÍÖªµÀActiveX¿ò¼Ü»»ÁË£¬µ«ÊǵÄȷûÓп¼Âǹý¡£½á¹ûÔì³ÉUliPadÓëа汾µÄwxPythonµÄ²»¼æÈÝ¡£ËùÒÔÔÚÍøÉϲéÁËһϣ¬²Î¿¼ÁË2.8.9.1ÖеÄdemoʾÀý£¬´ó¸ÅÊÇÕâ¸öÑù×ӵģº

1. ²»ÔÙʹÓÃBindµÄ·½Ê½¶Ôʼþ½øÐаó¶¨ÁË£¬¶øÊÇͨ¹ýÖ±½Ó¶¨Òåʼþ´¦Àíº¯Êý¡£µ«Õâ¸öº¯Êý²»ÄÜËæ±ã¶¨Ò壬¾ßÌåµÄ¿ÉÒÔ²éÔÄMSDNÉϵÄÎĵµµÃÖªÐèÒª¶¨ÒåÄÄЩʼþ´¦Àíº¯Êý¡£Í¬Ê±Òª×¢ÒâÔÚwxPythonÖл¹Òª¶¨ÒåÒ»¸öthis²ÎÊý£¬±ÈÈçÔ­EVT_DocumentCompleteʼþ¶ÔÓ¦µÄ¶¨ÒåΪ£º

def DocumentComplete(self, this, pDisp, URL):

µÚÒ»¸öÊÇself£¬µÚ¶þ¸öÊÇthis

2. ÔÚ´´½¨iewin¶ÔÏóÖ®ºó£¬Òªµ÷Óãº

ie.AddEventSink(self)

¾ßÌåÕâ¸öÓÐʲôÓã¬ÎÒûÓÐ×мšÑо¿£¬²»¹ý²Â²â¾ÍÊÇ¿ÉÒÔ×Ô¶¯½«Ê¼þÓë·½·¨°ó¶¨°É¡£

ActiveXµÄеķâ×°ÊÇ´Ó2.8.8.0°æ±¾¿ªÊ¼µÄ£¬ËùÒÔΪÁ˱£³Ö¼æÈÝ£¬Äã¿ÉÒÔ×öÒ»¸öÅжϣ¬È磺

        if wx.Platform == '__WXMSW__':
            import wx.lib.iewin as iewin

...           
            if wx.version() < '2.8.8.0':
                self.ie.Bind(iewin.EVT_DocumentComplete, self.OnDocumentComplete, self.ie)
            else:
                self.ie.AddEventSink(self)

Àà±ð£ºUlipad ²é¿´ÆÀÂÛ

六月 25, 2008

limodou的學習記錄
limodou
is about »
» Ulipad IRC channel

我一直不喜欢使用irc,因为端口受限制。不过现在有许多web irc网站,可以直接通过浏览器来访问。有一个叫Chester Dunn的外国朋友,帮我在Freenode.net上建了一个,如果你感兴趣可以上去找到#ulipad,与我一起交流Ulipad。http://www.mibbit.com/ 是一个web的irc网站很不错,找到服务器,然后输入channel就可以进入了,很方便。
类别:Ulipad 查看评论

六月 16, 2008

limodou的學習記錄
limodou
is about »
» UliPad 3.9的Mac安装下载

下载地址

这是由网友Meaglith Ma做的,我没有环境没有办法试,放在了啄木鸟的wiki上,有MAC机器并且感兴趣的可以下载试一试。
类别:Ulipad 查看评论

biggo.com.tw

A Django site.