您的位置:首页 > 产品设计 > UI/UE

【技巧】UE使用技巧

2011-12-01 16:56 405 查看
【技巧】UE使用技巧
http://apps.hi.baidu.com/share/detail/19104299
UltraEdit 是每天必用的工具之一.但想想看,实际使用到的功能只是这个工具强大功能的极小的一部分.灵活使用这个工具有的时候能起到事半功倍的效果.记录并收集一些小技巧对自己对别人都有帮助.因为我在使用"列编辑"这样的编辑方式还令我的一个同事看到之后很惊讶,之前他从来不知道有这个用法.这也是写这个备忘文档的目的。

Tip 1: 如何去掉所编辑文本中包含特定字符串的行? 

这则技巧是在UltraEdit的帮助文件里提到.CTRL+R 调出来替换(Replace)窗口,选中"使用正则表达式";然后用查找 %*你的字符串*^p 替换成空内容即可.如,我当前有个文本文件,需要去掉所有包含http://www.dbanotes.net/ 这个字符串的行,查找%*http://www.dbanotes.net/*^p 替换成空即可.注意,^p 是 DOS 文件类型的换行符.如果是 Unix 类型文件,则用 ^n.

Tip 2: 如何在行末添加特定字符,比如逗号?

有了上面的经验(其实我第一次是从同事那里学到的),CTRL+R 调出来替换(Replace)窗口,选中"使用正则表达式".然后可以查找 ^p(或者^n,如果是Unix 文件),用 ,^p(或者,^n)进行"全部替换"即可.补充一点,如果是 MAC(Apple) 类型文件,则换行符号为 ^r .

Tip 3: 如何删除空行?

参考上面两个例子,查找 ^p$ 然后替换为空即可.

Tip 4: 编辑文件如何加入时间戳 ?

F7 快捷键即可.你试试看?

Tip 5: 为何 拷贝(Copy)/粘贴(Paste)功能不能用了?

不怕大家笑话,我有几次使用 UltraEdit 的过程中发现拷贝与粘贴的内容是不匹配的.不知所以然,干脆重新启动了笔记本.今天翻看手册才恍然大悟:UltraEdit有10个剪切板 (clipboard),分别用Ctrl+0 - Ctrl+9 切换. Ctrl+0 是 Windows 的,其他则为用户自定义的.我在使用的过程中错调用了 CTRL+n, 结果内容就有问题了.你遇到过没?

Tip 6: 即使是打开小文件也有迟延?

这是我遇到过的问题.每次打开文件的时候总有几秒钟的耽搁.我的机器性能可不算差.怎么回事? 网络打印机搞得鬼!

打开"高级"->"设置"->"编辑器"->"高级",看看是不是选中了"载入/恢复打印机设置"?如果是的话,去掉(不同的版本/汉化与否可能该位置所在有差别).

Tip 7:打开*.ec,*.hea文件时代码自动高亮度显示。

菜单路径:Advanced-Configuration-Syntax Highlighting页下部,选择“Open”按钮打开文件C:\Program Files\UltraEdit\wordfile.txt,修改该文件第一行,在后边的”File Extensions = C CPP CC CXX H HPP AWK”后加上”EC HEA”保存即可。

Tip 8: 把常用的菜单功能做成快捷按钮放在面板上。

菜单路径:Advanced-Configuration-Toolbar,选中左边喜欢的功能菜单,选中右边的位置,点击Insert即可。比如”Dos to Unix”用于把dos下的回车键去掉,“Compare files”用来比对文件,”Display Ruler”,”Display Line Numbers”,最让人惊喜的居然还有一个”ASCII table”的功能,不用每次查ASCII码的时候都去翻箱倒柜了,呵呵。不过可显示字符的ASCII值可以通过直接查看16进制模式看到,不用这么麻烦。

Tip 9: 列模式(快捷键:Alt+C)

当你需要批量修改数据或者造数据的时候,这个功能显示了强大威力。试试打开一个文件,按下Alt+C,Ctrl+A,开始写字,你会发现文件中所有的行都在执行相同的动作,一排相同的数据就出现了。动动脑筋你会发现各种奇妙的用法。

Tip 10: 做行标记

