source insight 快捷键
2007-03-31 22:50
退出程序                                : Alt+F4
重画屏幕                                : Ctrl+Alt+Space
完成语法                                : Ctrl+E
复制一行                                : Ctrl+K
恰好复制该位置右边的该行的字符          : Ctrl+Shift+K
复制到剪贴板                         : Ctrl+Del
剪切一行                                : Ctrl+U
剪切该位置右边的该行的字符              : Ctrl+;
剪切到剪贴板                         : Ctrl+Shift+X
剪切一个字                             : Ctrl+,
左边缩进                                : F9
右边缩进                                : F10
插入一行                                : Ctrl+I
插入新行                                : Ctrl+Enter
加入一行                                : Ctrl+J
从剪切板粘贴                         : 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) -
跳到连接(就是语法串口列表的地方)        : Ctrl+L
跳到匹配                                : Alt+]
下一页                                  : PgDn, (KeyPad) PgDn
上一页                                  : PgUp, (KeyPad) PgUp
向上滚动半屏                            : Ctrl+PgDn, Ctrl+(KeyPad) PgDn, (KeyPad) *
向下滚动半屏                           : Ctrl+PgUp, Ctrl+(KeyPad) PgUp, (KeyPad) /
左滚                                    : Alt+Left
向上滚动一行                            : Alt+Down
向下滚动一行                            : 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)
 
 

http://blog.csdn.net/ison81/archive/2008/12/14/3514184.aspx

正则表达式主要用来做搜索和替换,一般强大一点的编辑器都会支持。si在搜索和替换界面里都有Use Regular Expression这样的选项。个人认为使用正则表达式(后简称RE)应该是每个程序员都应该掌握的技能。虽然和vim这些相比si对RE的支持还是弱 一点,但对于从未了解过RE的人来说,从si这样的编辑器来入门RE也不失为一个好的选择。

学习任何一项科学或技术,了解其涉及的各种概念是第一步,也是比较花时间的一步,我们需要先通读达到大概了解,再实践,在实践中去理解,然后再总结,得出自己的结论,把书本变薄。

RE中的主要概念就是一堆通配符。通配符可以分为两类,一种是表内容的,一种是表数量的。

表内容的如:
.     任意字符
[abc]   任何在[]之内的字符
[^abc] 任何不在[]之内的字符,^表示不在[]之内
还有一些就是转义字符了如\t(tab), \s(space), \w(tab or space)

表数量的如:
* 大于等于0个
+ 大于0个,也就是至少有1个

其它如:
^   表示行起始,注意不要把这个^和[]里的^搞混了。
$   表示行的结束

要说明的是,不同的工具对RE的支持不太一样,比如强一点的工具支持的通配符可能会多一点,转义字符的定义也可能不一样等等。

举个例子理解一下吧,

.*   这条RE可以匹配任意的字符串序列,因为.表示任意字符,*表示大于等于0个,连起来理解就是“任意个任意字符”,[abc]+ 表示“a或b或c出现1次或多次”,像字符串abc, cbac, aacbcb,aaaaa都被可以匹配

如果还不是很理解可以用si的搜索功能自己实践一下。

在理解上面的基础之上就可以使用RE进行替换了,替换和搜索没有什么不同,比如你可以将"[abc]+"替换成"abc",但如果仅仅是这样就没有什么意思了。替换里和RE相关的内容是分组。与分组有关的概念包括:

1. 一个分组以\(开始,以\)结束
2. 一个RE中可以有多个分组
3. 引用一个分组使用\1, \2, \3, ...

还是举个例子吧,假设我们的代码中有个函数叫func,它的原型定义如下

void func(int var1, int var2)

某天我心血来潮,把func的原型修改成了,

void func(int var2, int var1)

如 果没有RE,这下子可就麻烦了,所有调用func的地方都要手工挨个修改,好在有RE。按下Ctrl+h,选择使用RE进行替换,在Old中输 入"func( \(.*\), \(.*\)  )",在New中输入"func( \2, \1)",然后执行,你会发现全部搞定了。

当然 ctrl+h只能在本文件中搜索替换,要想替换整个工程的,可以使用ctrl+shift+h。

Source Insight中的正则表达式

今天看了下面blog的内容后,解决了一个替换问题,如果手工替换则需要很长时间才能完成。

摘至:http://blog.csdn.net/Jupin/archive/2007/10/19/1832536.aspx

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

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

----------------------------------------------------

我的问题是,代码中有下面这样的代码:

#define CLASS(x) class x

这样定义后,就有很多类定义成了下面的样子:

CLASS ( CText )

{

……

}

导致Rose无法反向工程此类,Source Insight等编辑工具也不认识此类。

解决办法:

使用Source Insight中的正则表达式替换功能,把CLASS ( CText )替换成了class CText,替换方法如下:

原始串:

CLASS\s*(\s*\(.+\)\s*)

目标串:

class \1

Tips:

