2007年6月13日星期三

Emacs minibuffer中的自动补全功能

你有3种选择:Icicles功能最强InteractivelyDoThings(Ido)次之,最后一个是IswitchBuffers。其中后 2个Emacs有自带(我用的是Emacs 23),而Icicles更侧重于图形界面下的体验。

2007年6月5日星期二

我爱命令行:tar

tar

详见 GNU tar官方文档 。处理tar, tar.gz, tar.bz2, tgz等格式文件,用于备份和打包。

常用命令选项

-c 创建归档文件。
-u 更新文件,如果要添加的文件比tar包中的新或tar包中不存在,则文件被添加。不支持压缩tar包,如tar.bz2等。如过被更新的tar包 不存在,则直接创建。所以如果创建非压缩的tar包,则可以用u选项代替c选项。注意,旧的文件依旧被保存,解压时如果有多个同名文件,默认是最后添加 (参见-t选项)的文件会覆盖先前的文件,不会询问,看前来就象是只有最后添加的文件被解压缩。
-r 添加文件,用法与-u参数相同,区别是不比较文件,只是简单的添加。
--delete 从tar包中删除文件,不支持压缩tar包。
-x 解压缩归档文件。
--occurrence=n 在一个tar包中有多个同名文件时,指定要操作的是第n个。默认是1,这时=n可以省略
-t 列出tar包中的文件。支持压缩tar包。注意文件列表是有次序的,排在最后的说明最后添加。
-v 详细模式。显示处理进程,如正在处理的文件等等。
-f 使用文件而不是stdin/stdout
-p 保留文件的所有外部属性。默认,可以省略。解压缩时以root身份(如sudo)即可恢复文件属性。以普通用户身份解压缩则文件属主变为该用户自己。
-P 保留归档时目录名中的根目录标志/。不建议使用,因为一不小心就会把文件解压到系统目录中,而不是当前目录。此选项默认关闭。
-j 使用bzip2压缩/解压缩tar包
-z 使用gzip压缩/解压缩tar包
-C 解压锁到指定目录。
--exclude 不归档指定的目录。除个别子目录之外,归档某个目录。

示例

打包用户目录,默认已保留所有文件外部属性
tar jcvf foo.tar.bz2 /home/jack
tar zcvf foo.tar.bz2 /home/jack
添加foo到foo.tar,注意不支持foo.tar.gz这样的压缩格式
tar uvf foo.tar /home/jack/foo
解压缩foo.tar.bz2到当前目录,并保留文件外部属性。
sudo tar jxvf foo.tar.bz2
解压缩foo.tar.gz到当前目录,但文件属主被改为当前用户
tar zxvf foo.tar.gz
只解压缩指定的文件,如果有多个同名文件,可以指定解压哪一个。
tar jxvf foo.tar.bz2 foo.txt
tar jxvf foo.tar.bz2 --occurrence=2 foo.txt
备份系统,注意要把备份文件自己放到exclude例外中。
tar jcvf backup.tar.bz2 --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.bz2 --exclude=/mnt --exclude=/sys /
解压缩到根目录,通常用于备份的恢复。
sudo tar jxvf backup.tar.bz2 -C /
显示foo.tar.bz2中的文件及其详细信息(v参数)。
tar tvf foo.tar.bz2
从foo.tar中删除foo/foo2,不支持压缩tar档,注意文件路径(可用tar tf先查看)
tar --delete -f foo.tar foo/foo2
如果有多个同名文件,可以指定要删除哪一个。
tar --delete -f foo.tar --occurrence=2 foo1/foo2.txt

Kaffeine配置:中文字幕

为了要看NHK的纪录片《激流中国》,开始动手配置Kaffeine的中文字幕显示。

我的Kaffeine使用xine引擎,字幕问题其实就是xine的字幕支持问题。

需要用到个小工具xine-fontconv,用来将其它字体转换成xine可用的格式。我是在LinuxSir下载的。

准备好中文字体,我就试了4个,uming.ttf、simhei.ttf和SimSun18030.ttc好用,SimSun-Bold不行。显示效果simhei稍好一点。uming是Ubuntu自带的字体。

cp /usr/share/fonts/truetype/arphic/uming.ttf .
./xine-fontconv uming.ttf uming gb18030
完了会在当前目录生成许多字体文件uming-xx.xinefont.gz,拷贝到xine的字体目录:
sudo cp uming-* /usr/share/xine/libxine1/fonts/
接下来是Kaffeine的配置。

设置->xine引擎参数->subtitles

新手选项里可以设置字幕编码和字体大小,我的编码默认是gb18030,不去改它了。

字体大小对应字体文件名中的数字xx。注意对于某个字体,有些大小的字体不能使用,你可以通过查看字体文件大小来大致确定。如simhei-20.xinefont.gz的大小只有10,所以small大小不能使用。因为我这里默认大小就是small,我一开始还以为simhei不能使用。

专家选项里填入刚生成的字体名,比如uming

好了,和Windows下一样,只要字幕文件名和相应视频文件名只相差一个后缀,Kaffeine就能自动加载了。

我用的字幕是ssa格式,在Google解决方案的时候看到xine好象并不支持sub,idx格式的字幕,也不知道现在解决了没有。

顺便说一下激流中国的《喉舌和良心》与《富人和农民工》。穷人的生活太沉重了,7岁的孩子读作文《我的理想》,把自己读哭了。

Hokkee的blog说:When times are good, be happy; but when times are bad, consider.

对于这些一出生就在贫困山区的人来说,我怀疑他们有多少good time,又可以consider多少。

推荐大家看一下,尤其是身在国内的同胞们,“不识庐山真面目,只缘身在此山中”,NHK固然有偏颇,我们何尝没有?