SlickEdit

一,SlickEdit概要

SlickEdit 是建立Eclipse基础上的一个在分布式和大型主机环境下编写、分析、调试和维护程序代码的开发工具。

SlickEdit 提供跨平台(Windows/Linux/UNIX)跨语言(Ada,C, C++,C#,CFScript,DB2,dBASE,Delphi/Pascal,HTML,JSP,ASP,PHP,Java, JavaScript,Perl,PL/SQL,Python,REXX,Transact SQL,VBScript,VHDL, x86 Assembly,XML,DTD,High Level Assembler,CICS,COBOL,JCL,PL/I等30多种)的统一的代码编写、分析和维护平台,提供了统一的图形界面,利于提高编程效率。

三个主要特点:SE的重心在于Code Edit。

1,可定制:configurable,键盘可灵活绑定,有数百的定制选项,可以模拟为VI、CodeWright和Emacs

2,可扩展:extensible,内嵌命令行环境,可以和各种源代码控制软件集成

3,可编程:programmable,支持宏语言,可通过录制和载入宏增强功能

二,定制:configure

1,键盘模式和按键绑定:

2,宏变量:命令gui-set-var (Macro | Set Macro Variable,命令set-var)

3,常用设定:

4,外观:Appearance

Maximize First Window:Tools ➪ Options ➪ General

Draw Box around Current Line:Tools ➪ Options ➪ General

Vertical Line Column

Show Top of File Line

Left Margin Size

Special Characters,view-specialchars-toggle (View ➪ Special Characters).

5,字体:Tools ➪ Options ➪ Fonts)Backspace, Delete, and Enter

6,行动作:Line Behavior

Line Wrapping and White Space

remove trailing spaces from a line using removetrailing-spaces (Edit ➪ Other ➪ Remove Trailing Whitespace).

However, if you turn on “Strip trailing spaces” in the Save tab of the File Options dialog (Tools ➪ Options ➪ File Options)

usually necessary.

7,设置管理:恢复到默认设置;在不同的设置下工作

设置文件所在目录:

Set the environment variable VSLICKCONFIG to point to your configuration directory.

Use the –sc option when invoking SlickEdit to specify the configuration directory.

Working with a Different Configuration

8,窗口设置:

一文件一缓存开关:“One file per window” (Tools ➪ Options ➪ General).

切分窗口:Split Windows,此时最后关闭一文件一缓存开关

水平切分窗口:hsplit-window Ctrl+H (Window ➪ Split Horizontally)

垂直切分窗口:vsplit-window (Window ➪ Split Vertically)

恢复原单窗口:one-window (Window ➪ One Window)

全屏:fullscreen command (View ➪ Full screen),可以重大程度上放大编辑框,方便查看尽多的代码。

工具栏:Toolbars。默认的“Standard”工具栏和”Current Context”工具栏都可以关闭。因为其上的功能经常被调用,所以使用鼠标会浪费时间。应该使用该功能对应的快捷键。尽量少用工具栏是快速编码的原则。所以一些不经常用的如debugger工具栏倒是可以打开以便使用。工具栏的大小等设置修改于View ➪ Toolbars ➪ Customize

工具窗口设置:Activating Tool Windows with the Keyboard

Command Key Tool Window

activate-bookmarks Alt+T, K Bookmarks

activate-build Alt+T, B Build

activate-call-stack Alt+T, A Slick-C Call Stack

activate-tbclass Alt+T, C Class

activate-defs Alt+T, D Defs

activate-deltasave Alt+T, H Backup History

activate-files-files Alt+T, L Files: Open Files tab

activate-files-project Alt+T, P Files: Project Files tab

activate-files-workspace Alt+T, W Files: Workspace Files tab

activate-find-symbol Alt+T, F Find Symbol

activate-ftp Alt+T, T FTP

activate-open Alt+T, O Open

activate-output Alt+T, U Output

activate-preview Alt+T, V Preview

activate-projects Alt+T, J Projects

activate-references Alt+T, R References

activate-regex-evaluator Alt+T, X Regular

Tool Window Animation:工具栏动画效果, (View ➪ Toolbars ➪Customize),建议关闭

Restoring the Defaults:还原到默认, tbResetAll命令

三,使用SlickEdit

1,工作空间:workspace。工作空间和工程是其他功能如标签、导航等的前提。

一般提倡一个workspace对应本机一个根目录,而其中的project各自对应根目录下的一个子目录(但实际SE对目录与文件位置高度灵活无限制)。

2,工程:project。

创建工程:要注意建立正确的工程类型(如Generic C/C++ 或 GNU C/C++),因为建立后就无法更改了。

project_name.vpw — the workspace definition.包括的工程信息,全局变量等;进入版本控制

project_name.vpj — the project definition.包括的文件信息,针对该工程的开发环境设置信息;进入版本控制

project_name.vtg — the tag file.相当于原文件的应用标签,非真实源码,不进入版本控制

project_name.vpwhist — the workspace state.包括上次打开的文件缓存信息,文件历史记录等针对开发者的信息,不进入版本控制

更改粗体强调的活动工程(Active Project):于其上右击 或 Project ➪ Set Active Project.

SE无法直接创建但可以编辑Microsoft Visual Studio工程文件和解决方案文件,可以先在VS中创建该文件,并对VS的Building选项做一些设置。

有用但未被编辑的文件最好不放入project,而是给相应库(library)打标签(tag), 然后把标签文件加入开发环境。因为SE会对Workspace(非Project)下每个文件打标签(tag)并创建.vtg标签文件。

为定制个性化的开发工作流程,可以添加工具如单元测试工具等到工程。

可以自定义工程类型,通过 InitMacro 方法可以对自定义工程进行编程增强功能。

When you add files to a project, you have three choices:

Add files.

Add tree.

Add wildcard.

3,标签:tag。这是SE最重要的功能之一,对于静态类型语言来说,标签尤其有利于浏览、导航和高效编辑代码。

(1),建立标签库:

根据类型与更新频率把需要建立标签库的文件分为以下:

A,工作空间里的某个工程的所有源码文件:更新频繁,所以尽量都存放在本机目录下以便SE扫描更新。注意不要把不同版本的源码建立同一个标签库造成符号重复定义;

B,编程语言或编译器的标准库:很少更新,SE首次安装时,会自动配置建立C/C++,Java,.NET等标签库。

C,在本机开发环境下全局使用的附加库:

D,专用于一个工程的附加库:

标签文件的分类:

A,工作空间标签文件:Workspace Tag File。指当前工作空间内针对工程可用的标签库。只有一个。因为它时刻被SE扫描更动状况,所以不适合放入只读文件等很少更改的文件,否则浪费系统资源。

B,自动更新标签文件:Auto-Updated Tag Files。是针对当前工作空间内的工程文件可用的全局的自动更新标签库(Auto-Updated Tag Databases),常为本公司自制的用于多个工程的公共库文件。该公共库很少更动,且统一更新,所以不需要把其源码加入工作空间被SE时刻扫描而浪费系统资源。该标签库可供开发团队共享,也可用于同时处理多个不同工程的个人。也可在各个工作空间内配置使用同一个公用运行时(runtime)库的不同版本(把编译器标签文件转化为自动更新标签文件即可)。这样可以减少使用公共库的配置工作。

C,编译器标签文件:The Compiler Configuration Tag Files.包括相应编译器运行时(runtime)库的标签库。

