标签存档: 脚本

编辑器SciTE介绍

Editor
虽然已经2020年了,我还是和二十多年前一样,用着老式的文本编辑器撰写程序和文档,然后在命令行下运行调试。对我来说,一个顺手的通用文本编辑器至少应该满足下面几个条件:

  1. 使用能区分O和0,I和l的等宽字体;在这一点上,最常用的中文字体宋体和黑体都不够友好
  2. 支持主流编程语言的语法高亮,可自行增加对小众语言的支持;
  3. 能够显示空格,制表符,换行符等空白字符;
  4. 查找替换支持正则表达式(Regular Expression);
  5. 占用资源小,支持操作GB级大文件;
  6. 支持调用自定义脚本;

在Windows下,我用了很多年的Emeditor,后来工作环境迁移到Linux系统下,用不惯vim和emacs,就一直用SciTE将就。时间一长,也逐渐适应了这个轻巧的工具。它是作为开源编辑器框架Scintilla的示例软件开发的,完成度不高,配置和扩展都不够友好。不过这个框架本身自由度很高。许多著名的轻量编辑器都是基于它开发的,例如Notepad++Geany等。后来随着计算机硬件性能的升级,拥有更多时髦功能的Sublime Text, Atom或者VSCode等编辑器得到了更多的关注。也许SciTE看上去有些过时。但作为一款仅有2M大小的跨平台开源软件,它有着更少的资源占用和更快的响应速度。除了对字符集的识别不那么智能,以及不支持跨行搜索之外,我还真找不到更换它的理由。这里整理了一些使用和配置的经验,方便有一定编程基础的中文用户参考。

继续阅读

标签:, , , , , .

Ubuntu下配置触屏笔记本

自苹果公司在2007年发布iPod Touch以来,触控操作迅速席卷了移动领域,成为最流行的交互方式,众多硬件厂商趋之若鹜,触控显示器、触控笔记本层出不穷。而始作俑者苹果公司在这场狂热中压根就没推出过桌面级的屏幕触控设备(ipad就是个娱乐终端)。另一方面,传统的操作系统领域也没有兴起多大波澜。最早有志于统一桌面的Unity已黯然退场;首次支持触控的Windows 8 被市场否定,Windows 10又改回经典界面;软件厂商观望了一阵,看桌面领域没什么赚头,就纷纷开发App去了。人们发现,磨合了三十多年的鼠标键盘工作流并不能简单地被手指替代,哪怕是十指触控。硬件虽好,但缺乏系统和软件的支持也只能做个噱头。

x1yoga 新版Win10针对触控操作做了许多优化,可以为平板提供足够的支持(在Surface Pro上用Drawboard PDF看论文图书还是很有效率的)。相比之下,Linux的体验就不那么友好了。默认的软件和设置完全无法配合平板形态,需要自行设置和优化。我用的Thinkpad X1 Yoga 在 Mint Linux 18.2 下触控屏手指缩放无效,自带的 Wacom 触控笔灵敏度过高,尚未接触屏幕就直接触发点击,笔的按钮也不能触发右键。好在Linux 下的 Wacom 驱动有着相当完善的接口,这些问题都可以通过修改设置解决,这一点可比Surface方便多了。Linux 下 Wacom 驱动的介绍页面是 http://linuxwacom.sourceforge.net/wiki/ , 其中也包括多点触控屏幕的设置。简单来说,需要关闭驱动的手势控制,启用系统的两点控制来实现自带文件、图片、网站等各类浏览器中的手势缩放;修改电磁笔的触发阈值来修正灵敏度。
继续阅读

标签:, , , , , .

Python简繁转换

简繁转换的工具很多,但始终没有一个完美的解决方案。由于字符之间从来都不是简单的一一对应,不仅一简对多繁的情况大量存在,多简对一繁也屡见不鲜。情况的复杂性由下面几例可见一斑:

头发发展 -> 頭髮發展
萝卜卜卦 -> 蘿蔔卜卦
秒表表达 -> 秒錶表達
晾干乾坤 -> 晾乾乾坤