移到需要标记的行按下Ctrl+F2,标记好了;走到文件的任意其他行,按F2,回到标记处。可以做多个标记,这时F2在各个标记中循环走动。F2:Next Bookmark,Alt+F2:Previous Bookmark。

Tip 11: 列标志

写后台程序的时候不希望一行写的太长,一般要小于80个字节,但即使显示了标尺也看不大清楚屏幕中下部的行是否已经到了80字节,除非看下部状态条的列号。这时这个东西就起作用了。菜单路径:View-Set Column Markers,可以设置两个列标志,我们先设第一个,在第一个编辑框中填入80,再选择View-Show Column Marker 1,看到了?第80字节的地方出现了一条竖线。

Tip 12: 注释

有时调试程序时需要把连续的多行用“//”注释,然后还要放开注释,一行一行写太土了吧,有现成的东西用。选定要注释的行,Edit-Comment

Add增加注释,Edit-Comment Remove。

Tip 13:编辑

选定整个单词当然可以用鼠标双击,用键盘Ctrl+J。删除整行Ctrl+E,删除到行首Ctrl+F11,删除到行尾Ctrl+F12。

Tip 14:别让它老问你是否把unix文件转换尾dos文件

到了9.0版本打开unix文件的时候它总是会问是否转换为dos文件,实在很烦。不过可以屏蔽,Advanced-Configuration-General,把右中部的Auto Convert Unix Files点上就好了。

Tip 15:

打开文件内容中的文件 如果文件的内容里面有 "c:\test.txt" 或者"http://www.test.com/js/test.js"

这样的内容你可以把鼠标定位到上面,点右键。弹出的菜单最上边会多个选项 "c:\test.txt" 或者"http://www.test.com/.../test.js"

点击它,打开相应文件。

ctrl+b 写程序的时候,括号一般要一一对应的,但是如果嵌套太多,看花眼了,怎么办?你把光标放在括号开始的地方,按ctrl+b,UE 会帮你找到相对应的括号结尾的地方。你还可以试试连着多按几次ctrl+b。 [Stick Out Tongue]

F3

默认情况下,当你按F3的时候UE可以查找现在选中的内容,F3是下一个符合的内容,ctrl+f3是上一个符合的内容.(请查 看advanced/configuration/Find标签)

ctrl+f2

程序会有很多行你当然可以记得你要到的行数,然后用ctrl+g,然后输入行号,到所在的行。但是用ctrl+f2我觉得更方便。比如说你要频繁在多个function中切换。可以在function开始的地方,按一下ctrl+f2,给这一行加一个书签。然后再另外的function开始的地方,也来一下ctrl+f2,有书签的地方,字的背景色会不同。当你想换到下一个书签的时候,就按f2,但是想到上一个标签怎么办?ctrl+f2?不对,嘿嘿,

再按就是加书签或者取消当前行的书签了。应该是alt +f2.

简单的用正则表达式的查找替换

有时候会有一些简单文本处理的工作。比如你手头有一个文本,需要给所有行后边添加一个";"。用查找替换来完成ctrl +r,查找 '^p' 替换为'^p;',(记得选中regular Expressions,这样才能用正则表达式的功能。)然后你可以选replace all(alt+a),或者点开始,一个一个的查找,替换,这样的好处是知道都替换了那些,有些时候你可能不想全部替换

把类似'{$abc}'替换为'var abc=abc;',abc有可能是其他字符ctrl+r,查找 '{^$^(*^)}' 替换为'var ^1=^1;'(记得选中regular Expressions,这样才能用正则表达式的功能。)然后你可以选replace all(alt+a),或者点开始,一个一个的查找,替换。

自定义快捷键

UE很多功能都有快捷键,但不是所有的都有。11.00有一个Text2html的功能。我工作中遇到了要对大量代码进行这种操 作的情况。我就想自己定一个快捷键。

advanced/configuration/key mapping

在commands 里面找到你要用的command.我这里是HTMLConvertSpecialChars,然后点Pres s new key下面的输入框,设置一个自己觉得爽,不冲突的快捷键。比如ctrl+alt+s.然后点ok.这样用常用的功能,可以成倍 提高效率。

计算选中区域数字的和

比如如下文本

2

23a1

4 1.1

5

6

先选中,然后Column/(sum column/Selection),UE会以空格,字母分割数字,告诉你一个总数

UE的列编辑功能

