QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3168|回复: 0

[教学][原创]使用 gedit 格式化文章

[复制链接]
发表于 2008-5-9 12:04:32 | 显示全部楼层 |阅读模式
在 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
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 00:24 , Processed in 0.039546 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表