要正确完成这样的转换,就要在单字对应关系之外加上词组对应。这一点无论Google 翻译,MS Word 或者ConvertZ 基本都可以做到(虚词部分可能稍微困难些)。但两岸相差的不只是字形,还有名称叫法。这一点嘻来嚷往最早的一篇文章中讲的很清楚。转引一个例子:“大衛碧咸在寮國見到了布希”。我第一次看到时完全不知所谓,虽然认得每一个字,还是猜不到这就是“大卫·贝克汉姆在老挝见到了布什”的香港版。要想正确转换这样的句子,就要建立更广泛的简繁词组对照表。也许你会觉得这已经超出了字体转换的范畴,开始接近自动翻译了。但从技术的角度上讲,把“软件”对应为“軟件”,”軟體” 或者 “ruan jian”并没有什么不同,前提是要有一个完善的转换语料库。当然这个前提并不容易满足,因为“所有的规则都有例外“。
继续阅读

标签:, , , , .

python换桌面脚本2.0

原来发过一个Python下的换桌面脚本,由于相关网站改版,脚本失效.。我也相应更新一下。移除了图片质量一般的EPOD。充分测试了windows(XP) 和 linux(Ubuntu gnome)双平台. 同时将原有的拉伸全屏模式,更改为保持长宽比的居中模式(其他模式的使用参数也已写在注释中)。 对于APOD,可以手动指定更新任意一天的图片(只支持JPG), 而NGPOD的网站地址与时间无关,只能获取最新图片。下载前会检查文件名,如果图片已经存在,则自动跳过。默认下载大图,然后根据设定分辨率生成桌面图片。各项参数要在源码中自行调整。仍需要PIL模块支持,这个模块的详细介绍可以看这里。新脚本点此下载
继续阅读

标签:, , .

Simbad座标查询脚本

近日为一个项目做天体证认,要根据候选天体的座标查找临近天体。Simbad支持座标文件查询,但因为目标很多,返回的页面内容太多,不便查看;但可以提交脚本来定制输出格式,但是脚本查询的返回结果中不区分座标来源,也就是说所有座标的全部查询结果都顺次输入,完全不做区分也没有标记,这样对应关系就全乱了。在问过CDS的Marc Wenger之后,得知系统可以用echodata来人工插入注释。但我有几百个目标写起来太麻烦了,于是写了段python脚本,直接从文件中读取座标,转换为链接格式提交查询,并将结果返回终端,按指定格式写入文件保存,一键完成。
继续阅读

标签:, , , , .

Python中文排序

Python比较字符串大小时,根据的是ord函数得到的编码值。基于它的排序函数sort可以很容易为数字和英文字母排序,因为它们在编码表中就是顺序排列的。

但要很处理中文就没那么容易了。中文通常有拼音和笔画两种排序方式,在最常用中文标准字符集GB2312中,3755个一级中文汉字是按照拼音序进行编码的,而3008个二级汉字则是按部首笔画排列,

出现这样的结果是因为‘曙’和‘曾’都是常用字,而‘鲑’和‘怡’都是次常用字,但无论从笔画还是拼音来看,这两对顺序都应该反过来。后来扩充的GBK和GB18030编码为了向下兼容,都没有更改之前的汉字顺序,于是sort之后的次序就很乱了。
继续阅读

标签:, , .

python脚本换桌面

原来何勃亮发过一个gnome下自动更新每日天图(APOD)作为桌面的脚本,挺有意思的,我这里发一个Python的,可以看作是免费软件Pic-a-PODPicture of the Day的替代品,在2.6下测试通过,需要安装PIL库,可以自行选择天文每日一图(APOD)、地理每日一图(EPOD)、或者美国国家地理每日一图(NGPOD),点此下载

这是由seasons的版本修改而来,他那里漏了一个setWallpaperFromBMP函数,还好在他的 javaEye 日志中找到了,有人是用win32gui实现,不过我测试没有成功。

源码如下,方便引擎收录:)
继续阅读

标签:, , , , .
porno film