D,语言标签文件:The language Tag Files: 包含相应语言的标准库与公用库的公用标签库(Global Tag Databases)。通常位于该语言的SE配置目录中。一般很少更动,如果SE侦测到标签库文件被更改则会自动重建标签库,如果SE没打开则需要手动重建(一般发生于库文件的升级):

手动重建标签库的步骤:第一次建立自动更新标签库时要使用通配符(Add Wildcard)来添加文件, 而不用目录树来添加(Add Tree), 这样再一次建立更新的标签库时,新增加的文件才会被自动添加到该工作空间的标签库中。 然后可以在不打开SE的情况下使用vsmktags.exe的 vsmktags workspaces 命令来扫描该工作空间的所有源文件并重建标签库。

对于动态脚本语言如Perl, Python, Ruby等,系统会自动建立标签库,附加的安装库一般单独放在公用库目录树下(一般在网站根目录的子目录下),以便管理

(2),标签库成员列表自动完成功能:

在对象名称后,按点号键或向右键默认可以调用自动完成功能,且随时可用list-symbols命令(Alt+dot)调用成员列表自动完成功能,随时可用functionargument-help command (Alt+comma)调用参数的成员列表自动完成功能。按 Shift+Up/Down可以向上/向下查看自动完成列表。Enter键可选定,Escape键可取消。当你在列表中移动时,列表右侧自动显示一个绿色箭头和该列表对象的对应的类或方法的语法格式提示。可以点击绿箭头以调用push-tag命令以进入该方法的定义。如果提示文字一行放不下,则会出现两个蓝色三角形以分行浏览文字。如果该对象有一个注释,则会在语法格式提示下方显示注释。如果注释是JavaDoc格式的,则会被完整显示,可以按Shift+PgUp/PgDn以向上/向下浏览注释。

自动完成中的成员列表功能可以自定义 (Tools ➪ Options ➪ File Extension Setup | Context Tagging | List members),参数的自动完成功能也可以自定义 (Tools ➪ Options ➪ File Extension Setup | Context Tagging | Parameter information)

(3),标签库符号(Symbols)导航功能:

预览工具窗口The Preview Tool Window :View | Toolbar | Preview

导航到定义(Definitions) :push-tag (Ctrl+dot) ,再次调用该命令则自动更换一个目标,导航目标可以设置 (Tools ➪Options ➪ File Extension Setup| Context Tagging tab | Select a tag)

导航到参考(References) :push-ref (Ctrl+slash),View | Toolbar | References,可以设置导航引用的显示方式 (Tools ➪ Options ➪ Tagging Options | Find references incrementally)

导航到插入书签”Pushed Bookmarks” :每次导航后会自动在原位生成一个插入书签。可通过pop-bookmark (Ctrl+comma)返回上一位置,可通过pop-all-bookmarks清空插入书签列表(可以用于关闭工作空间时清空所有插入书签的宏里面)。

(4),查找符号:Finding Symbols

查找符号工具窗口The Find Symbol Tool Window :activate-find-symbol (View | Toolbar | Find Symbol)

使用grep-tag命令行查找符号:grep-tag(可简写为gt)/pattern/options (E 区分大小写,I 不区分大小写,R SE正则式,U UNIX正则式,B Brief正则式,A 除了工作空间tag文件之外搜索所有tag文件,P 只搜索当前工程)

(5),浏览定义:Browsing Definitions

定义工具窗口The Defs Tool Window :activate-defs(View | Toolbar | Defs)

类工具窗口The Class Tool Window :activate-classes(View | Toolbar | Class)

符号工具窗口The Symbols Tool Window :activate-symbol(View | Toolbar | Symbols)

(6),管理标签文件(Tag Files) :gui-make-tags(Tools | Tag Files)

Tagging C/C++ Libraries :

Creating a Global Tag Database with Header Files

Converting a Global Tag Database to an Auto-Updated Tag Database

Creating a Separate Workspace for an Auto-Updated Tag Database

Creating a Tag Database Directly

SE命令行:make-tags -t C:\lib\wxWidgets-2.8.3\include\*.h -o wxWidgets-2.8.3.vtg

Cygwin格式(CMD格式去掉单引号,UNIX格式使用Unix路径)命令行:vs.exe +new -p make-tags -t ‘C:\lib\wxWidgets-2.8.3\include\*.h’ -o ‘C:\lib\wxWidgets-2.8.3\include\wxWidgets-2.8.3.vtg’ -c

Working with Different Compilers:gui-make-tags (Tools ➪ Tag Files | Auto-Tag).

refactor-options (Tools ➪ C++ Refactoring ➪ C/C++ Compiler)

autotag (Tools ➪ Tag Files | Auto-Tag)

Tagging Java Libraries :ZIP格式的Java库可以如同源码般建立标签库使用,而Jar格式的Java库可以建立标签库,但功能有一定限制(如原参数只显示为A,B;JavaDoc格式注释无效;无法导航到Jar中的符号定义等)。

Creating a Global Tag Database with JAR Files

Creating a Global Tag Database with Java Source Files

Creating a Separate Workspace for an Auto-Updated Tag Database

Creating a Tag Database Directly:make-tags -t src\*.java –o spring-framework-2.0.2.vtg

Adding JARs to the Workspace:把Jar文件加入自动更新标签库(而非全局标签如编译器进行时标签库),可以针对不同的工作空间使用不同版本的Jar文件,且可以用工作空间来区分开众多的jar文件。

Working with Different JDK Versions:把编译器标签文件转化为自动更新标签文件即可

Tagging .NET Runtime Libraries :

Creating a Global Tag Database with DLL Assemblies:DLL格式文件建立的标签库功能有一定限制

Creating a Global Tag Database with C# Source Files

The C/C++ Preprocessor:Tools ➪ Options ➪ Languages | Application Languages | C/C++ | C/C++ Preprocessing

(8),标签功能调试除错:

Troubleshooting Tagging

Go to Definition Doesn’t Work

Go to Reference

Auto-List Members

Auto-Parameter

Solution A: Define

Solution B: Add

Solution C: Configure

Solution D: Create

Solution E: Rebuild

(9),标签功能微调优化

A,标签性能微调设置:(Tools ➪ Options ➪ Editing | Context Tagging).

B,调整上限:Tools | Options | Editing | Context Tagging | Maximums 一般一个设计良好的类或结构中不会有超过1000个成员,但如不幸出现请上调选项”Maximum Class/Struct members shown in list”。

C,标签缓存大小Tag Cache Size:Tools | Options | Application Options | Virtual Memory | Tag File Cache Size(KB)。标签库默认占64M内存。如果机子有2G内存可把该值设置为256M-512M。应根据系统资源分配状况估计该值,如GNU/Linux kernel source (version 2.6.20)包括9,000个 .c f文件总570万行,和8,500个 .h 文件总 130万行,为它建立的标签库约占120 M空间。

D,查找参考(References):当有多个同名符号存在时,对应的 push-ref 和 参考工具窗口 References tool window 就会很复杂,需要设置以优化标签功能。Tools | Options | Editing | Context Tagging | References | Find references incrementally(faster)。逐步查找参考的开关打开的话,可以加快查找速度,但并不展开做默认会进行的进一步比配(自动排除一些无效结果)。

E,对于很复杂的代码:Tools | Options | Languages | Application Languages | C/C++/C#/Java…. | Context Tagging | Auto-list compatible values 和 Auto-list compatible parameters 这两个自动开关,如果代码很复杂时可以关闭,以提高SE速度。如果需要,可以通过命令行随时使用该功能。如果是C#的话,还可以关闭同一位置上的“Show Comments”这个开关以提速,因为这样可以不载入MS为.NET库准备的大量XML文档。

