I am LAZY bones? AN ancient AND boring SITE

gedit增加个外部工具,转换文本为windows格式。

大家应该知道,换行符在每个操作系统中是不一样的,比如windows是0x0d,0x0a,linux是0x0a,mac是0x0d。
这样就导致各操作系统间的文本交流出现了一点不大不小的问题,虽然windows和linux下的大部分编辑器都会知道识别这个差异,并进行相应的转换,但是像windows中的记事本这类老古董就不会了。。。。而且据说windows中用记事本的不在少数。。。所以,在linux下创建的文本文件,到了windows中用记事本一打开,就会发现所有的换行符都变成了黑方块 Laughing
不过既然知道了原理,解决起来当然是相当地方便:gedit(我的版本是 2.18.1)已经可以支持自定义的外部工具了,还可以给每个外部工具定义一个快捷键,可谓相当方便。于是就在工具-外部工具里面新建一条:名字自己取,命令如下:

代码:
#!/bin/sh
tr “\n” “\r” | sed ‘s/\r/\r\n/g’

输入选择当前文档,输出选择替换当前文档。
不过我这个版本的gedit似乎有个小bug,就是选择了输出之后不会自动保存,想了个另外的办法:在~/.gnome2/gedit/tools目录下新建一个文件(文件名随便,不过记得加可执行权限 chmod +x 文件名)内容如下:

引用:
#!/bin/sh# [Gedit Tool]
# Comment=转换为windows格式
# Name=转换为windows格式
# Shortcut=F10
# Applicability=all
# Output=replace-document
# Input=document

tr “\n” “\r” | sed ‘s/\r/\r\n/g’

这个和上面说的方法其实是一样的,只不过可以避免gedit的bug。完成了以后gedit的工具菜单里面就会多出一项。然后linux下编辑好文本以后再执行一下,再保存,windows的朋友就可以轻松打开你的文件了。

本例其实很简单,主要是研究下gedit的自定义外部工具功能。 Laughing

最后修改时间: 2007年09月20日 14:39

本文章发表于: 2007年09月20日 14:39 | 所属分类:GUI软件, 经验技巧. | 您可以在此订阅本文章的所有评论. | 您也可以发表评论, 或从您的网站trackback.

发表评论