首先要alt+c,进入列编辑模式。进入后,你可以用鼠标选择一个方形的区域。删除,复制全看你喜欢了。

如果你想在每一行第二个字符开始加入一个'test',在列编辑模式下,定位光标到第一行,第二列。

Column/(Insert/Fill column)

,你还可以用这个功能插入行数。在列编辑状态下的复制粘贴都很有意思,某些情况下可以取得意想不到的效果。

UE的比较

UE内置一个比较功能,可以帮你比较2个文件的不同

file/compare files...

如果你打开了2个要比较的文件,UE会把这2个文件自动填入2个要比较的文件位置,不然,你要用browse功能去找到那2个文件,设置一下text还是bin,是否要ignore一些你不关心的东西。然后点击compare就到比较界面。你可以设置只显示不同或者相同或者都显示。日常的应用是可以了。(有点像BC,不知道谁抄谁的 )

加入当前时间

有时候写代码要注释,比如那天改的,按一下F7试试。

打开的文件中切换

如果打开多个文件,要在多个文件中切换,用鼠标点,麻烦,试一下ctrl+tab。好多多窗口的软件都支持这个功能。

恢复到上次存盘状态

一个文件改动多了,想undo到最初状态,file/revert to saved.

文件备份,重命名

一个文件要备份,你如果选save as了,那当前打开的就是你save as之后的文件了。

用fle/(make copy/backup),你还可以直接重命名当前编辑的文件 file/Rename file

UE的project功能

11.00以后有了一个自动打开上次关闭时打开着的文件这个功能了,以前好像没有。这就可以用到Project功能。其实就是定 义一组相关的文件。project/(new project/workspace)               UE会要求你存一个*.prj的文件。下次你可以打开UE的时候,project/(o pen project/workspace),继续上次的那个project的session工作。也可以file/(recent project/workspace)

UE的function列表功能

打开一个程序文件,比如*.js,确保view/view as(*)/Javascript。选择view/(view/lists)/function list.也可以用F8

大块代码缩进的调整

选中要调整的代码块 按tab,进行缩进,你再按一下shift+tab。效果咋样?

UE的右键功能

1)去处行末的空格

选中要去空格的区域。点右键/format/menu../trim trailing spaces

2)删除整行

定位光标要删除的行。点右键/delete/delete line,(也可以用ctrl+e)

3)给代码加注释

首先要确定选中了正确的语法加亮显示 view/view as(*)/Javascript 然后选中要注释的部分

点右键/delete/comment add 或者comment remove

4)格式化代码

首先要确定选中了正确的语法加亮显示 view/view as(*)/Javascript

然后选中要格式化的部分,就是让代码的缩进好看点,点右键/format menu/reIndent selection

不过,如果你的代码是一行,没有按照句子分号。好像没啥效果。

5)复制当前编辑文件的路径如果你要把当前文件作其他处理,需要这个文件的路径,这个

功能可以不用再去敲路径点右键 copy file path/name

6)复制当前编辑文件的路径::点右键copy file path/name

7)打开文件内容中的文件: 如果文件的内容里面有"c:test.txt" 或者"http://www.test.com/js/test.js"

这样的内容。你可以把鼠标定位到上面,点右键。弹出的菜单最上边会多个选项

"c:test.txt" 或者"http://www.test.com/.../test.js",点击它,打开相应文件。

调整,添加语法高亮显示

advanced/configuration/syntax Highlighting 点击下边的full path name for word list后边的open

打开的文件如:d:Program FilesUltraEditWORDFILE.TXT,就是UE语法高亮显示的配置文件

/L1"C/C++" 就是第一种语言,/L2就是第二种。目前这些word files 可以从下面连接下载到
http://www.ultraedit.com/index.php?...id=40#wordfiles
用的时候,下载相应的word file,复制出来,粘贴到d:Program Files\UltraEdit\WORDFILE.TXT,注意修改刚开始的/L1和你现有系统匹配。好像对xml.xsl的显示不是很好,不够准确

运行dos命令,直接得到结果

F9,会跳出来一个窗口,让你输入命令和工作目录。比如 dir c: 会列出来c盘的目录。如果你要给朋友发目录列表,除了从dos窗口复制过来,还可以用这个简单的方法。加上一下简单的列编辑。结 果就更好看了。

