SOI快捷键

本文详细介绍SourceInsight软件的高效使用方法,包括定制个性化设置、快捷键自定义、高级功能利用等内容,助您提升代码编辑效率。

恢复ctrl+a的全选功能

Options菜单Key assignments,通过关键词save 找到save all,删除快捷键,通过关键词select找到select all 更改为ctrl +a.

 

插入函数注释

1 Options菜单Key assignments,为macro InsertHeader,指定快捷键ctrl+shift+i

2 重启SourceInsight后,可以使用快捷键盘为函数自动生成注释

使用SupperBack完成中文操作

1 Options菜单Key assignments,通过关键词为macro SuperBackspaceSuperDeleteSuperCursorLeftSuperCursorRightSuperShiftCursorLeftSuperShiftCursorRight,分别指定快捷键:退格、del<-->shift+<-shift+->.

2 重启SourceInsight后,可以自动操作中文,不会产生乱码问题。

 

1F8:本文件中查找符号;

2F7:本工程中查找符号;

3ctrl+K:复制一行;

4ctrl+shift+k:从光标位置复制到本行最右端;

5ctrl+u:剪切一行;

6ctrl+;:剪切从光标位置到本行最右端;

7ctrl+i:插入一行;

8ctrl+j:减一行;

9ctrl+h:替换;

10alt+f8:打开或关闭Symbol window

11alt+L:激活symbol window,即将焦点移到Symbol windows

12ctrl+shift+[:到块首;

13ctrl+shift+]:到块尾;

14ctrl+alt+[:到选择首;

15ctrl+alt+]:到选择尾;

16ctrl+end:到文件底部;

17alt+0ctrl++ctrl+0:调到原型,即定义处

18   Ctrl+E          完成语法                            

从剪切板粘贴                         : Ctrl+Ins
粘贴一行                             : Ctrl+P
重复上一个动作                       : Ctrl+Y
重新编号                             : Ctrl+R
重复输入                             : Ctrl+/
替换                                 : Ctrl+H
智能重命名                           : Ctrl+'
关闭文件                             : Ctrl+W
关闭所有文件                         : Ctrl+Shift+W
新建                                 : Ctrl+N
转到下一个文件                       : Ctrl+Shift+N
打开                                 : Ctrl+O
重新装载文件                         : Ctrl+Shift+O
另存为                               : Ctrl+Shift+S
显示文件状态                         : Shift+F10
激活语法窗口                         : Alt+L
回到该行的开始                       : Home
回到选择的开始                       : Ctrl+Alt+[
到块的下面                           : Ctrl+Shift+]
到块的上面                           : Ctrl+Shift+[
书签                                 : Ctrl+M
到文件底部                           : Ctrl+End, Ctrl+(KeyPad) End
到窗口底部                           : (KeyPad) End (小键盘的END)
到一行的尾部                         : End
到选择部分的尾部                     : Ctrl+Alt+]
到下一个函数                         : 小键盘 +
上一个函数                           :   小键盘 -
后退                                 : Alt+,, Thumb 1 Click
后退到索引                           : Alt+M
向前                                 : Alt+., Thumb 2 Click
转到行                               : F5, Ctrl+G
转到下一个修改                       : Alt+(KeyPad) +
转到下一个链接                       : Shift+F9, Ctrl+Shift+L
回到前一个修改                       : Alt+(KeyPad) -