4,导航:navigation。

(1),查找与打开文件:

打开文件:gui-open command (File ➪ Open),如果想使用Linux样式的打开对话框,可设置 Tools | Options | Appearance | Advanced | Windows 3.1 Style Open (Fast Open Dialog) 为 True,或者设置宏变量 def_fast_open 为 1。

使用文件与目录的别名:可以给常用文件与目录取个别名,以方便调用。

使用edit命令 :edit (简写 e),如果在宏里使用edit命令那么可以有更多选项以实现打开导航编辑等功能。

使用工具窗口 Tool Windows:

项目工具窗口:Project tool window,可以全面浏览项目的所有文件与目录,但项目很大时,效率较低。

打开工具窗口:Open tool window,可以全面浏览相关磁盘文件与目录,但文件目录很多很复杂时,效率也低。

文件工具窗口:Files tool window,activate-files-project/workspace (Project | Open Files from Project / Workspace,View | Toolbars | Files ).无需浏览目录,直接敲入部分文件名任意部分或通配符*(一般不必)。文件工具窗口的唯一限制是只能打开工作空间或工程中的文件而非任意文件,但只要设置好了工作空间与工程,这就是最高效的打开文件方式

使用文件管理器: File Manager :

导航式打开文件:在C/C++中,把光标定位于#include命令行内,调用cursor-error (Alt+1)可以打开对应的.h头文件。同理,在其他语言的源码中,也可以把光标定位于文件名所在命令行,然后调用cursor-error (Alt+1)可以打开对应的同名文件

(2),导航移动

命令行 键位 说明

cursor-up Up arrow Move the cursor up.

cursor-down Down arrow Move the cursor down.

cursor-left Left arrow Move the cursor left.

cursor-right Right arrow Move the cursor right.

prev-word Alt+Left (WROX) 移动到上一单词(按源码语法意义分的词)的最开头处

next-word Alt+Right (WROX) 移动到下一单词(按源码语法意义分的词)的最尾巴处,Tools | Options | Editing | General | Next word style。也可以设置宏变量def_next_word_style,B为Begin,E为End。

wrox-prev-word Ctrl+Left (WROX) 移动到上一单词(按空格分的词)的最开头处

wrox-next-word Ctrl+Right (WROX) Mo移动到下一单词(按空格分的词)的最开头处

prev-tag Ctrl+Up Move to previous function or class definition.

next-tag Ctrl+Down Move to next function or class definition.

page-up PgUp Move up one page.

page-down PgDn Move down one page.

top-of-window Ctrl+PgUp Move the cursor to the top of the window.

bottom-of-window Ctrl+PgDn Move the cursor to the bottom of the window.

top-of-buffer Ctrl+Home Move the cursor to the top of the buffer.为固定列号可以设置Tools | Options | Editing | General | Preserve column on top/bottom为True。也可以设置宏变量def_top_bottom_style 为 1。如果设置了def_top_bottom_push_bookmark 为 1,则会在移动后自动插入书签。

bottom-of-buffer Ctrl+End Move the cursor to the bottom of the buffer

find-matching-paren Ctrl+] Move the cursor to the matching brace, parenthesis,etc.

goto-parent (none) Move to next higher-level block or definition.

在窗口中定位

Command Key Description

line-to-top Alt+PgUp (WROX) Reposition the window so that the current

line is at top.

line-to-bottom Alt+PgDn (WROX) Reposition the window so that the current

line is at bottom.

center-line Alt+Home (WROX) Reposition the window so that the current

line is in the middle.

scroll-up Shift+F1 (WROX) Scroll buffer up one line.

scroll-down Shift+F2 (WROX) Scroll buffer down one line.

scroll-left Shift+F3 (WROX) Scroll buffer left one character.

scroll-right Shift+F4 (WROX) Scroll buffer right one character.

导航到一行、一列或字节偏移(Byte Offset):seek(单位为字符)可以查看当前位置信息

Command Description

goto-line n Go to line n.

n Go to line n (shorthand form).

cursor-up n Go up n lines.

-n Go up n lines (shorthand form).

cursor-down n Go down n lines.

+n Go down n lines (shorthand form).

goto-col n Go to column n.

cursor-left n Go left n columns.

cursor-right n Go right n columns.

seek n Go to character n in file.

seek –n Go backward n characters.

seek +n Go forward n characters.

Navigating among Buffers:可以通过Windows菜单选择

Command Key Description

next-buffer Ctrl+N Move to the next buffer.激活窗口将紧跟排列在当前窗口后面

prev-buffer Ctrl+P Move to the previous buffer.

next-buff-tab (none) Move to the next buffer tab.

prev-buff-tab (none) Move to the previous buffer tab.

next-window Ctrl+Tab, Ctrl+F6 Move to the next window. Tools | Options | Editing | Editor Windows | Smart next window style | No window reordering(按窗口的创建倒序排列)/Reorder windows(激活窗口将紧跟排列在当前窗口后面)/Smart next window(默认的按最近使用顺序排列)

prev-window Ctrl+Shift+Tab, Ctrl+Shift+F6 Move to the previous window.

list-buffers Ctrl+Shift+B List the buffers so you can choose.,相当于activate-files-files(Alt+T, L in the WROX),或View | Toolbars | Files | View Open Files

(3),书签

一次性插入书签:Pushed Bookmarks

Command Key Description

push-bookmark Ctrl+semicolon (WROX) Push a bookmark explicitly.

push-tag Ctrl+dot Push a bookmark and go to definition.

push-ref Ctrl+slash Push a bookmark and go to reference.

pop-bookmark Ctrl+comma Pop last bookmark.

pop-all-bookmarks (none) Pop all bookmarks.

命名书签:Named Bookmarks

Command Menu or Key Description

set-bookmark Search ➪ Set bookmark Sets a named bookmark.

delete-bookmark (none) Deletes current or named bookmark.

goto-bookmark Search ➪ Go to bookmark Go to a named bookmark.

toggle-bookmark Search ➪ Toggle bookmark or

Ctrl+Shift+J

Toggle a named bookmark on the

current line.

activate-bookmarks Search ➪ Bookmarks or

Ctrl+Shift+N

Show the Bookmarks tool window.

next-bookmark Search ➪ Next bookmark Go to next named bookmark.

prev-bookmark Search ➪ Previous bookmark Go to previous named bookmark.

alt-bookmark Ctrl+Shift+number key

(WROX)

Set a quick bookmark.

alt-gtbookmark Ctrl+number key (WROX) Go to a quick bookmark.

clear-bookmarks (none) Clear named bookmarks.

书签设置:Tools | Options | Editing | Search | Bookmarks | Use workspace bookmarks(使用非全局而针对工作空间的书签)/Show set bookmarks(用绿箭头显示命名书签)/Show pushed bookmarks(用蓝箭头显示一次性插入书签)/Close deletes pushed bookmarks(关闭窗口时清空一次性插入书签)/Automatically close visited files(自动关闭访问过然后返回书签处的窗口)/Max stack depth(书签存储上限)

5,搜索与替换

(1),键盘搜索:

Command Menu or Key Description

quick-search Ctrl+F3 (WROX) Quick search for selection or word at

cursor.

quick-reverse-search Ctrl+Shift+F3 (WROX) Quick search backward for selection

or word at cursor.

i-search Ctrl+I Incremental search forward.

