当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 4 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [教学][原创]使用 gedit 格式化文章
帖子发表于 : 2008-05-09 11:54 
头像

注册: 2005-12-10 13:55
帖子: 158
送出感谢: 0 次
接收感谢: 0 次
在 windows 下,我们经常可以在各种文本编辑工具中将某些常用的命令保存起来,进行一系列的自动脚本,来帮助我们执行批处理命令,在linux 下,我们也可以使用某些工具来高效,轻松地来进行这些工作,本文以 gnome 下的自带图形文本编辑器 gedit来说明一个简单的例子。

OK,让我们开始:

1. 打开 gedit ,并找到菜单 “编辑” -> “首选项”,在 “插件” 选项,选择 “外部工具”(gedit默认没有加载此插件,我们需要手动加载它),这样,我们就可以在 gedit 中使用各种外部命令和 shell 脚本。

图片

2.在“工具”菜单,我们可以看到“外部工具”,打开它,在此对话框我们可以进行各种脚本和工具的设定,当然 gedit已经为我们提供了几个诸如“构建”,“删除尾部空格”等小的脚本,我们也可通过 “新建”按钮自定义脚本,现在我们新建一个:点击“新建”,工具名和描述叫做 “格式化文本”,将鼠标键入“快捷键”框,并同时按下 “ALT+2”键,“输入” 选当前文档,“输出”选替换当前文档,“适用范围”选全部文档,因为我们需要的是将复制过来的文本进行一下格式的替换,例如段落间空行和每自然段前置两个全角空格之类的文章格式。

图片

3. 现在我们开始编写处理命令,在“命令”中键入:

#!/bin/sh
sed 's/ //g;s/ //g;s/^  $//g;s/^/  /g';

我们来看一下这两行代码的含义和他们能完成的工作。

第一行:#!/bin/sh,这是一个脚本表示行,/bin/sh 向系统声明了这个脚本是一个shell脚本,当然 linux 系统中有很多类型的脚本,perl,c,php,python,但是我们现在只需要shell脚本。

第二行:sed 's///g;s/ //g;s/^  $//g;s/^/  /g';,这就看起来比较可怕了,不要怕,经过我的解释,你会对此一清二楚,首先 “sed”是一个shell命令,比方说ls,mkdir,copy等等都是,“sed” 的用途就是处理各种文本,拆分,拼合,查找,替换等待,具体可以google 一下 sed,我们现在用sed仅仅完成一个简单的任务:“替换”,sed的替换是这样的一种命令格式:

sed 's/替换前的内容/替换后的内容/g(g代表全文检索,不带g代表当前行检索)'

“;”分号代表了分割两个命令段,即“第一类替换;第二类替换;...”,够清楚了吗?好了,我们再回头看一下我们的代码,很简单,我们进行当前文档的全文替换,将“半角空格和全角空格”替换成“”,就是清除这两项,将文章头尾(“^”表示开头,“$”表示结尾)的全角空格全部去除,重新将每段落开头加上两个全角空格。

4. 我们完成了自己的“格式化文本”的脚本编写工作,现在来试试。随便复制一段文章到 gedit,按下“ALT+2”组合键,Oh!文章按照我们的既定格式重新排版了,看上去很整齐!

图片

虽然这个小工具还很粗糙,还不能处理很多高级的替换命令,但这只是一个开头,聪明的你应该可以举一反三,自己定义更为强大的处理脚本了。

原文地址:
http://aolinux.simnovel.com/2008/05/gedit.html


_________________
除了 Linux 与開源軟件,您还应该喜欢 美食


最后由 jsonic 编辑于 2008-05-09 16:04,总共编辑了 2 次

页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-05-09 13:21 
头像

注册: 2008-02-17 23:47
帖子: 22109
地址: 美丽富饶的那啥星球
送出感谢: 11
接收感谢: 82
学习


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-05-09 13:44 
头像

注册: 2007-11-19 21:51
帖子: 6956
地址: 成都
送出感谢: 0 次
接收感谢: 4
我都是用gvim来格式化的。


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-05-09 13:46 
头像

注册: 2006-02-25 17:09
帖子: 1606
地址: 西安
送出感谢: 23
接收感谢: 1
好文章,感谢分享,欢迎原创!


_________________
早起的鸟儿有虫吃
早起的虫儿被鸟吃

http://aerowolf.blog.sohu.com/
亲,点一下免费获得Dropbox空间!


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 4 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译