向下滚动一行                         : Alt+Up
右滚                                 : Alt+Right
选择一块                             : Ctrl+-
选择当前位置的左边一个字符           : Shift+Left
选择当前位置右边一个字符             : Shift+Right
选择一行                             : Shift+F6
从当前行其开始向下选择               : Shift+Down
从当前行其开始向上选择               : Shift+Up
选择上页                             : Shift+PgDn, Shift+(KeyPad) PgDn
选择下页                             : Shift+PgUp, Shift+(KeyPad) PgUp
选择句子(直到遇到一个 . 为止)        : Shift+F7, Ctrl+.
从当前位置选择到文件结束             : Ctrl+Shift+End
从当前位置选择到行结束               : Shift+End
从当前位置选择到行的开始             : Shift+Home
从当前位置选择到文件顶部             : Ctrl+Shift+Home
选择一个单词                         : Shift+F5
选择左边单词                         : Ctrl+Shift+Left
选择右边单词                         : Ctrl+Shift+Right
到文件顶部                           : Ctrl+Home, Ctrl+(KeyPad) Home
到窗口顶部                           : (KeyPad) Home
到单词左边(也就是到一个单词的开始)   : Ctrl+Left
到单词右边(到该单词的结束)           : Ctrl+Right
排列语法窗口(有三种排列方式分别按1,2,3)        : Alt+F7
移除文件                             : Alt+Shift+R
同步文件                             : Alt+Shift+S
增量搜索(当用Ctrl + F 搜索,然后按F12就会转到下一个匹配)      : F12
替换文件                             : Ctrl+Shift+H
向后搜索                             : F3
在多个文件中搜索                     : Ctrl+Shift+F
向前搜索                             : F4
搜索选择的(比如选择了一个单词,shift+F4将搜索下一个)    : Shift+F4
搜索                                 : Ctrl+F
浏览本地语法(弹出该文件语法列表窗口,如果你光标放到一个变量/函数等,那么列出本文件该变量/函数等的信息)    : F8
浏览工程语法                         : F7, Alt+G
跳到基本类型(即跳到原型)             : Alt+0
跳到定义出(也就是声明)               : Ctrl+=, Ctrl+L Click (select), Ctrl+Double L Click
检查引用                             : Ctrl+/
语法信息(弹出该语法的信息)           : Alt+/, Ctrl+R Click (select)
高亮当前单词                         : Shift+F8
语法窗口(隐藏/显示语法窗口)          : Alt+F8
关闭窗口                             : Alt+F6, Ctrl+F4
最后一个窗口                         : Ctrl+Tab, Ctrl+Shift+Tab

 

 

1.1.1   字体选择

SI中样式是可以被继承,如果要从根本上改变字体,最简单的方式就是直接修改根样式中的字体,因为其它样式都会由此继承而来。选择Options/Document Options页面内的Font Options中的Screen Fonts字体,即可改变根样式中的字体。SI中的默认配置为Verdana字体,是一种非等宽字体 2 ,为了使编写的代码在各种编辑器中看起来都有良好的对齐效果,这里强烈建议使用等宽字体,CourierNew Courier和宋体等都是较好的选择。

1.1.2   颜色定义

毕竟这是见仁见智的东西,所以从来没有统一的标准3。很多人并不喜欢SI提供的默认配置,那么我们就改吧。选择Options/Style Properties页面,就可以在其中修改所有样式了。选择等号(=)表示继承Parent Style,也可以选择Pick(或者ON/OFF)去配置一个新值。这完全视乎个人喜好。

1.1.3   标识符样式选择

在与 颜色定义 一节同样的界面内即可完成此项配置。

1.1.4   背景色选择

在希望要改变背景色的窗口点击鼠标右键(假定使用的是右手鼠标 4),选择上下文菜单的 xxx Window Properties项,然后点击弹出窗口的Back Color按钮,即可修改该窗口背景色。对于SI的源码主窗口,只需选择上下文菜单的Special Window Color项即可完成背景色修改。

1.2   配置合理的默认值高效工作

1.2.1   使用合理的缩进

我始终认为最容易获得认同的是关于这个选项的配置了。选择Options/Document Options页面,点击其内的Auto Indent按钮,在弹出的Auto Indenting窗口中,默认配置为 Auto Indent Type选择Smart,且勾选了Smart Indent Options中的两个可选项,这样得到的默认缩进效果为

     while (1)
         {
         I
         }

每次都要手工去调整其缩进,其实只要把两个勾选项去掉,就可以得到

     while (1)
     {
         I
     }