内置的ascii table

view/ascii table

有时候需要知道某个字母的ascii值,从这里就能查出来

!是33

A是65

。。。

内置的多个剪贴板 你点右键可以看到

clipboards,里面内置了10个剪贴板。按说windows的copy只能复制一个内容。如果你要复制多个内容,跟据不 同的情况进行粘贴,这10个剪贴板,应该够你用了。ctrl+0-9的数字键,是在剪贴板之间切换。比如 ctrl+1,然后copy了内容"a";ctrl+2,然后copy了内容"b" 你如果想paste a,就要先按1下ctrl+1再ctrl+v,要paste

b,就按一下ctrl+2再 ctrl+v。我有时候不小心更换了剪贴板,就奇怪从别的地方复制的东西粘贴不过来。这种情况要注意。

UltraEdit 正则表达式手册

http://www.niwota.com/submsg/1966636

UltraEdit 允许在搜索菜单下面列出了的许多搜索和替换功能中使用正则表达式。正则表达式能让更多的复杂的搜索和替换功能变成简单的操作。(中文版界面上显示为“正规表达式”)

有两个可使用的语法集合。下面的第一表显示出在 UltraEdit 的更早的版本被使用的原来的 UltraEdit 句法。第二表给出了可选的"Unix"类型的正则表达式。这可以从配置单元启用。

符号 功能

% 匹配行的开始 - 显示搜索字符串必须在行的开始,但是在所选择的结果字符串中不包括任何行终止字符。

$ 匹配行尾 - 显示搜索字符串必须在行尾,但是在所选择的结果字符串中不包括任何行终止字符。

? 除了换行符以外匹配任何单个的字符

* 除了换行符匹配任何数量的字符和数字

+ 前一字符匹配一个或多个,但至少要出现一个

++ 前一字符匹配零个或多个,但至少要出现一个

^b 匹配一个分页

^p 匹配一个换行符(CR/LF)(段)(DOS文件)

^r 匹配一个换行符(CR 仅仅)(段)(MAC 文件)

^n 匹配一个换行符 ( LF 仅仅 )( 段 )( UNIX 文件 )

^t 匹配一个标签字符TAB

[] 匹配任何单个的字符,或在方括号中的范围

^{A^}^{ B^} 匹配表达式A或 B

^ 重载其后的正规表达式字符

^(^) 括或标注为用于替换命令的表达式。

一个正则表达式最多可以有9个标注表达式, 按正规表达式的需要而定。

相应的替换表达式是 ^x , 替换范围x是1-9。例如:

If ^(h*o^) ^(f*s^) matches "hello folks",

^2 ^1 would replace it with "folks hello".

(hello folks 将被替换成 folks hello。)

注: ^ 是实际字符 ^不是Ctl + 键值。

例如:

m?n 匹配 "man","men","min" 但不匹配 "moon".

t*t 匹配 "test","tonight" 和 "tea time" (the "tea t" portion) 但不匹配 "tea

time" (newline between "tea " and "time").

Te+st 匹配 "test","teest"," teeeest "等等。但是不匹配 "tst"。

[aeiou] 匹配每个小写元音。

[,.?] 匹配一文字的 ",","."或 "?"。

[0-9, a-z] 匹配任何数位,或小写字母。

[~0-9] 除了数字以外匹配任何字符 (~ 意味着"不")

你按如下方式可以查找一个表达式A或 B :

"^{John^}^{Tom^}"

这将在找John或Tom的出现。应该在 2 个表达式之间没有任何东西。

你可以在同一搜索中按如下方式组合A or B and C or D:

"^{John^}^{Tom^}^{Smith^}^{Jones^}"

这将在John or Tom 后面找 Smith or Jones。

下表为"Unix"句法类型的正则表达式。

正则表达式 (Unix句法):

符号 功能

标记下一个字符作为一个特殊的字符。

"n" 匹配字符"n"。"n" 一个换行符或换行符字符。

^ 匹配/定位行的开始。

$ 匹配/定位行的尾。

* 匹配前面的字符零次或多次。例

+ 匹配前面的字符一次或多次。例

. 匹配除了一个换行符字符匹配任何单个的字符。

(expression)标注用于替换命令的表达式。一个正则表达式根据需要,最多可以有9个标注表达式。相应的代替表达式是 x , x的范围是 1-9 。

