`

懒人专用--用好SciTE的缩写功能

阅读更多

懒人专用--用好SciTE的缩写功能

 

转自http://bbs.ctex.org/viewthread.php?tid=43620

 

版面上用SciTE的人应该不少吧,这个编辑器一个相当强大的功能是他的缩写(Abbreviation)展开功能。简单说,就是把常用的代码段、单词甚至句子和环境都定义成几个字母的缩写,打入这几个字母后ctrl+B就自动展开。开始的时候也觉得是挺平常的功能,但后来才知道简直就是Life saver。

1. 使用abbrev.properties文件
首先我想说当时为了用成这个功能就花了不少周折。我在SciTE的菜单中选择open abbreviations file,里面是空的,写了几个保存。发现没有写到SciTE目录下的abbrev.properties文件中去,满电脑找才知道写到 documents and settings里面去了。这个问题很多人碰到,作者在邮件列表中给出一个命令行的解决方法,也可以写成批处理。

set SCITE_HOME=D:\Program Files\Scintilla Text Editor\
start Scite.exe %1

存成start_SciTE.bat即可。用Total Commander的朋友可以把这个图标放在工具栏上,然后把文件往上拖就能用SciTE打开。SciTE关联.tex文件后,如果用双击启动tex文件,则要在双击tex前保证SciTE是用批处理开着的,否则SciTE还是会用doc&settings目录下的设置,包括还原上次打开的文件(session restore)。我干脆就把这个批处理加入到启动菜单,开机就开着SciTE。

然后,用SciTE打开abbrev.properties,输入你想要的缩写,规则很简单: abbreviation=expansion,例如

ltx=LaTeX

2. 定义缩写名
关于缩写名(abbreviation):喜欢在等号边上加空格的朋友注意了,等号的左边最好不要有空格,否则要输入ltx加上相应的空格才能展开。等号的右边也是一样,有空格就会展开出空格。缩写名中不能用#开始,否则注释掉了,但后面可以;不能用空格和tab开始,缩写名不能有=号,因为只接受第一个=号,后面都会认为是展开式中的=号。如果缩写名重名,后面出现的优先。
3. 定义展开式
关于展开式(expansion):展开式的书写方式支持标准的转义符--反斜杠'\',比如

up=\\usepackage{}

即:两个连续的反杠输入一个反杠。展开式的书写方式支持一个光标定位符--竖线'|',这样展开后光标会留在这个位置,比如

up=\\usepackage{|}

这样你可以很方便地马上输入宏包名称。要输入一个真正的竖线,连续输入两个竖线'||'即可,例如c语言中的或逻辑

or=||||

展开式不允许回车换行,但转义符中的\n, \t都是有效的,所以换行和制表位都能轻松输入。例如c语言的if语句:

i=if (|) {\n\t\n}

表示展开后光标在小括号里,下面自动把大括号排版并且加入了一个tab。这在写多重循环的时候非常有用,你会发现只要用缩写功能,下面的右大括号都会自动地找到缩进位置。
这几个功能结合着用,可以写出相当复杂的环境,例如我的subfigure环境:

sbf=\\begin{figure}[!htb]\n\t\\centering\n\t\\subfigure[|]{\t % Caption of subfigure in []\n\t\\label{}\t % Label of subfigure in {}\n\t\\includegraphics[width=0.45\\textwidth ]{}}\n\t\\subfigure[]{\n\t\\label{}\n\t\\includegraphics[width=0.45\\textwidth ]{}}\n\t\\caption{}\t % Caption of figure\n\t\\label{}\t % Label of figure\n\\end{figure}

展开后的效果是:

  1. \begin{figure}[!htb]
  2.     \centering
  3.     \subfigure[]{     % Caption of subfigure in []
  4.     \label{}     % Label of subfigure in {}
  5.     \includegraphics[width=0.45\textwidth ]{}}
  6.     \subfigure[]{
  7.     \label{}
  8.     \includegraphics[width=0.45\textwidth ]{}}
  9.     \caption{}     % Caption of figure
  10.     \label{}     % Label of figure
  11. \end{figure}
复制代码

不但自动插入代码,还把注释原汁原味地加上,因为我老是要去查subfigure里面的中括号写什么,大括号写什么。

(我没尝试展开式最长能多长,但如果你想试试把你常用的导言区全部定义成一个展开式,go for it !!) -- 经过测试,真的可以!只要花时间,连文档模板都可以写出来,省得学写cls文件。
4. 多重展开
还有更有趣的,缩写功能支持多重展开!比如,LaTeX的手动输入要按三次shift,十分麻烦,定义一个ltx=LaTeX就省事了,而LaTeX logo的代码是\LaTeX,并且为了保证不吞掉后面的空格,最保险的写法是\LaTeX{},真不是一般的麻烦,这时可以再定义一条LaTeX= \\LaTeX{},那么,在平时需要LaTeX这五个字母的时候,ltx后按一次ctrl+B,在需要输入logo的时候,ltx按两次ctrl+B就OK了!像有一些关键字一般要切换字体来输入,也可以这样:

mt=MATLAB
MATLAB=\\textsf{MATLAB}

再举个例子,section, subsection, subsubsection这三兄弟可以用多重展开这样写

sec=\\section{|}
section{=subsection{
subsection{=subsubsection{

然后输入sec,按一下ctrl+B出来section,两下出subsection,三下出subsubsection,挺俏皮的……
5. 追加展开
下面的追加展开功能也让人倾倒。比方说经常要给一段文字/代码什么的两边加括号,SciTE的括号补齐功能本来是好功能,这时反而成了累赘:在左边补开括号后要按del键删掉自动补上的那个闭括号,然后光标移到最后去加闭括号。SciTE支持选定这部分文字后按ctrl+shift+R打开缩写输入框,例如我的一对中括号是这样的:

ac={|}

那么,我选定文字后ctrl+shift+R再输入ac回车,括号就加上了。也就是说,选定的文字会替换竖线.
6. 合理定义缩写名
根据熵编码原理(笑),建议最常用的编最短的码,所以我figure环境就一个f:

f=\\begin{figure}[!htb]\n\t\\centering\n\t\\includegraphics[width=\\textwidth ]{|}\\\\\t % e.g.,[scale=0.75], [width=0.75\\textwidth ]\n\t\\caption{}\n\t\\label{}\n\\end{figure}

因为只要你不按ctrl+B就不会展开,就算不小心按出来了,ctrl+z马上会把展开式还原成缩写名。而且我还发现,在出现一个缩写名包括在另一个缩写名中的情况时,SciTE用的是贪婪匹配(SciTE说明文档中的说法不对)。SciTE帮助文档说,如果你定义ring和gathering两个缩写名,那么在输入gathering后按ctrl+B,只会按ring来展开,事实上是按gatherring来展开的,也就是说,在按下ctrl+B的时候,SciTE从光标处往前查找,一直匹配到abbrev文件中最长的那个缩写名并展开,并且这与缩写名的顺序无关,这个设置是相当好的(估计是后来改了,但帮助文档没改)。不过,也可以养成让缩写名完全不互相包含的习惯,例如,section, subsection, subsubsection,我原来是定义成sec, ssec, sssec,这样一个包含一个如果你不放心的话(其实没问题),不如就改成s0, s1, s2(数字表示有几个sub)。
7. 根据文件类型定义单独的缩写文件
当你开始“滥用”缩写后,你会发现冲突得厉害,但又不想把缩写名复杂成诸如for@c, for@matlab这样怎么办?SciTE支持每个文件类型单独一个缩写文件。例如,在matlab.properties最后加上
abbreviations.$(file.patterns.matlab)=$(SciteUserHome)/abbrev_matlab.properties
再新建一个abbrev_matlab.properties文件放在根目录下,就可以在打开matlab文件后,用菜单'options - open abbreviations file'来打开独立的缩写文件进行编辑。保存后不用重启SciTE立即生效。那么,在abbrev_matlab.properties里面写 for=for i=|\n\t\nend,在abbrev_cpp.properties里面写for=for(i=0;i<|;i++){\n},这样你只要记一个for就ok了。

最后,警告:很容易中毒,现在我在这里回帖的时候经常想着缩写&展开....

分享到:
评论

相关推荐

    scite-zotero-plugin:scite zotero插件

    这是由开发的Zotero插件,因此您可以使用我们的信息来丰富您的图书馆。 当前,它可以让您做两件事: 根据我们的Smart Citation数据查看每篇论文的分类统计轻松转到站点报告页面(见下文)智能引文分类统计一旦安装...

    scite-ru-src:给scite-ru新增设置行间距功能

    给scite-ru添加新增设置行间距功能。 ##关键代码 在/src/scite/src/SciTEProps.cxx中添加如下内容: int iAscent = 0; int iDescent = 0; int lineSpacing = props.GetInt("line.spacing", 2); if(lineSpacing ...

    SciTE-for-au3-and-ahk.rar_ahk 配置文件_au3_au3-scite

    然后,用户需要将压缩包内的配置文件覆盖到SciTE的默认配置文件位置,以实现对au3和ahk语法高亮、代码提示等编辑功能的支持。 **标签解析** - "ahk_配置文件":指的是与AutoHotkey相关的配置文件,它可能包含特定...

    Scite编辑器(改进版)

    该版本SCITE由2.24版本的源代码修改而来,以提高工作效率。 1、该版本SCITE将“TOOL”栏名称修改为“生成”,该栏中添加独立的清理命令,因此在配置中有command.clear.*.* 2、增加“调试”栏,该栏增加独立的调试...

    LuaForWindows_v5.1.5-52带SciTE IDE 绿色版

    这种绿色版软件的优点在于,它不会在用户的系统注册表中留下任何痕迹,因此不会对操作系统造成任何影响,同时也方便用户将整个文件夹复制到其他设备上,实现即拷即用的功能。 Lua 是一种轻量级的脚本语言,广泛应用...

    SciTe -- Corder Editor --

    **SciTe:强大的开源代码编辑器** SciTe,全称为“SciTE - Scientific ToolWindow Editor”,是由Leslie P. Francke开发的一款轻量级、高度可定制的代码编辑器,主要用于编程工作。它基于Scintilla组件,一个开源的...

    SciTE系列SciTE中文使用教程-寂寞轩精品教程

    SciTE中文使用教程 SciTE是一个小巧的文本编辑器,虽然体积很小,但可配置性相当强。 SciTE 的主要特点是小巧、快速、可配置性强,可以作为一个专业的IDE使用。 SciTE 的安装非常简单,只需要把里面的 wscite ...

    scite-3.0.4.msi

    scite-3.0.4.msiscite-3.0.4.msiscite-3.0.4.msi

    php编辑器--SciTE

    SciTE提供自动完成功能,当用户输入代码时,编辑器会根据上下文提供可能的函数或变量建议。这对于快速编码和减少错误非常有用。用户还可以通过配置文件扩展这一功能,增加自定义的代码补全规则。 **4. 支持中文** ...

    写脚本用SciTE

    "dat"文件通常不是标准的文本格式,因此在用SciTE编辑时,可能需要借助额外的工具进行解析或转换。例如,对于二进制"dat"文件,可能需要先将其转换为可读的文本格式,然后在SciTE中进行编辑。而对于文本型的"dat...

    scite-3.2.0.msi

    自动化测试所需,scite-3.2.0.msi;

    SCITE FOR JAVA(已经配置好颜色)

    总的来说,"SCITE FOR JAVA(已经配置好颜色)"是一个集成了多种便利功能的源代码编辑器,尤其适合Java开发。其预设的颜色配置、API支持、括号补全和段落移动等功能,极大地提升了开发者的编码体验。同时,对于Lua的...

    学习使用SciTE

    **标题:“学习使用SciTE”** ** SciTE详解** SciTE(Scientific ToolWindow Editor)是一款轻量级、跨平台的源代码编辑器,由著名软件开发者Glenn Fiedler创建,主要用于快速编写和测试代码。它基于Scintilla组件...

    php-SciTE2.12.rar_php api scite_scite php ide_scite php.api

    6. **效率提升**:使用SciTE作为PHP开发环境,开发者可以利用其强大的编辑功能和对PHP的深入支持,更快地编写和调试代码,减少出错可能性。 7. **社区与支持**:由于提及了“不要让站长把时间都花费在为您修正说明...

    Scite 小巧编辑器

    5. **用户配置**:Scite允许用户自定义配置,包括颜色主题、字体大小、快捷键设置等,以满足个人的使用习惯。 6. **正则表达式查找替换**:Scite内置了强大的查找和替换功能,支持正则表达式,能帮助开发者快速定位...

    sciTe(已配置版)

    在使用SCIte时,你可以根据需要修改 `SciTE.properties` 文件来定制你的开发环境,例如调整字体大小、颜色主题,或者启用或禁用某些功能。对于程序员来说,理解并掌握这些配置将有助于创建一个符合个人习惯的高效...

    SciTE4Autohotkey

    而 SciTE4Autohotkey 则为 Autohotkey 开发者提供了高效且功能丰富的编程环境。 SciTE(Scintilla-based Text Editor)是一个轻量级的、可配置的文本编辑器,基于 Scintilla 组件。它提供语法高亮、代码折叠、自动...

    SciTE文本编辑器

    **SciTE文本编辑器详解** SciTE,全称“SciTE - Scientific ToolWindow Editor”,是由著名编程工具Notepad++的作者开发的一款轻量级、高效能的文本编辑器。这款编辑器以其强大的语法高亮、代码自动完成和多语言...

    配置SciTE中文版

    ### 配置SciTE中文版 #### 概述 SciTE(Scintilla Text Editor)是一款免费、开源的文本编辑器,支持多种编程语言的语法...通过合理地调整这些配置项,可以让SciTE更好地满足个人的工作习惯和偏好,提高工作效率。

    SciTe编写Java代码

    10. **扩展性**:由于Scintilla组件的开放性,SciTe可以通过添加插件来扩展功能,如代码折叠、行号显示、代码分析等,这使得SciTe成为一款高度可定制的开发工具。 总的来说,SciTe作为一款Java代码编辑器,以其简洁...

Global site tag (gtag.js) - Google Analytics