何乐而不为呢?

1.2.2   显示坐标

通常情况下在窗口状态栏左下方,最会显示当前光标所在行列信息,但我总觉得不够明显,于是通常我们作如下配置:

选择Options/Document Options页面,勾选其中的Show line numbers。同时勾选其中的Show right margin,我们就可显示一条右边界,随时提醒我们是否该行代码写得过长了。

1.3   创建便捷的快捷键快乐工作

1.3.1   几个较常用的快捷键

默认情况下,SI已经定义了很多非常实用的快捷键:

  • F5
    指定行号,实现行跳转,在遇到编译错误的时候,能特别方便的找到出错行。
  • Shift+F8
    高亮显示指定标识,快速浏览标识的使用情况。
  • Ctrl+鼠标点击标识
    直接跳转至标识定义处。
  • Ctrl+F
    本文件内查找。
  • F3
    本文件查找结果的上一个。
  • F4
    本文件查找结果的下一个。
  • F7
    打开Browse Project Symbols窗口,快速浏览工程内标识定义。
  • Ctrl+M
    创建或查找书签,方便下次找回此位置。

1.3.2   自定义快捷健

选择Options/Key Assignments,在弹出的Key Assignments窗口中可自由添加自己喜欢的快捷键。比较值得推荐的有如下几个快捷键定义:

  • Edit: Drag Line Down
    光标当前行下移。
  • Edit: Drag Line Up
    光标当前行下移。
  • Edit: Join Lines
    当前行和下一行连接成一行。

1.3.3   更多的快捷键

如果你正好对SIMarco语言(下文将会介绍)有研究,那么还可以定义更多有用的快捷键,比如添加文件头、函数头、注释等(下文在介绍Marco语言时会介绍如何实现)

2   小技巧-中级应用

2.1   查找与替换

SI中支持多种查找及替换方式,除了上文提到的文件内查找外,还支持工程范围内查找、目录查找、指定多文件查找等等。

2.1.1   查找

  1. Loopup References
    我们最常用的一种查找方式是选择Search/Lookup References或按Ctrl+/组合键再或者鼠标点 R 按钮,在弹出的Loopup References窗口进行查找操作。

Search Method中有四种可选的查找方式:Simple StringRegular Expression Keyword ExpressionLook Up Reference。其中Simple String是最普通的查找方式,可以查找文件中出现的任意字符或字符,甚至可以查找 _upap || u 这样的字符串,但是在工程较大时,查找过程会较慢。

Regular Expression查找方式将在后面讲述正则表达时会介绍到,这里暂时按下不表。

Keyword ExpressionLook Up Reference查找的结果基本相同,但是显示方式略有差异。这两种方式都是使用SI预先建立的数据库,查找起来速度相当快。但通常这种速度只对在查找标识符时有明显效果。对于像函数名,变量名等的查找,强烈建议使用这两种方式进行查找。

  1. Search Files
    选择Search/Search Files或按Ctrl+Shift+F组合键,在弹出的Search Files窗口进行查找操作。

File Name框中可以填入文件名或文件夹。注意当要查询的文件夹双包含子文件夹时,可以勾选Options中的Include Subdirectiories,实现对各层文件的递归搜索。

  1. Search Project
    选择Search/Search Project,在弹出的Search Project窗口进行查找操作。操作与Loopup References几乎完全一致,它们各自保存上次搜索的配置。

2.1.2   替换

  1. 单文件替换
    选择Search/Replace或按Ctrl+H组合键,在弹出的Replace窗口进行查找操作。在Search项目里勾选Selection则仅对当前选中的文档部分进行替换。另外如果勾选了Confirm Replacements则是逐个确认替换,否则会同时替换所有符合替换条件内容。
  2. 多文件替换
    选择Search/Replace Files或按Ctrl+Shift+H组合键,在弹出的Replace Files 窗口进行查找操作。除了增加New(替换后的内容)外,其余均与Search Files窗口相同,可参照查找部分的说明进行操作。

2.2   列操作

虽然开篇时就说过,SI的列操作功能比较弱,但不等于没有。先按下Alt键,接着就可用鼠标进行列选择,然后就可以删除指定的列。

2.3   无名技巧

这里介绍一些小技巧,大多数情况下我们可以无视它们的存在。但如果我们知道这些,某些时候,会有效提高工作效率。

  • Smart Rename
    在上下文件菜单中选Smart Rename或按Ctrl+'组合键,即可弹出Smart Rename窗口。它有很强大的功能,但最便捷的使用方式是更改函数内局部变量的名字,操作只作用于函数内部,速度非常快。
  • Renumber
    使用Ctrl+R将弹出Renumber窗口,这个用于处理数字顺序排列的情况相当有效,比如数组下标。例如现有代码

     array[0] = 1;
     array[1] = 2;
     array[2] = 3;

现在要改为

     array[0] = 0;
     array[1] = 1;
     array[2] = 2;
     array[3] = 3;

当然可以一个个修改,但最快的方式是在array[0] = 1;之前添加array[0] = 0;,然后列选数组下标,使用Renumber功能以 0为起始值重填数值。

  • Edit Condition
    很多代码尤其是驱动代码,当中有大量的预编译定义,以实现对不同硬件配置的支持。在阅读这样的代码时最痛苦的是不能简单判断程序实际执行的代码分枝。大量分枝同时存在,常常会混淆我们的视听。比如对于下面的代码:

     #ifdef DEV1
         /* DEV1
代码代码 */
     #else
         /*
其它设备执行代码 */
     #endif

如果确定我们当前分析的是DEV1的执行情况 5,那么可以选择上下文件菜单的Edit Condition 选项,在弹出的Conditional Parsing窗口中把DEV1的值设置为True,那么 #ifdef DEV1就等价于#if 1了,相当注释掉了#else分枝的代码。反之,设置为Flase时,则注释掉#ifdef DEV1分枝的代码。

3   学会偷懒-高级应用

4   附录1-SI中正则表达式

由于在查找及替换中,经常会使用用正则表达式6,这里对SI的正则表达式进行简单介绍。

4.1   通配符

正则表达式通配符总表:

Character

Matches

^ (在表达式开始处)

行的开始部分

.

任意单个字符

[abc]

任意属于集合 abc 的单个字符

[^abc]

任意不属于集合 abc 的单个字符

*

前面字符的0个或多个重复

+

前面字符的1个或多个重复

/t

一个 tab 字符

/s

一个空格符

/w

一个空白符(包括 tab 符和空格符)

$

行的结束部分

4.2   表达式中的组

在执行替换操作时,组将大有用武之地。正则表达式的各个部分可以用/(/)进行分隔,分隔得到的每一项就是一个组。在进行替换时可通过组从匹配内容中抽取出特定串。在正则表达式中每个组都有一个编号,自左至右编号从1开始。

例如:abc/(xyx/)将能匹配 abcxyz ,此时组1就包含了 xyz 串。在进行替换操作时,就可以通过在替换后内容框中填入/1来取出这个字符串。推而广之,可以使用/<number>来取得组<number>所包含的串。

例如:当设定把/(abc/)/(xyz/)替换为/2/1的替换规则时,对于 abcxyz 被替换串,则组1包含 abc,组2包含 xyz,而替换后的内容定义为组2内容后跟组1内容(/2/1),因此将得到 xyzabc

举个真实的使用例子,相信会增加大家的兴趣。有时为方便调试,代码中到处流浪着各种形式的mytrace调用

     mytrace("Create parameter list... ");

有时希望把它们全部注释掉,而有些时候又希望把它们全部恢复回来。这是个简单的例子,可以使用

     ^/(.*/)/(//*/)/(.*mytrace.*/)/(/*//)___FCKpd___6nbsp;==> /1/3

把它们恢复回来,而使用

     ^/(.*/)/(mytrace/)/(.*/)___FCKpd___7nbsp;==> /1/*/2/3*/

则完成把它们全部注释掉。

5   附录2-SI中的宏语言

我始终认为这是SI中最有趣的部分,这是一种功能强大的编程语言,几乎可以实现在编程过程可能使用到的各种功能。

这里不准备对如何实用宏语言进行编程作介绍(可参阅SI帮助文档。),只介绍如何使用已编好程序。为方便使用,我已把这些程序都集中放在utils.em文件中,下文就此文件进行论述。

该宏文件实现了一些在编码过程中可能会用到的功能, 如添加文件头、函数说明(使用时能自动添加文件名、函数名和当前日期)和宏定义,代码补全等。

使用说明:

  1. Project/Open Project...
    打开Base工程(该工程一般在"我的文档/Source Insight/Projects/Base")
  2. Project/Add and Remove Project Files...
    加入宏文件(utils.em)
  3. Options/Menu Assignments
    打开Menu Assignments窗口,在Command中输入Macro,选中要使用的宏,添加到合适的菜单中.

推荐使用的宏:InsFileHeaderInsFunHeaderInsHeaderDefInsIfdefAutoExpand (为代码自动补全功能,建议建快捷键)

关于AutoExpand的举例说明, 当你输入了 switch 且光标正处于switch后面,运行该宏则会得到

     switch (###)
     {
     case
         break;
     default:
     }

对于InsFunHeader宏,如果有如下函数体

     int nOpenConfigFile(char *pchMemConfig, char *pchFlashConfig,
         int nSize, int nMode)
     {
         I
     }

光标在函数体内时运行该宏,那么将会在函数体上方得到

/******************************************************************************
 * nOpenConfigFile -
 * DESCRIPTION:-
 *
 * Input:    N/A
 * Output:   N/A
 * Returns: N/A
 *
 * modification history
 * --------------------
 * 1.00, Apr 19, 2007, T357 written.
 * --------------------
 ******************************************************************************/

其中的函数名及编写日期自动按实际情况填充,T357串可通过修改utils.em文件,改成你需要的名字。

6   附录3-推荐格式

所谓人各有志,这里就不说啦。

7   结束

至此,已将我所知的所有关于Source Insight(未包括其附带的Macro语言)知识在此文档中描述出来。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UltraEdit常用快捷键__引用

 

Ctrl+N
File New
Create a new document file

Ctrl+O
File Open
Open an existing document file

Ctrl+Q
File Quick Open
Open an existing document without showing File Open dialog

Ctrl+F4
File Close
Close an existing document file

Ctrl+S
File Save
Save the active document

F12
File Save As
Save the active document as a new file

Ctrl+P
File Print
Print the active document

Ctrl+X
Edit Cut
Cut text from the document into the clipboard

Ctrl+C
Edit Copy
Copy text from the document into the clipboard

Ctrl+V
Edit Paste
Paste text from the clipboard into the active document

Ctrl+0-9
Edit Select Clipboard
Select active clipboard

Ctrl+A
Edit Select All
Select All text in the active document

Ctrl+Z
Edit Undo
Undo the last action if possible

Ctrl+Y (previously Ctrl+A)
Edit Redo
Reverse the last Undo action if possible

Ctrl+J
Edit Select Word
Select the current word (same as double click)

Ctrl+E
Edit Delete Line
Delete line the cursor is on

Ctrl+F11
Edit Delete to Start of Line
Delete from the cursor to start of line

Ctrl+F12
Edit Delete to End of Line
Delete from the cursor to end of line

Ctrl+W
Toggle Word Wrap
Toggle Word Wrap on/off

F7
Edit Insert Time/Date
Insert time/date at cursor

Alt+F3 or Ctrl+F
Find
Find a character string

Ctrl+F3
Find Prev
Repeat last find toward beginning of file

F3
Find Next
Repeat last find toward end of file

Ctrl+B
Match Brace
Find matching brace (,[,{ or },],)

Ctrl+R
Replace
Find and replace a character string with another

Ctrl+G
Goto
Goto the specified line (or HEX address)

Ctrl+U
File Tree View
Toggle File Tree View

Ctrl+F8
Tag List
Toggle Tag List

Ctrl+T
Reformat Paragraph
Reformat the current paragraph or selected text

Ctrl+F5
Format To Lower
Convert selected text to lower case

ALT+F5
Format To Upper
Convert selected text to Upper case

F5
Format Capitalize
Capitalize first character of each word in selected text

Shift+F5
Format Invert Case
Invert case of all characters in selected text

Ctrl+K
Edit Spell Check
Invoke the spelling checker

ALT+C
Column Mode
Toggle column/block mode on and off

Ctrl+Backspace
Delete previous word
Delete the word preceding the cursor

Ctrl+Delete
Delete next word
Delete the word following the cursor

Ctrl+I
Insert Literal Character
Insert a literal character at the cursor position

INS
Insert/Overstrike Mode
Toggle between Insert and Overstrike mode

Ctrl+H
HEX Edit
Toggle HEX editing mode

Ctrl+D
HEX Insert/Delete
Insert or delete characters in HEX editing mode

Ctrl+F2
Set Bookmark
Toggle bookmark on and off

F2
Goto Bookmark
Goto next bookmark

Ctrl+M
Macro Play
Replay a macro

Ctrl+L
Macro Play Multiple Times
Replay a macro the specified number of times

Ctrl+F6
Next Window
Make the next document window active

Ctrl+Shift+F6
Previous Window
Make the previous document window active

Alt+F4
Exit UltraEdit
Exit UltraEdit

Alt+0-9 or Shift+Alt+0 - 9
Insert Template
Insert user defined template

F9
DOS Command
Run DOS Window command

Ctrl+F9
Last DOS Command
Repeat last DOS Window command

F10
Execute Window Program
Execute Windows Program

Ctrl+Shift+A
Inserts ? character
(As ANSI or ASCII based on the font)

Ctrl+Shift+A (Caps Lock on)
Inserts ? character
(As ANSI or ASCII based on the font)

Ctrl+Shift+O
Inserts ? character
(As ANSI or ASCII based on the font)

Ctrl+Shift+O (Caps Lock on)
Inserts ? character
(As ANSI or ASCII based on the font)

Ctrl+Shift+U
Inserts ü character
(As ANSI or ASCII based on the font)

Ctrl+Shift+U (Caps Lock on)
Inserts ü character
(As ANSI or ASCII based on the font)

Ctrl+Shift+S
Inserts ? character
(As ANSI or ASCII based on the font)

Ctrl+Shift+S (Caps Lock on)
Inserts ? character
(As ANSI or ASCII based on the font)

Ctrl+Up
Scroll Up
Scroll up one line keeping cursor in view

Ctrl+Down
Scroll Down
Scroll down one line keeping cursor in view

F4
Change Focus
Toggle focus between active file and Tree View if shown

F8
Display Function List
Display Function List

Alt+Right
Next Paragraph
Position cursor at first not space character of next paragraph

Alt+Left
Previous Paragraph
Position cursor at first not space character of current paragraph (if positioned mid-paragraph) or previous paragraph

Alt+Page Up
Top of Window
Position cursor beginning of first line in of the display

Alt+Page Down
Bottom of Window
Position cursor beginning of last line in of the display

Alt+'-' (Numeric Keypad '-' only)
Scroll to Top
Position line with cursor at top of window

Alt+'+' (Numeric Keypad '+' only)
Scroll to Bottom
Position line with cursor at bottom of window

Alt+'center' or Alt+"*" (Numeric Keypad '*' only)
Scroll to Center
Position line with cursor at center of windo

Ctrl+'1' (Numeric Keypad '1' only)
End of previous word
Position the cursor at the end of the previous word

Ctrl+'2' (Numeric Keypad '2' only)
End of next word
Position the cursor at the end of the next word

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值