例如:

If (h.*o) (f.*s) matches "hello folks",

2 1 would replace it with "folks hello".

(hello folks 将被替换成 folks hello。)

[xyz] 一个字符集。匹配在方括号之间的任何字符。

[^xyz] 一个否定的字符集。不匹配在方括号之间的任何字符。

d 匹配一个数字字符。等价于[0-9]。

D 匹配一个非数字字符。等价于[^0-9]。

f 匹配一个换页字符。

n 匹配一个换行字符。

r 匹配一个回车符字符。

s 匹配任何空白的空格, 标签, 换页, 包括空格等等,但不匹配换行符。

S 匹配任何非空白的字符,但不匹配换行符。

t 匹配一个标签TAB字符。

v 匹配一个垂直的标签字符。

w 匹配任何词语字符包括下划线。

W 匹配任何非词语字符字符。

注: ^ 是实际字符 ^不是Ctl + 键值。

例如:

m.n 匹配 "man","men","min" 但不匹配 "moon".

t+t 匹配 "test","tonight" 和 "tea time" (the "tea t" portion) 但不匹配 "tea

time" (newline between "tea " and "time").

Te*st 匹配 "test","teest"," teeeest "等等。但是不匹配 "tst"。

[aeiou] 匹配每个小写元音。

[,.?] 匹配一文字的 ",","."或 "?"。

[0-9,a-z] 匹配任何数位,或小写字母。

[^0-9] 除了数字以外匹配任何字符 (~ 意味着"不")

你按如下方式可以查找一个表达式A或 B :

"(John)|(Tom)"

这将在找John或Tom的出现。应该在 2 个表达式之间没有任何东西。

你可以在同一搜索中按如下方式组合A or B and C or D:

"(John|Tom) (Smith|Jones)"

这将在John or Tom 后面找 Smith or Jones。

另外:

p 匹配 CR/LF ( 作为 rn 的一样 ) 作为DOS行结束符匹配

如果查找/替换功能中正则表达式没有选用,则替换字段中下列字符也是有效的:

符号 功能

^^ 匹配一个 "^" 字符

^s 替换为被选择 ( 加亮 ) 活跃的文件窗口的文章。

^c 替换为剪贴板的内容

^b 匹配一个页裂缝

^p 匹配一个换行符 ( CR/LF )( 段 )( DOS 文件)

^r 匹配一个换行符 ( CR 仅仅 )( 段 )( MAC 文件)

^n 匹配一个换行符 ( LF 仅仅 )( 段 )( UNIX 文件)

^t 匹配一个标签TAB字符
Regular Expressions

UltraEdit allows for Regular Expressions in many of its search and

replace functions listed under the Search Menu.

Regular expressions allow more complex search and replace functions

to be performed in a single operation.

There are two possible sets of syntax that may be used. The first

table below shows the original UltraEdit syntax used in earlier

versions of UltraEdit. The second table shows the optional "Unix"

style regular expressions. This may be enabled from the

Configuration Section.

Regular Expressions (UltraEdit Syntax):

Symbol

Function

%

Matches the start of line - Indicates the search string must be at

the beginning of a line but does not include any line terminator

characters in the resulting string selected.

$

Matches the end of line - Indicates the search string must be at the

end of line but does not include any line terminator characters in

the resulting string selected.

?

Matches any single character except newline.

*

Matches any number of occurrences of any character except newline.

+

Matches one or more of the preceding character/expression. At least

one occurrence of the character must be found. Does not match

repeated newlines.

++

Matches the preceding character/expression zero or more times. Does

not match repeated newlines.

^b

Matches a page break.

^p

Matches a newline (CR/LF) (paragraph) (DOS Files)

^r

Matches a newline (CR Only) (paragraph) (MAC Files)

^n

Matches a newline (LF Only) (paragraph) (UNIX Files)

^t

Matches a tab character

[ ]

Matches any single character or range in the brackets

^{A^}^{B^}

Matches expression A OR B

^

Overrides the following regular expression character

^(區)

Brackets or tags an expression to use in the replace command. A

regular expression may have up to 9 tagged expressions, numbered

according to their order in the regular expression.

The corresponding replacement expression is ^x, for x in the range

1-9. Example: If ^(h*o^) ^(f*s^) matches "hello folks", ^2 ^1 would