如果要匹配 一个变量test在哪里赋值,test后可能有n个空格;之后有等号,之后又有n个空格

类似于

test =    1;

test     = 2;

test     =   4;

可用通过test\s+=\s 搜索

转载于:https://my.oschina.net/alphajay/blog/65255

Source Insight中的正则表达式和快捷键相关推荐

  1. 在source insight 中添加系统字体

    在source insight 中添加系统字体 1. "控制面板:--->"字体"--->找到Courier New(建议用这个字体,比Courier要平滑) ...

  2. 解决 Source Insight中的parse too complex问题

    FROM:http://blog.csdn.net/kunbo_1399614213/article/details/46730049 Source Insight 在导入文件后,有个别的文件无法正常 ...

  3. Source Insight中的多行注释

    我们经常要对一整段代码进行注释,很多代码编辑器都提供了这样的功能:用快捷键"Ctrl + /"来实现"//"的多行注释. 但是在用source insight的 ...

  4. Source Insight中Quicker.em的使用方法

    1.安装方法 Source Insight有很多宏可以用,这里介绍的宏是quicker.em这个宏,它是华为的一个员工写的,很实用. 1)安装quicker.em宏 一.打开base这个工程Proje ...

  5. 工具及方法 - 在Source Insight中使用代码格式化工具

    在Source Insight 4.0中,有代码格式化工具: 当你打开某个源文件后,可以对当前文件进行格式修改: 有ANSI.GNU.K&R三种编码风格可以选择. 也可以自己进行设置: 同时, ...

  6. Source Insight中显示函数调用关系的方法

    接上一篇博客,解决了中文注释乱码后,使用Source Insight显示函数调用关系树状图 网上借鉴了一些经验,但感觉可能是版本不同未能完全奏效,下面我将记录我最终探寻出的解决方法 1.双击编辑器中需 ...

  7. Source Insight中查看文件显示全路径

    使用Source insight的时候想看文件的全路径,但是默认的是中间省略的路径,所以可以通过: 1.Options-->Preferences-->Display 设置Trim lon ...

  8. ubuntu14.04中 gedit 凝视能显示中文,而source insight中显示为乱码的解决的方法

    1.乱码显示情况: 2.用gedit打开文件,并用ctrl+shift+s(另存为),当中charactor coding选为chinese simplified(GB2312); 2.改动个文件名称 ...

  9. Source Insight中无法正确判断宏定义的问题

    Source Insight阅读C语言项目,会出现#ifdef无法正确判断宏定义值导致无法正确跳转到#else的问题,因为软件本身只能识别TRUE和FALSE,解决方法是右键该宏定义选择"E ...

  10. source insight快捷键及使用技巧

    2019独角兽企业重金招聘Python工程师标准>>> 原文转自http://lucjn.blog.163.com/blog/static/925911520091116843548 ...

最新文章

  1. Linux(64位)下OpenBabel 2.4.1、python2.7和Ipython实战(一)
  2. 揭秘深度学习成功的数学原因:从全局最优性到学习表征不变性
  3. nagios监控安装
  4. linux gcc 宏定义 __GNUC__ __GNUC_MINOR__ 版本区分
  5. 摩托罗拉能否追回逝去的那些年?
  6. C 中 static 的常见作用
  7. 不插网线 开机速度加快
  8. netty解决方法 io.netty.util.IllegalReferenceCountException: refCnt: 0, increment: 1
  9. LayaAir 文本 Text API 详解
  10. java socket 客户端接收_java socket,怎么把客户端接收到的用户名和密码发送给后台?...
  11. 简单的JAVA小程序
  12. 6个高效学习编程的方法
  13. 我爱淘冲刺阶段站立会议2每天任务2
  14. java虚无世界_我的世界1.7.10工业虚无整合包
  15. 百战c++(数据库2)
  16. Python案例1—人民币与美元的汇率兑换V_3.0
  17. YOLO工程代码如何在windows上配置和运行!window上YOLO训练样本的制作
  18. PS 运行错误代码: 16 的解决方法
  19. vim中显示和关闭行号
  20. php 第三方认证中心 框架,仿百度钱包源码红色优享钱包网贷借款源码/接入第三方认证,去后门修复缺陷ThinkPHP开发...

热门文章

  1. System Center Configuration Manager 文档
  2. 在TabActivity中无法使用bindService的解决方法
  3. 清空SQL数据库日志
  4. sencha touch 2中list控件分组排序
  5. Elasticsearch 7.9.3 发布
  6. SQL server无法打开项 UNKNOWN\Components\929B2416EC4102B48A989956983ACF45\1F7B2B09C788E7644A0F08CA9C1D解决办法
  7. win10系统eclipse中整合hadoop错误
  8. linux平台上不同类型的压缩文件的压缩与解压
  9. 广东技能大赛软件测试项目,我校喜获2019年全国职业院校技能大赛软件测试赛项二等奖...
  10. 六石管理学:半弹性工作时间