reverse-i-search Ctrl+Shift+I Incremental search backward.

gui-find Ctrl+F Show Find dialog.

find-in-files Ctrl+Shift+F Show Find in Files dialog.

gui-replace Ctrl+R Show Replace dialog.

replace-in-files Ctrl+Shift+R Show Replace in Files dialog.

find-next Ctrl+G Find next match.

find-prev Ctrl+Shift+G Find previous match.

停止导致系统迟滞的搜索:Ctrl+Alt+Shift

Quick Search:quick-search (WROX: Ctrl+F3),搜索关键词就是选中的文字或光标所在词。前进后退可用find-next (Ctrl+G) 和 find-prev (Ctrl+Shift+G)

Incremental Search:调用i-search (Ctrl+I)进入Exact I-Search,前进后退可用find-next (Ctrl+G) 和 find-prev (Ctrl+Shift+G),可用ESC或任一方向键停止。reverse-i-search使用同上

设置选项位于:Tools | Options | Editing | Search

Key Description

Ctrl+C Toggles case sensitivity. The key bound to the BRIEF emulation command

case_toggle will also toggle the case sensitivity.

Ctrl+M Toggles searching within mark.

Ctrl+O Toggles incremental search mode.

Ctrl+Q Quotes the next character typed.

Ctrl+R Searches in reverse for the next occurrence of the search string.

Ctrl+S Searches forward for the next occurrence of the search string.

Ctrl+T Toggles regular expression pattern matching on/off. The key bound to the

BRIEF emulation command re_toggle will also toggle regular expression

pattern matching.

Ctrl+W Toggles word searching on/off.

(2),使用查找替换工具窗口:The Find and Replace Tool Window :gui-find, find-in-files, gui-replace, and replace-in-files

Using Find :Color里的复选框有三个取值:选中(包括该项),不选中(不包括该项),非选中非不选中(该项不影响搜索)

Using Find in Files :搜索结果缓存中,不能调用命令行或Find工具窗口,但可以使用incremental search。 “+” 和 “–” 图标或者调用 plusminus (Ctrl+backslash) 可以展开或者折叠搜索结果。Search<0> … Search<n>(搜索结果覆盖之前旧搜索结果缓存0或1)/<New>(新建缓存)/<Auto Increment>(在旧的缓存中自动循环)

Using Replace and Replace in Files

(3),正则表达式:Regular Expressions :

UNIX 正则表达式 — 类似 UNIX 工具如 egrep.

SlickEdit 正则表达式 — 专为SE设计的有一定简化的

Brief 正则表达式 — 基于Brief 编辑器,在DOS年代曾流行。

匹配说明 UNIX SlickEdit Brief

行首 ^ ^ %<

行末 $ $ $>

除新行外任意字符 . ? ?

0个或更多个X X* X@ X\:@

一个或更多个X X+ X# X\:+

0个或1个X X? X:0,1 X\:0,1

正好n1个X. X{n1},X{n1}? X:n1 X\:n1,X\:n1?

至少n1个X X{n1,} X:n1, X\:n1

至少0个且不超过n2个X X{,n2} X:0,n2 X\:,n2

至少n1个且不超过n2个X X{n1,n2} X:n1,n2 X\:n1,n2

当表达式X匹配时搜索失败 (?!X) ~X

匹配X或Y X|Y X|Y X|Y

匹配子表达式X并指定一个新的表达式参数,一旦一个强制表达式参数值被指定,就不会再定义新参数 (X) {X} {X}

匹配指定字符集,可以使用(-)来指定范围 [charset] [charset] [charset]

匹配指定之外字符集,可以使用(-)来指定范围 [^charset] [~charset] [^charset] [~charset]

匹配0≤hh≤0xff的16进制字符 \xhh \xhh \xhh

匹配0≤nnn≤255的10进制字符 \dnnn \nnn \dnnn

定义一个表达式参数数值d的后向引用 \d \gd \d

如果寻找到一个匹配时指定鼠标位置 \c \c \c

匹配多行字符串中的一个新行(DOS的ASCII13,10或单单ASCII10,UNIX的ASCII10,Macintosh的ASCII13等) \n \n \n

匹配回车字符(ASCII13) \r \r \r

匹配tab字符 \t \t \t

打开多行搜索开关,匹配行末元字符或字符集,如\om.+匹配剩余缓存 \om \om \om

关闭多行搜索开关(默认),如.+等不再匹配多行,该用法比\om更安全更快 \ol \ol \ol

声明斜杠后字符为转义字符 \char \char \char

匹配预定义给char的表达式 \:char :char \:char

Character Description

A Matches an alphanumeric character.

B Matches blanks.

C Matches an alphabetic character.

D Matches a digit.

F Matches a filename part.

H Matches a hex number.

I Matches an integer.

N Matches a floating number.

P Matches a path.

Q Matches a quoted string.

V Matches a C variable.

W Matches a word.

正则表达式参数:Tagged Expressions

(4),命令行式搜索与替换。find/expr[/options](可简写为/expr[/options])

Command Description

find/expr[/options] Find command.

/expr[/options] Find command (shorthand form).

l/expr[/options] Find command (alternative shorthand form).

replace/exp1/exp2[/options] Replace command.

c/exp1/exp2[/options] Replace command (shorthand form).

all/expr[/options] Selective display — show matches.

allnot/expr[/options] Selective display — hide matches.

show-all Cancel selective display.

命令行参数

Option Description

E Exact case.

I Ignore case.

+ Forward search.

- Reverse search.

M Limit search to marked area.

< If found, place cursor at beginning of word.

If found, place cursor at end of word.

R Interpret search string as a SlickEdit regular expression.

U Interpret search string as a UNIX regular expression.

B Interpret string as a Brief regular expression.

& Interpret string as a wildcard regular expression.

@ No error message if string not found.

H Search through hidden lines.

# Highlight matched occurrences with highlight color.

N Do not interpret the string as a regular expression.

P Wrap to beginning/end when string not found.

W Limits search to whole words.

W:P Limits search to word prefix.

W:PS Limits search to strict word prefix.

W:S Limits search to word suffix.

W:SS Limits search to strict word suffix.

Y Binary search.

, Delimiter to separate ambiguous options.

Cletters Requires the first character of the match to be one of the color coding elements specified by letters.

Xletters Requires the first character of the match to be not one of the color coding elements specified by letters.

V Preserve case.

$ Highlight replaced text with modified line color.

Letter Color Coding Element

O Other

K Keyword

N Number

S String

C Comment

P Preprocessing

L Line number

1 Symbol 1

2 Symbol 2

3 Symbol 3

4 Symbol 4

F Function color

V No save line

(5),选择性显示:Selective Display ,如同内嵌grep

预定义选择性显示:

Command Menu Description

hide-all-comments View ➪ Hide All Comments Hides all comments.

hide-code-block View ➪ Hide Code Block Hides block containing cursor.

hide-selection View ➪ Hide Selection Hides lines containing selected text.

hide-dotnet-regions View ➪ Hide #region Blocks Hides .NET #region blocks.

show-procs View ➪ Function Headings Shows only function headings.

toggle-all-outlining (none) Toggles selective display of function bodies and comments.

plusminus View ➪ Expand/Collapse Block (Ctrl+backslash) Expand or collapse a hidden block.

copy-selective-display View ➪ Copy Visible Copies visible part of selection to clipboard.

show-all View ➪ Show All Cancels selective display.

hide-dotnet-regions原针对MS VS自动插入的区块头尾标记,在SE中其他语言也有同样标记可用:

Language Start Region End Region

C# #region #endregion

C++ #pragma region #pragma endregion

C++ #region #endregion

VB.NET #Region #End Region

自定义选择性显示:selective-display (View ➪ Selective Display) | Search text(可自定义s)/Function headers(旧版为definitions,可针对函数进行显示)/Preprocessor directives(针对编译器)/Multi-level(多层过滤)/Paragraphs(显示每段首行)

设置默认搜索选项:Tools | Options | Editing | Search | Initialize with default options(未选则按上次配置)/Leave selected(是 否结束搜索时选中匹配结果)

6,文本编辑

(1),基本编辑方式:

撤销与恢复(重做):Undo and Redo

命令

按键

说明

undo

Ctrl+Z; Alt+Backspace

撤销上次更改或光标移动

undo-cursor

Shift+F9; Shift+Backspace

撤销所有光标移动到上次更改

redo

Ctrl+Y

恢复上次更改

把宏变量def_undo_with_cursor 设置为 1,则每次光标移动也计入undo序列

行编辑命令:Line Commands

Command Key Description

cut-end-line Ctrl+E Delete from cursor to end of line.

cut-line Ctrl+Backspace Delete current line.

duplicate-line WROX: Alt+quote Duplicate current line.

使用选区与粘贴板:Using Selections and Clipboards :Tools | Options | Editing | Selections

使用粘贴板 :设置Tools | Options | Editing | General | Maximum clipboards或宏变量def_clipboards

Command Key Description

cut Ctrl+X Delete text and place a copy in the clipboard.

copy-to-clipboard Ctrl+C Copy text to the clipboard.

paste Ctrl+V Paste text from clipboard to buffer.

append-cut Ctrl+Shift+X Delete text and append it to the current clipboard.

append-to-clipboard Ctrl+Shift+C Copy text and append it to the current clipboard.

list-clipboards Ctrl+Shift+V Display multiple clipboards to paste from.

锁定选区:

Command Key Description

select-char F8; WROX: Alt+Z Start or extend a character selection.

select-line Ctrl+L; WROX: Alt+L Start or extend a line selection.

select-block Ctrl+B; WROX: Alt+B Start or extend a block selection.

select-word (none) Make a character selection from the cursor to the end of the current word.

select-next-word (none) Make or extend a character selection from the cursor to the end of the current word.

select-whole-word (none) Make a character selection for the whole word under the cursor.

select-all Ctrl+A Make a line selection for the entire buffer.

select-code-block (none) Make a selection for the code at the current scope.

select-paragraph (none) Make a line selection for a group of lines bounded at the top and bottom by a blank line.

select-paren-block (none) Make a character selection for the next block of code bounded by parentheses, brackets, or braces.

select-proc (none) Make a line selection for the entire procedure, function, or method the cursor is in.

move-to-cursor WROX: Alt+M Move the selection to the current cursor position.

copy-to-cursor WROX: Alt+C Copy the selection to the current cursor position.

begin-select WROX: Alt+Y Move to the beginning of the selection.

end-select WROX: Alt+E Move to the end of the selection.

deselect Ctrl+U, WROX: Alt+U Turn off existing selection.

upcase-selection Ctrl+Shift+U Convert all words in selection to uppercase.

lowcase-selection Ctrl+Shift+L Convert all words in selection to lowercase.

shift-selection-left Shift+F7 Shift text in selection one character to the left.

shift-selection-right Shift+F8 Shift text in selection one character to the right.

remove-trailing-spaces (none) Remove trailing spaces from lines in selection.

filter-command (none) Pass selection as input to external command.

选区模式 :字符选区Character selection.行选区Line selection.块选区Block selection.

特殊选区命令 :select-word(从光标处到当前词尾创建选区),select-next-word(扩展或创建选区从光标处到当前词尾),select-whole-word(对光标处当前词创建选区),select-all (Ctrl+A全选),select-code-block(对光标当前选区扩展到更高一级),select-paragraph(选中一段,前有上限后有空行的段),select-paren-block(选中一标签项,被一对标签包住),select-proc(选中当前函数方法或过程)

(2),使用选区:

移动或复制锁定选区:move-to-cursor (WROX: Alt+M) 移动选区到目前光标处;copy-to-cursor (WROX: Alt-C) 复制选区到目前光标处

导航移动于锁定选区:begin-select (WROX: Alt+Y) 移动到选区开始处;end-select (WROX: Alt+E) 移动到选区结尾处

取消选区:deselect(Ctrl+U. WROX:Alt+U),也可删除旧选区或创建新选区

使用选区范围:

upcase-selection (Ctrl+Shift+U) 转换当前选区字母为大写

lowcase-selection (Ctrl+Shift+L) 转换当前选区字母为小写

shift-selection-left (Shift+F7) 向左移动选中文本

shift-selection-right (Shift+F8) 向右移动选中文本

remove-trailing-spaces 删除选中行的标记性空格(trailing spaces)

在选区中搜索:使用m选项限定搜索范围,find /edit/m %%(/%%edit/m 查找下一个edit字符),replace /\t/,/um (c/\t/,/um 替换选区中跟随逗号的Tab)

过滤选区:filter-command (Edit ➪ Other ➪ Filter Selection) 把选中项作为参数传递给某程序,然后该程序输出值取代缓存中原选中项。如同UNIX程序员使用vi般。

保存与复用选区:wrox-save-line-sel SET1,wrox-restore-line-sel SET1

设置选区选项:Tools | Options | Editing | Selections | Extend selection as cursor moves(是否光标移动后自动扩展已锁定选区)

(3),使用字词自动完成功能保存输入字词

字词自动完成功能:complete-prev(Ctrl+Shift+comma 再次调用则向前一个结果).complete-more (Ctrl+Shift+Space).complete-next (Ctrl+Shift+dot).

编程中使用自动完成功能:即使是低级别语法支持的SQL语言,动态语言,直到丰富语法支持的Java等,都能使得编程高效流畅。

设置自动完成功能:def_complete_flags(1 (COMPLETE_REVERSE_AT_CURSOR). 2 (COMPLETE_CHECK_SCOPE). 4 (COMPLETE_ALLOW_DUP_MATCHES). 8 (COMPLETE_LOOK_FOR_ANYTHING). 默认是5(COMPLETE_REVERSE_AT_CURSOR和COMPLETE_ALLOW_DUP_MATCHES)) and def_complete_vars

7,代码编辑

(1),文件扩展名,模式,文法分析器

Tools | Options | Languages | File Extension Manager

select-mode:c-mode. html-mode. pascal-mode. plsql-mode.(Document ➪ Select Mode) fundamental-mode(普通文本模式)

Tools | Options | Languages | Application Languages | Ada/C#/… | Color Coding

无扩展名文件: Tools | Options | Languages | Application Languages | C/C++ | Extensionless C++ Files

(2),语法高亮显示:Syntax Highlighting

Tools | Options | Appearance | Colors

(3),缩进和代码风格:Tools | Options | Languages > Application Languages > C/C++/… | C/C++ Formatting Options

(4),使用控件结构:

语法扩展:next-hotspot (Ctrl+[),prev-hotspot (Ctrl+Shift+[)

添加 Control 结构:尽量少用宏来添加以免SE升级后丢失,可以通过模板来添加。surround-with(右击选区选择surround the selection with)

动态环绕 :键入外包结构后按空格键进入动态环绕模式,用方向键上下选取被环绕内容,设置选项位于Tools | Options | Languages | Application Languages | C/… | Indent | Use Dynamic Surround

删除环绕结构:delete-code-block 命令进入提示Delete the entire block(整个结构删除)/Unsurround the block(只删除环绕结构)/Always just delete block(等效于宏变量def_prompt_for_delete_code_block);unsurround命令 (Ctrl+Shift+Del,是否提示设置宏变量为def_prompt_for_unsurround_block

关闭语法助手:在不需要自动完成功能时,如录制宏时,可以转换到fundamental模式以彻底关闭语法助手。也可用quote-key(Ctrl+Q)在触发词如空格Space或{以临时关闭语法提示。

(5),统一的自动完成功能:word completion, syntax expansion, list members,和 parameter information

设置自动完成功能 :Tools | Options | Languages > Application Languages > C/C++/.. | Auto-Complete | Enable auto-completion(对应命令autocomplete)

手动完成还是自动完成:手动调用字词自动完成complete-prev 或 complete-next,当用熟后会提高效率。而对于新手,直接使用自动完成。

(6),嵌入式语言:

网络编程:PHP, ASP, and JSP.

脚本中的‘Here Documents’ :UNIX shells, and several scripting languages, support multiline strings called here documents. These are

extremely convenient for templates that output code, such as HTML or SQL.

Here documents begin with «IDENT, where IDENT is some identifier, often “EOF.” The multiline string

extends to the next occurrence of IDENT in the code.

Note that for SlickEdit’s embedded language features to work with here documents, you must use the

name of the lexer (HTML in the example above) in the string terminating the here document.

(7),使用注释:

单行注释:

// in C++, Java, and many other languages.

# in shell and scripting languages.

多行注释:键入/*则SE自动添加*/,可以直接写注释,也可以自己键入*/,则SE自动删除原来添加的*/

/* and */ in C, C++, Java, and many other languages.

<!– and –> in HTML and XML

对多行代码进行注释:选中多行代码,添加注释调用comment (Document ➪ Comment Lines).删除注释调用comment-erase (Document ➪ Uncomment lines)

JavaDoc格式注释:SE支持JavaDoc风格的Java, C/C++和 Slick-C注释,也支持 XMLDoc 风格的 C#注释。如为一个member做注释:先在该 member之上插入一空行,键入 /*,则SE自动添加 */,键入*并回车,则SE自动按照该member相关信息添加JavaDoc风格的注释模板,

设置注释选项:Tools | Options | Languages > Application Languages > C/… > Comments / Comment Wrap

8,数据编辑

(1),选块处理:先选中一个区块 Block Selection,move-to-cursor (WROX: Alt+M) 移动选块插入到光标处,copy-to-cursor (WROX: Alt+C) 复制选块插入到光标处,cut (Ctrl+X or WROX: Alt+D)剪切删除选块(粘贴板里是新的区块),adjust-block-selection (WROX: Alt+A)移动选块覆盖到光标处,overlay-block-selection (WROX: Alt+O)复制选块覆盖到光标处

选区导航命令:begin-select (WROX: Alt+Y) 移动光标到选区最左上。end-select (WROX: Alt+E)移动光标到选区最右下。

(2),对列输入数据fill-selection (WROX: Alt+F)

填入单字数据:选中一区块 | fill-selection (WROX: Alt+F) | (“Type a key to fill mark with.”) 按一个键自动填入全区块,(重复多次结合shift-selection-right也可很麻烦地实现填入多字)

进入块插入模式填入多字:选中一区块 | block-insert-mode (Edit ➪ Other ➪ Block Insert Mode) | “Block/column insert mode active. Press ESC when done“ 开始键入多字还可以移动删除 | SE自动填入选块(该模式下不能录制宏也不能调用宏输入且使用命令行是可能有异常) | 按ESC或取消选块以推出块插入模式

(3),数据排序:gui-sort(Tools ➪ Sort)

全缓存排序:sort-buffer to sort the entire buffer.

以选区为关键字排序:sort-on-selection to sort using a selection as the key.

在选区内排序:sort-within-selection to sort within a line or block selection.

(4),生成数据:选中一区块 | enumerate 基数 增量 宽度(还有一些16进制输出或C++Flag的可选参数)

gui-enumerate (Edit ➪ Other ➪ Enumerate)

(5),数据计算:可用于单列临时加总等计算:选中待加总数据单列 | 光标移动到数据选区下方空白处 | add

两列临时相乘并加总计算:在两列中插入一列并填入乘号× | 选中此三列 | 光标移动到数据选区左下方空白处 | add

(6),数据处理:

区块编辑:前提是数据要对齐以被选中

对于多次重复的步骤如插入逗号分隔符可以录制成宏以调用,但注意宏在数据量巨大时运行不畅。

数据搜索与替换:可使用强大的正则表达式

(7),数据对齐:对于多行有空格分隔但未对齐的数据:先在首行插入适当空格把首行调整清晰 | 光标移动到第二行开始处 | record-macro-toggle (Ctrl+F11)开始录制宏 | wrox-next-whitespace-word (Ctrl+Right)把光标移动到第二行第二个数据项开始处 | wrox-align-left-with-field-above (Alt+Shift+L) 与第一行第二项对齐 | 重复使用wrox-next-whitespace-word和wrox-align-left-with-field-above 把第二行其余数据项都对齐 | begin-line-text-toggle (Home)光标回到第二行首列 | cursor-down (down arrow)光标移动到第三行开始处 | record-macro-end-execute (Ctrl+F12)停止宏录制 | record-macro-end-execute调用七次 |

(8),大数据文件处理:宏最慢,常用于1,000行以下文件,块编辑Block editing较快,常用于10,000行以下文件,搜索与替换最快,常用于100,000行以下甚至更大的文件。

9,别名和文件模板:Aliases and File Templates

(1),别名:

文件别名:alias (Tools ➪ Options ➪ Aliases) | 选择alias.slk(该文件定义公用别名,其他定义extension-specific别名) | (Alias Editor) New | (New Alias Name)输入别名 | OK | 输入别名对应文本 | OK

代码中使用别名:

Escape Sequence Description

%EnvVar% Insert the value of the EnvVar environment variable.

%\d Insert the date (locale preference format).

%\e Insert the date (MMDDYY).

%\t Insert the time.

%\f Insert the filename.

%\i Indent.

%\b Unindent.

%\c Place cursor.

%\l Preserves leading spaces at beginning of line.

%\s Preserves trailing spaces at end of line.

%\n Inserts current function name.

%\o Inserts current function name with signature.

%(ParamName) Argument replacement.

%\m macro % Execute macro in-place.

%\xcol Moves the cursor to the specified column.

%\x+col Increment column by amount.

%\x-col Decrement column by amount.

%% Inserts a percent character.

动态目录别名: 使用%\m可以创建动态目录别名,如:%\m wrox_project_dir%

针对文件扩展名的动态别名: Extension-Specific Aliases,针对不同文件扩展名创建同名的别名。还可以在编辑代码时,选中代码,右击选择”Create Alias”,提示输入一个别名名称并可进行编辑。

别名的语法扩展 :

如自定义C++(C++别名定义于c.als)别名class为

class %\c {

public:

private:

};

环绕式别名:在创建别名时选中”Surround With”就可以

带参数的别名: 在创建别名时点击Parameters下的Add按钮

别名的设置:安装目录下的默认.als文件和自定义的用户配置目录下的.als文件。

(2),文件模板: 文件模板把预定义代码/文本块的功能扩展到了多文件中

实例化一个模板:add-item (File ➪ New Item from Template)

创建一个模板:template-manager (File ➪ Template Manager)

待替换参数:Substitution Parameters

Parameter Description

$itemname$ Name of item entered, as on the Add New Item dialog.

$fileinputname$ Name of item entered, as on the Add New Item dialog, without file extension.

$safeitemname$ Name of item entered, as on the Add New Item dialog, with all unsafe characters replaced with safe characters.

$upcasesafeitemname$ Same as $safeitemname$ with all characters uppercased.

$lowcasesafeitemname$ Same as $safeitemname$ with all characters lowercased.

$tempdir$ Location of operating system temp directory. No trailing file separator.

$rootnamespace$ Root namespace or package for the current project.

$ampmtime$ Time of day in the form hh:mm[am|pm]. Example: 11:34pm.

$localtime$ Time of day in locale-specific format.

$time$ Time of day in the form hh:mm:ss.

$localdate$ Current date in locale-specific format.

$date$ Current date in the form mm/dd/yyyy.

$projectname$ Current project name (no path, no extension).

$safeprojectname$ Current project name (no path, no extension), with all unsafe characters replaced with safe characters.

$workspacename$ Current workspace name (no path, no extension).

$safeworkspacename$ Current workspace name (no path, no extension), with all unsafe characters replaced with safe characters.

$projectworkingdir$ Current project working directory. No trailing file separator.

$projectbuilddir$ Current project build (output) directory. No trailing file separator.

$projectconfigname$ Current project configuration name.

$workspaceconfigname$ Current workspace configuration name. This will be the same as $projectconfigname$ except for MSVisual Studio workspace, which will have a separate workspace/solution configuration name.

$projectdir$ Location of current project file. No trailing file separator.

$workspacedir$ Location of current workspace file. No trailing file separator.

$username$ Operating system login name.

管理模板: 可以把自定义模板加入版本控制库进行管理

实例化宏中的模板:可以在宏里使用文件模板,但这样就有当SE版本变化时宏丢失的风险。

10,文档类型:Document Types

(1),文档模式 :select-mode(Document ➪ Select Mode),fundamental-mode,html-mode

二进制文件 :16进制模式:hex command (View ➪ Hex or Ctrl+Shift+H),行代码16进制模式(如PDF):linehex(View ➪ Line Hex)

16进制模式对于文本文件也是有用的,如可检查UNIX或DOS的行尾字符,或makefiles里面的tab字符。

(2),字符集合与编码方式:SBCS/DBCS(Single Byte Character Set/Double Byte Character Set),Unicode (represented internally as UTF-8)

(3),XML 文件类型:常用DTD(Document Type Definition)来描述对应的XML文件;也可用XML Schema如SOAP和WSDL

URL Mappings dialog: (Tools ➪ Options ➪ Network & Internet Options | URL Mappings) | Add | From里面填:http://www.springframework.org/dtd/spring-beans-2.0.dtd | To里面填:C:\lib\spring-framework-2.0.2\dist\resources\spring-beans-2.0.dtd | OK(此本地URL转向配置保存在SE的配置目录下的options.xml)

可以在tools ➪ Options ➪ Languages > XML/Text Languages > XML  XML Formatting Options | auto validation on open里面关闭,然后可以随时调用xml-validate命令调用该功能。还可以通过设置宏变量来关闭:def_xml_no_schema_list 文件扩展名 (如set-var def_xml_no_schema_list .xml .xsd)

启用语法助手:apply-dtd-changes( 也可在窗口中右击选择“Apply DTD, TLD, or Schema Changes.”)

11,比较与合并:

(1),比较文件与目录 :SE的比较工具叫DIFFzilla,拥有丰富的比较选项,还可以脱离SE在Windwos命令行下独立运行:vsdiff

比较两个文件 :diff (Ctrl+equals),比较模式下支持的命令都记录在SE安装目录下的diffedit.e宏文件里。修改该宏会同时更改编辑器的运行。

比较一个文件中不同区域:可以结合自定义宏和书签来实现这一功能

比较目录:To exclude the .svn subdirectories, add .svn\ to the Exclude Filespecs.

(2),合并更改:Tools ➪ File Merge,三向合并工具,可以和版本控制结合使用

(3),备份历史:activate_deltasave (View ➪ Toolbars ➪Backup History,WROX: Alt+T, followed by H).

可以结合DIFFzilla来比较当前缓存与已保存内容的差异:diff (Ctrl+=) | keyin-buf-name (Alt+N)把缓存名称输入Path1(Use file on disk未选中) | Alt+2移动光标到Path2 | keyin-buf-name (Alt+N)把已保存内容缓存名称输入Path2(Use file on disk选中) | Enter

12,版本控制:

(1),CVS

使用已有工作拷贝:vcsetup (Tool ➪ Version Control ➪ Setup) | Command-line systems | CVS | Setup | …

检出已有项目:cvs-checkout-module (Tools ➪ Version Control ➪ Check Out Module).

回顾更新:cvs-gui-mfupdate project_dir

添加文件进CVS:在CVS Update Directory窗口中选中文件 | 右击选择Add Files | (Options for CVS Add) 输入选项如-kb指二进制文件 | OK

把当前编辑文件加入CVS:cvs-add (WROX:Alt+V, A)

提交更改:在CVS Update Directory窗口中选中文件 | 右击选择Commit selected files | 输入注释 | 选中Apply to all | OK | 已提交文件从窗口消失

合并冲突:在CVS Update Directory窗口点击Diff按钮 | 选择版本进行比较合并消除冲突

Using Commit Sets to Group Changes :commit-sets (Tools ➪ Version Control ➪ Commit sets) | Add | 输入组合名称 | OK | 选中上述输入的组合 | Edit | 分别加入组合所包括的文件与对应注释(提倡使用统一的注释) | OK | commit-sets (Tools ➪ Version Control ➪ Commit sets) | 选中上述输入的组合 | Commit

Branches and Tags:cvs rtag –b RB_01_01 gnu_queens cvs tag REL_01_01_00

浏览历史:打开文件 | cvs-history (Tools ➪ Version Control ➪ History for <filename>).

键位绑定:

Command Key Description

commit-set-add (none) Adds the current file to the default commit set.

commit-sets (none) Shows the commit sets.

cvs-add Alt+V, A Adds the current file to CVS version control.

cvs-checkout-module Alt+V, M Checks out working copy of module from repository.

cvs-commit Alt+V, C Commits the current file.

cvs-diff-with-tip Alt+V, D Shows the local changes.

cvs-history Alt+V, L Shows the “Log info” window for the current file.

cvs-login Invokes CVS login.

cvs-query Alt+V, Q Invokes the CVS query facility.

cvs-remove Alt+V, R Removes the current file from version control.

cvs-review-and-commit Alt+V, V Displays DIFFzilla showing local changes, allowing

revision. Then follows with commit dialog.

cvs-setup (none) Displays the CVS Setup dialog.

cvs-update (none) Updates the current file.

cvs-update-directory (none) Updates the current directory.

wrox-cvs-update-project Alt+V, U Updates the current project.

(2),Subversion

设置SE的SVN :vcsetup (Tool ➪ Version Control ➪ Setup) | Command-line systems | Subversion | Setup | …

创建一个新项目:

svn mkdir %SVN%/gnu_queens -m”Creating directory /gnu_queens/.”

svn mkdir %SVN%/gnu_queens/trunk -m”Creating directory /gnu_queens/trunk/.”

svn mkdir %SVN%/gnu_queens/branches -m”Created gnu_queens/branches directory.”

svn mkdir %SVN%/gnu_queens/tags -m”Created gnu_queens/tags directory.”

检出一个工作拷贝: svn-browse (Tools ➪ Version Control ➪ Check Out) | Add to List | 输入repository URL | OK | 选择一个目录 | Checkout

回顾和提交更新,添加 文件:

合并冲突:解决冲突后,svn resolved board.cpp

Branches and Tags

浏览历史:打开文件 | svn-history (Tools ➪ Version Control ➪ History for <filename>).

键位绑定:

Command Key Description

commit-set-add (none) Adds the current file to the default commit set.

commit-sets (none) Shows the commit sets.

svn-add Alt+V, A Adds the current file to Subversion.

svn-browse Alt+V, B Opens the Subversion Browser.

svn-commit Alt+V, C Commits the current file.

svn-diff-with-tip Alt+V, D Shows the local changes.

svn-history Alt+V, L Shows the “Log info” window for the current file.

svn-remove Alt+V, R Removes the current file from version control.

svn-revert Alt+V, T Reverts the local changes on the current file.

svn-review-and-commit Alt+V, V Displays DIFFzilla, showing local changes, allowing revision. Then follows with commit dialog.

svn-setup (none) Displays the Subversion Setup dialog.

svn-update (none) Updates the current file. (This command is not really meaningful for Subversion.)

svn-update-directory (none) Updates the current directory.

wrox-svn-update-project Alt+V, U Shows Update Directory window for the current project.

四,高级用法:

1,其它工具

(1),文件管理器:fileman(File ➪ File Manager ➪ New File List),fileman append (File ➪ File Manager ➪ Append File List) |

在文件管理器里可以使用dir(简写ls,默认列出文件与目录),或List(默认只列出文件不列目录),它们的参数如下:

Option Description

-|+D Exclude/include directory files.

-|+H Exclude/include hidden files. Ignored on UNIX; on Windows the default

follows the Windows Explorer “Show all files” setting.

-|+P Append path. Default is on.

-|+S Exclude/include system files. Ignored on UNIX; on Windows the default

follows the Windows Explorer “Show all files” setting.

-|+T Tree file list. (Includes subdirectories.)

文件管理命令:

Command Key Description

fileman-space Space Toggles select if file cursor is on.

fileman-enter Enter Edit file at cursor, or insert directory list.

select-all Alt+Shift+A Select all files.

fileman-backup Alt+Shift+B Back up (copies) selected files to a directory.

fileman-copy Alt+Shift+C Copy selected files.

fileman-delete Alt+Shift+D Delete selected files.

fileman-edit Alt+Shift+E Edit selected files.

fileman-find Alt+Shift+F Run multifile search in selected files.

fileman-replace Alt+Shift+G Run multifile search and replace in selected files.

fileman-move Alt+Shift+M Move selected files.

fsort Alt+Shift+O Sort list.

fileman-attr Alt+Shift+P Set DOS attributes.

for-select Alt+Shift+R Repeat a command on each selected file.

deselect-all (none) Deselect all selected files.

select-reverse (none) Reverse selected files.

select-attr (none) Select files based on DOS attributes.

select-ext (none) Select files based on given extension.

gui-select-ext (none) Select files based on extension.

select-mark (none) Select files marked with a (character or line or block) selection.

deselect-mark (none) Deselect files marked with a selection.

unlist-all (none) Empty the list.

unlist-select (none) Unlist the selected files.

unlist-ext (none) Unlist files based on given extension.

gui-unlist-ext (none) Unlist files based on extension.

unlist-attr (none) Unlist files based on DOS attributes.

unlist-search (none) Unlist files based on filename matching a search string.

read-list (none) Read a list of filenames from a file.

write-list (none) Write the list of selected filenames to a file.

选取文件:在Fileman中可按空格键把当前行对应文件保持选中,deselect-all,select-ext cpp,select-reverse,unlist-select

自动化任务:for-select (Alt+Shift+R)

(2),FTP/SSH 远程编辑:打开FTP工具窗口activate-ftp (或toggle-ftpopen,WROX: Alt+T,T) | 点击绿色加号图标添加一个新FTP连接 | Add

FTP客户端:toggle-ftp

使用HTTP打开网页:edit http://www.skepticalhumorist.co.nz/index.html,只能查看不能编辑

(3),正则式验证器:activate-regex-evaluator (WROX: Alt+T followed by X)

2,Slick-C 宏编程

(1),Slick-C 语言

模块与名称

预处理

函数

属性

数据类型:

控制结构:

声明与定义

(2),使用宏

执行Slick-C 代码

终止宏

写信息

栈跟踪:Stack Traces

查找 Slick-C 对象

(3),实用技术

与缓存交互

搜索:

选择区域:

临时缓存:

文件与目录列表:

选择文件:

有用的宏文件:

回收:Callbacks

(4),宏样例

Example: Counting Duplicate Lines 347

Example: Inserting HTML End Tag 348

Example: Moving Lines Up and Down 351

Example: Callback Traces 353

Example: WROX Function Names 355

Example: N-Queens 357

3,自定义

(1),键位自定义

Example: Page-Down 362

Example: Joining Lines 362

Example: Tabbing Behavior 363

(2),自定义语言支持

Example: Portable Game Notation Files 365

Example: Groovy Language 367

(3),自定义菜单与对话框

自定义对话框

创建一个弹出菜单

(4),程序配置

载入关键定义与代码:

定义别名:

通用配置设置:

决定程序配置

参考资料:

Professional SlickEdit (Wrox Programmer to Programmer) .7z

Tutorial: Adding Language Support to SlickEdit

wxWidgets搭配slickedit和code::blocks进行跨平台GUI开发

wxWidgets与SlickEdit

SE的按需显示----强啊,赞一个

SlickEdit使用_设置篇

SE的高智能自动排版

Visual SlickEdit 使用和 IE Web Control

SlickEdit 一些使用技巧

SlickEdit可以和SourceSafe无缝连接

SlickEdit学习笔记1: write more code, faster SlickEdit学习笔记2: Quick Start and Orgnize SlickEdit学习笔记3: UI SlickEdit学习笔记4: File Manager SlickEdit学习笔记5: File History and Backups SlickEdit学习笔记6: Code Template SlickEdit学习笔记7: BuildSlickEdit学习笔记8: FTP SlickEdit学习笔记9: Other Little Tools SlickEdit学习笔记10: Debugger SlickEdit学习笔记11: CVSSlickEdit学习笔记12: Macro SlickEdit学习笔记13: Context Tagging SlickEdit学习笔记14: Cool Features

Source Insight 学习笔记1:工程概念 Source Insight 学习笔记2: 样式 Source Insight 学习笔记3:编辑快捷键 Source Insight 学习笔记4:编辑条件 Source Insight 学习笔记5:Smart Rename Source Insight 学习笔记6:合理缩进 Source Insight 学习笔记7: 宏语言

Source Insight项目

SlickEdit 2011 v16.0.1发布&几个SE用的图标 | |Slickedit 2008推出和SourceInsight更新

|Source Insight v.s SlickEdit 2007

|SlickEdit 设置点滴

|SlickEdit 简体中文版 汉化包

Source-Navigator(TM)项目

|The Source-NavigatorTM IDE早期版本的项目

|源代码查看工具 Source Navigator 使用心得