replace it with "folks hello".

Note - ^ refers to the character '^' NOT Control Key + value.

Examples:

m?n matches "man", "men", "min" but not "moon".

t*t matches "test", "tonight" and "tea time" (the "tea t" portion)

but not "tea

time" (newline between "tea " and "time").

Te+st matches "test", "teest", "teeeest" etc. but does not match

"tst".

[aeiou] matches every lowercase vowel

[,.?] matches a literal ",", "." or "?".

[0-9a-z] matches any digit, or lowercase letter

[~0-9] matches any character except a digit (~ means NOT the

following)

You may search for an expression A or B as follows:

"^{John^}^{Tom^}?/SPAN>

This will search for an occurrence of John or Tom. There should be

nothing between the two expressions.

You may combine A or B and C or D in the same search as follows:

"^{John^}^{Tom^} ^{Smith^}^{Jones^}"

This will search for John or Tom followed by Smith or Jones.

The table below shows the syntax for the "Unix" style regular

expressions.

Regular Expressions (Unix Syntax):

Symbol

Function

\

Indicates the next character has a special meaning. "n" on it抯 own

matches the character "n". "\n" matches a linefeed or newline

character. See examples below (\d, \f, \n etc).

^

Matches/anchors the beginning of line.

$

Matches/anchors the end of line.

*

Matches the preceding character zero or more times.

+

Matches the preceding character one or more times. Does not match

repeated newlines.

.

Matches any single character except a newline character. Does not

match repeated newlines.

(expression)

Brackets or tags an expression to use in the replace command.A

regular expression may have up to 9 tagged expressions, numbered

according to their order in the regular expression.

The corresponding replacement expression is \x, for x in the range

1-9. Example: If (h.*o) (f.*s) matches "hello folks", \2 \1 would

replace it with "folks hello".

[xyz]

A character set. Matches any characters between brackets.

[^xyz]

A negative character set. Matches any characters NOT between

brackets.

\d

Matches a digit character. Equivalent to [0-9].

\D

Matches a nondigit character. Equivalent to [^0-9].

\f

Matches a form-feed character.

\n

Matches a linefeed character.

\r

Matches a carriage return character.

\s

Matches any whitespace including space, tab, form-feed, etc but not

newline.

\S

Matches any non-whitespace character but not newline.

\t

Matches a tab character.

\v

Matches a vertical tab character.

\w

Matches any word character including underscore.

\W

Matches any nonword character.

\p

Matches CR/LF (same as \r\n) to match a DOS line terminator

Note - ^ refers to the character '^' NOT Control Key + value.

Examples:

m.n matches "man", "men", "min" but not "moon".

Te+st matches "test", "teest", "teeeest" etc. BUT NOT "tst".

Te*st matches "test", "teest", "teeeest" etc. AND "tst".

[aeiou] matches every lowercase vowel

[,.?] matches a literal ",", "." or "?".

[0-9a-z] matches any digit, or lowercase letter

[^0-9] matches any character except a digit (^ means NOT the

following)

You may search for an expression A or B as follows:

"(John|Tom)"

This will search for an occurrence of John or Tom. There should be

nothing between the two expressions.

You may combine A or B and C or D in the same search as follows:

"(John|Tom) (Smith|Jones)"

This will search for John or Tom followed by Smith or Jones.

If Regular Expression is not selected for the find/replace and in the

Replace field the following special characters are also valid:

Symbol

Function

^^

Matches a "^" character

^s

Is substituted with the selected (highlighted) text of the active

file window.

^c

Is substituted with the contents of the clipboard.

^b

Matches a page break

^p

Matches a newline (CR/LF) (paragraph) (DOS Files)

^r

Matches a newline (CR Only) (paragraph) (MAC Files)

^n

Matches a newline (LF Only) (paragraph) (UNIX Files)

^t

Matches a tab character

Note - ^ refers to the character '^' NOT Control Key + value.

UltraEdit 实现函数跳转和返回 (原创)

定位:advanced/configuration/Key Mapping, 在Commands 列表中找 SearchFindSymbol(函数跳转)/SearchGoBack(返回到上一个跳转处), 加上自己熟悉的快捷键。呵呵!和VI一样,可以自由的飞梭在源代码中了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: