UltraEdit的一些基本技巧
------------------------------------------------------------------------------- -
用做普通文本文件编辑器(.txt .bat .conf .ini等)
用做.doc文件编辑器(不过,不是msword的文档,其实也是文本文件,我不知道为什么叫doc)
用做c, c++, java, jsp, html, xml等的源代码编辑器
(以上文件可以是本地的,也可以是通过
FTP方式操作远程的文件)
对文本文件进行按行排序,排序的方式是可以定义的。
对16进制的文件直接修改字节指定直接的内容
对文件全体内容或选定内容进行整体的操作,比如转换格式、内容等
对文件的字符、词数量进行统计
对一个文本文件或源代码文件组成的项目进行操作
介绍
----------------------------------------------
通过上面的列表,你基本上能知道UltraEdit是干什么用的:小巧且功能全面、灵活好用的文本编辑器,尤其适合于源代码的编写。
对于文本文件的编辑,当然是没什么好说的了。我这篇文章就是用UltraEdit写的纯文本的文件。自己去用两下就知道了。不过,就算作为文本编辑器来讲,它也比Win dows 的 NotePad强的多,不过比器Unix的vi来,当然就差劲了点。如果说和vi相比,恐怕最大的优势就是图形操作环境,不需要记无数的繁杂命令了。
语法着色问题:
**********************
作为源代码编辑器,那就不一样了,和vi简直有一拼。最值得称道的是,它可以对各种源代码进行语法着色,使你清晰分辨代码中的各种成分。记得在ChinaJavaWor ld中,曾经有一个哥们说:JAVA初学者最好不要使用强大的IDE,只要使用能进行语法着色的文本编辑器就可以了。如果真是这样,恐怕UltraEdit真是最好不过的 东东了(我不知道这个哥们说得对不对哦)。UltraEdit32在默认的状态下,可以对JAVA, PERL,HTML,XML, C#,C/C++,visual basic 等进行很好的语法着色,这对于喜欢直接写代码的弟兄们来说,真是已经很不错了(有的人不喜欢用FRONTPAGE 或者 DREAMWAVER这样的“所见即所得”的东东来开发)。更好玩的是,如果你不喜欢它的着色方式,你可以去修改它,而且还可以增加它不认识的语言,比如你发明了一种新 的语言,你可以告诉UltraEdit怎样对它进行着色。(请参照菜单Advanced--configuration--Syntax Highlighting)
如果你用UltraEdit来写java程序,它可以对JAVA的关键词进行识别,可以着色JAVA核心类中的部分类名,可以区分变量和字符串等。这就很不错了,你不要 企图让它为你进行代码补全,小小一个编辑器你还能真把它当JBUILDER那样的IDE来用吗?
如果你用它来开发HTML、JSP、ASP等,那也很爽啊。它不仅可以区分其中的scriptlet(小脚本)和HTML代码,对他们进行很好的着色,而且提供了几乎全 部的HTML TAG和特殊字符,当你忘记的时候,很轻松就能查到。它对HTML的着色,可以做到对TAG、PROPERTY 和 VALUE 进行不同的着色。是不是很棒啊?
配置工具:
************************
说实在话,UltraEdit真的不是IDE,但是你可以把它做得漂漂亮亮,把一个IDE的常用功能给集成起来,比如编译、运行。
比如,你可以配置上javac java 两个命令,不需要到DOS状态下,就可以在这里编译和运行你正在编辑的JAVA类,而且能把编译的错误消息和运行的结果捕获到一个新的文件或者output窗口中。对于 c/c++当然也可以这么做了。这不错吧?作为一个JAVA的初学者你还能奢望什么呢?即使作为一个有经验的程序员,你还需要庞大的IDE吗?(如果你要做图形应用程序, 建议你还是用IDE吧,UltraEdit可没办法)
齐备的编辑功能:
*************************
说到各种编辑功能,就算JBUILDER, WEBSHPERE这样优秀的IDE也比不上UltraEdit, 要想知道UltraEdit在这方面的能力,你去看看vi的说明书吧,vi的确是很强大,UltraEdit也包含了其中很多的功能。比如基本的功能有:查找、替换、在 文件中搜索并替换等,还有vi中e!的功能(当你发现你编辑错了的时候,你可以把你上次保存的内容重新读进来),可以进行16进制编辑,定义书签,直接滚动到某一行,设置 或关闭只读,括号匹配,查看文件信息,消除空格,自动缩行,大小写转换,文件格式转换(UNIX 转成DOS等)。据说它的查找功能,还能象vi一样使用正则表达式哦,厉害!
它还有很多方便的小工具,比如你在写HTML的时候,可能想使用某种颜色,但不知道它的RGB是多少,可以用Edit --- insert color; 你想插入当前时间,查找ASCII 码,进行拼写检查,行排序,把内容EMAIL给别人,文件比较,行选模式,区域选择等,哎呀,累死我了,功能太多,不说这个了。下面说说各种功能的使用。
特色功能介绍
------------------------------------------------------------------------------- -
UltraEdit详细的介绍一时半会说不完,其实也没有完全介绍的必要,因为无论对于新程序员老程序员,对计算机的操作应该是比较熟悉的。怎么删除?怎么保存?怎么打 开?怎么剪贴、拷贝、粘贴?以及怎么查找?这太常识了,我简直象是在说废话。下面说几个UltraEdit特有的,或者比较好用的功能,供大家借鉴,有问题请直接找我,大 家研究一下。
程序语法着色:
*********************************************
为了让你看到着色的效果,你先用UltraEdit建立一个新文件,并另存为.java文件,然后输入一段简单的代码,如:
import java.util.*;
import java.lang.*;
/**java test class*/
public class RenderEdit {
String field = "UltraEdit Test";
public RenderEdit(){}
public void static main(String[] args)
{
//just test
System.out.println(this.field);
}
}
(你把这段代码拷过去用用吧。)
打开菜单Advanced --- configuaration -- Syntax Highlighting
在Language下拉框里,你能看到现在默认的着色方案。你在刚才的例子文件里,就已经看到了效果。如果你还算满意也就算了,否则呢,请在这个对话框里修改对每个条目 的着色方式。
另外,你在这里能看到"auto correct keywords"这个功能。就是说,如果你的关键词敲错了,它可以自动帮你纠正一部分,比如fi 改成 if, system 自动写成 System, 你觉得这个功能怎么样?不错吧。的确。但是也有遇到麻烦的时候,比如你有这样的句子: Class ca = new field.getClass(); 它就把Class给写成class, 这当然是你不希望的。再如:java.sql.Connection connection = null; 它也会把小写的connection给替换成Connection(类名),这也不符合要求。这对于喜欢使用词的全称做对象实例名的弟兄们不是好事,尤其初学者,程序编 译错误了,你都查不出来为什么,建议你把这个功能关掉。
同样的,如果你实在不喜欢用语法着色的功能,也可以在这里把他们全部关掉,这样对于什么源代码都不着色了(你神经病吗?)
在这里你还可以看到一个叫wordfile.txt的文件,你可以去修改这个文件,这样,UltraEdit能认识的词就更多了。
关于着色就说这些,这只是个例子。你可以在Advanced -- configuration 里找到各种设置功能,简单列这这里:
general 页 :
是否显示行号
一个文件是否可以同时打开多个实例
edit 页:
设置自动缩进 ,并且允许用空格或是TAB来缩进,缩进多少也由你指定
对所操作的文件的默认扩展名的设置
backup 页:
对更新时的自动备份的设置
File Type 和 File Asosiation 页:
这两页让你定义一些可以默认打开的文件,他们将出现在“打开”对话框的过滤器下拉框里,这样就方便对了。比如你可以把jsp,
asp等你平时工作的文件都加进来。
其他的不说了,你自己看比我说要明白得多。
配置编译器和运行指令:
*****************************************************************
我平时java程序都是在这里编译的,所以就配置了三个工具,你可以配置上别的,象C的编译器。
我配置的三个是:javac , java(对于不需要输入参数就直接运行的那种) , java对于需要参数才能运行的那种)
方法: 在Advanced -- Tool configuration 菜单的对话框里
1,配置javac
在command line里输入:c:\jdk1.3\bin\javac %f
注意:这里的javac路径你要按你自己的来指定;%f是指当前活动文档的全文件名,即“文件名.扩展名",因为java程序在编译时必须带上扩展名。如果你用了%F( 大写)是不对的,它只表示文件名而不带扩展名(对于java运行命令是这样的)。
在Menu Item Name 里输入javac ,它出现在菜单里,这样你就知道它是用来编译的。
然后选择output to list box 和 capture output ,这样当编译错误的时候你就可以在源代码的下面的output窗口里看到错误信息了。
2,配置不带参数的java运行命令
在command line里输入:java %n, 或者java %F, 这两个有时候不一样,看你的环境怎么配置了,我是使用的前一个。
在Menu Item Name 里输入: java -no parameter
并且选择output to list box 和 capture output ,这样当运行的时候,运行结果显示在output窗口里。
3,配置带参数的java运行命令
在command line里输入:java %n%modified%
在Menu Item Name 里输入: java -parameter,这样当你运行的时候,它会有一个对话框要求你输入参数
好了,这就可以用了。如果你想知道更多的配置方法,去看看帮助文件里:Advanced -- Tool Configuration吧。看不懂就来问我。注意,不是来吻我。
FTP方式工作:
*********************************************************
多数时候你都是自己的机器上写代码,源文件也存在自己的机器上。而有时候,比如你在某个公司的网络上工作,或者你黑了别人的网络,能用FTP访问别人的电脑了,或许可以 考虑直接FTP到服务器上,修改那里的文件,然后再直接保存回去。
看看File菜单,那里有个FTP子菜单,然后输入用户名和密码就可以打开那里的文件了。这对于编写JSP和ASP、HTML等比较常用。尤其是JSP,你自己的机器上 没有JSP的容器,你编辑的文件要在那个服务器上才能使用,那么就用FTP方式来工作吧。编辑完成后再用FTP方式存回去。OK了。
因为我经常写存储过程,trigger等程序,而ultraedit里没有对这个语法着色能力。我就在里面加了一些内容。现在我的ultraedit可以分析sql语言 了。方法很简单。我可以告诉你怎么做,但是现在,你没有必要这么麻烦了,因为我已经写好了,你可以直接复制倒你的ULTRAEDIT里,从新保存后重新启动你的ultra edit就可以了。
--------------------------------------
首先说制作的方法:
在你的ultraedit目录下找到wordfile.txt文件,滚动到文件结尾。在后面加入新语言的分析语法就可以了。当然加这些东西有很多规则,否则你的ULTR AEDIT就无法正确分析你自己要求的语言。具体规则你可以去参考帮助文件.你可以这样来找帮助:
advanced菜单--->configuration--->帮助安钮--->syntax highlighting标签--->帮助按钮。
仔细读读这些帮助文件,你可以知道该如何自己来做语法分析。比如你觉得ULTRAEDIT对java的分析有点怪,不适合自己的习惯,你可以到这里来修改。
在这里我已经做好了一个文件块,把它贴到你的wordfile.txt文件的结尾就OK了。
对 SQL语言的分析块:
------------------------------------------------------
/L9"SQL" Nocase Line Comment = -- Block Comment On = /* Block Comment Off = */ String Chars = "' File Extensions = SQL sql
/Function String = '%[PF]*)$'
/Indent Strings = "Then"
/Unindent Strings = "End" "ELSE" "End If" "End Loop"
/C1"SQL Keywords"
add
alter
by
create
commit
constraint
default
delete
exists
from
foreign
group
having
into
insert
index
intersection
key
minus
null
nologging
where
update
unique
using
union
values
order
online
procedure
primary
rollback
replace
rowid
select
set
sysdate
table
tablespace
trigger
/C2"Functions"
avg
count
power
sum
mod
/C3"PL/SQL Keywords"
as
after
begin
before
close
cursor
declare
exit
end
exception
elsif
else
each
fetch
for
goto
into
if
loop
notfound
open
on
of
row
then
when
/C4"Operators"
+
-
*
:
=
/
%
>
<
!
||
and
between
is
in
not
or
/C5"Data Type"
number
date
char
varchar
varchar2
boolean
BLOB
rowtype
/C6"SQL goto mark"
** <<
--------------------------------------------------------
这块文件的第一行开头是:/L9"SQL"
表示这是我的ultraedit里的第九种语言,如果你的是第15种,那就写/L15,当然,好象最多支持20种。这段内容,我是根据标准SQL来定义的,同时也加入了 oracle 8iPL/SQL的内容。如果你是为SQL SERVER写代码,那就要适当修改一些内容。