自定义 PSPad 文本编辑器 编辑热键 By shawl.qiu
首先说明, 本文更多的是想推荐文本编辑器 PSPad.
这个编辑器完全免费, 功能还很强大.
用了N多编辑器, PSPad 文本编辑器是我最后的选择了.
N多有几多, 呵呵, 大概 Win32 下知名的文本编辑器我都有用过一段时间.
Editplus 因为编码关系我放弃, 不过 EP 的正则功能还是不错的.
UltraEdit 也有一点是因为编码关系, 不过更多的是Bug, 功能一大堆, 虫子更不少.
也许有人喜欢UE操作文件的二进制选项, 如果这样, 你可以使用更专业一点的二进制编辑器 010 Editor.
用得久一点的是Dreamweaver, 我只用来写代码...不过这家伙大过臃肿.
也试过Win32 下的 Vi, Emacs, 不过这两个可能在 X系统下比较好用, 我是没用一会就删了.
其他的还有 TextPad, Notepad++, alphatk etc...
PSPad 有什么比较吸引我的?
1. 可以使用命令行方式调用 , 这个我可用来做很多事情.
2. 工程文件功能无比强大(可自定义服务器地址, 可自定义无数多文件夹路径)
3. 语法高亮选项无比自由
4. 模板功能很方便
5. 可以自编写宏
6. 可以自编写脚本操作, 可使用 js/vbs 语法(就是类似本文标题说的 编辑热键)
还有...
哈哈, 我一向不会啰嗦个没完, 这会让人讨厌的.
说正题了, 什么是自定义编辑热键?
就比如, 我现在选中了一些文本, 想加入个注释标签 /* */, 那我希望 按下 CTRL+ALT+C 就可自动加入 /*文本*/.
对,要实现的就只是这个功能.
虽然简单, 不过对于那些常用的 Response.Write || document.write 加上个热键可是能省不少时间的.
当然, 我还可以自定义更多, 因为我现在操作基本上都用键盘...
下载: snippetsSq.js 原格式:
http://files.myopera.com/btbtd/javascript/PSPad_snippetsSq.7z
或者复制正文并保存为 snippetsSq.js.
保存文件 snippetsSq.js 到 pspad/script/JScript 文件夹
PSPad 主页:
http://www.pspad.com/index_en.html
shawl.qiu
2006-12-15
http://blog.csdn.net/btbtd
正文: snippetsSq.js 源代码:
- /*-----------------------------------------------------*/
- * shawl.qiu pspaad sinppetsSq
- *
- /*-----------------------------------------------------*/
-
- var module_name = "snippetsSq";
- var module_ver = "1.00";
- var module_title = "snippetsSq"
- //------------------------------------------------Begin ASP------------------------------//
- //begin Response.Write()
- function fAspRespWr() {
- var ed = newEditor();
- ed.assignActiveEditor();
- var txt = ed.selText();
- if(txt=='')
- ed.selText('Response.Write()');
- else
- ed.selText('Response.Write('+txt+')');
- ed=null;
- }
- function fAspRespWr_(){
- var ed = newEditor();
- ed.assignActiveEditor();
- var txt = ed.selText();
- if(txt=='')
- ed.selText('Response.Write();');
- else
- ed.selText('Response.Write('+txt+');');
- ed=null;
- }
- function fAspRespWr__(){
- var ed = newEditor();
- ed.assignActiveEditor();
- var txt = ed.selText();
- if(txt=='')
- ed.selText('Response.Write("");');
- else
- ed.selText('Response.Write("'+txt+'");');
- ed=null;
- }
- //begin Response.QueryString()
- function fAspRespQs() {
- var ed = newEditor();
- ed.assignActiveEditor();
- var txt = ed.selText();
- if(txt=='')
- ed.selText('Response.QueryString()');
- else
- ed.selText('Response.QueryString('+txt+')');
- ed=null;
- }
- function fAspRespQs_(){
- var ed = newEditor();
- ed.assignActiveEditor();
- var txt = ed.selText();
- if(txt=='')
- ed.selText('Response.QueryString();');
- else
- ed.selText('Response.QueryString('+txt+');');
- ed=null;
- }
- function fAspRespQs__(){
- var ed = newEditor();
- ed.assignActiveEditor();
- var txt = ed.selText();
- if(txt=='')
- ed.selText('Response.QueryString("");');
- else
- ed.selText('Response.QueryString("'+txt+'");');
- ed=null;
- }
- //------------------------end Response.QueryString()
- //begin Response.Form()
- function fAspRespF() {
- var ed = newEditor();
- ed.assignActiveEditor();
- var txt = ed.selText();
- if(txt=='')
- ed.selText('Response.Form()');
- else
- ed.selText('Response.Form('+txt+')');
- ed=null;
- }
- function fAspRespF_(){
- var ed = newEditor();
- ed.assignActiveEditor();
- var txt = ed.selText();
- if(txt=='')
- ed.selText('Response.Form();');
- else
- ed.selText('Response.Form('+txt+');');
- ed=null;
- }
- function fAspRespF__(){
- var ed = newEditor();
- ed.assignActiveEditor();
- var txt = ed.selText();
- if(txt=='')
- ed.selText('Response.Form("");');
- else
- ed.selText('Response.Form("'+txt+'");');
- ed=null;
- }
- //------------------------end Response.Form()
- //------------------------------------------------End ASP--------------------------------//
- //------------------------------------------------Begin Javascript------------------------------//
- //begin document.write()
- function fJsDcuWr() {
- var ed = newEditor();
- ed.assignActiveEditor();
- var txt = ed.selText();
- if(txt=='')
- ed.selText('document.write()');
- else
- ed.selText('document.write('+txt+')');
- ed=null;
- }
- function fJsDcuWr_(){
- var ed = newEditor();
- ed.assignActiveEditor();
- var txt = ed.selText();
- if(txt=='')
- ed.selText('document.write();');
- else
- ed.selText('document.write('+txt+');');
- ed=null;
- }
- function fJsDcuWr__(){
- var ed = newEditor();
- ed.assignActiveEditor();
- var txt = ed.selText();
- if(txt=='')
- ed.selText('document.write("");');
- else
- ed.selText('document.write("'+txt+'");');
- ed=null;
- }
- //------------------------end Response.Write()
- //------------------------------------------------End Javascript--------------------------------//
- //------------------------------------------------begin (x)html--------------------------------//
- function fXhXmp() {
- var ed = newEditor();
- ed.assignActiveEditor();
- var txt = ed.selText();
- if(txt=='<xmp></xmp>')
- ed.selText();
- else
- ed.selText('<xmp>'+txt+'</xmp>');
- ed=null;
- }
- function fXhPre() {
- var ed = newEditor();
- ed.assignActiveEditor();
- var txt = ed.selText();
- if(txt=='<pre></pre>')
- ed.selText();
- else
- ed.selText('<pre>'+txt+'</pre>');
- ed=null;
- }
- //------------------------------------------------End (x)html----------------------------------//
- //------------------------------------------------begin comment--------------------------------//
- function fJsCmtHTML() {
- var ed = newEditor();
- ed.assignActiveEditor();
- var txt = ed.selText();
- if(txt=='<!-- -->')
- ed.selText();
- else
- ed.selText('<!--'+txt+'-->');
- ed=null;
- }
- function fJsCmtMlt(){
- var ed = newEditor();
- ed.assignActiveEditor();
- var txt = ed.selText();
- if(txt=='')
- ed.selText('/* */');
- else
- ed.selText('/*'+txt+'*/');
- ed=null;
- }
- //------------------------------------------------End comment----------------------------------//
- function Init() {
- //asp
- addMenuItem ('Response.Write()', module_name, "fAspRespWr", 'CTRL+SHIFT+R');
- addMenuItem ('Response.Write()', 'temp', "fAspRespWr_", 'CTRL+SHIFT+ALT+R');
- addMenuItem ('Response.Write()', 'temp', "fAspRespWr__", 'CTRL+ALT+R');
- addMenuItem ('Response.QueryString()', module_name, "fAspRespQs", 'CTRL+SHIFT+Q');
- addMenuItem ('Response.QueryString()', 'temp', "fAspRespQs_", 'CTRL+SHIFT+ALT+Q');
- addMenuItem ('Response.QueryString()', 'temp', "fAspRespQs__", 'CTRL+ALT+Q');
- addMenuItem ('Response.Form()', module_name, "fAspRespF", 'CTRL+SHIFT+F');
- addMenuItem ('Response.Form()', 'temp', "fAspRespF_", 'CTRL+SHIFT+ALT+F');
- addMenuItem ('Response.Form()', 'temp', "fAspRespF__", 'CTRL+ALT+F');
- //js
- addMenuItem ('document.write()', module_name, "fJsDcuWr", 'CTRL+SHIFT+D');
- addMenuItem ('document.write();', 'temp', "fJsDcuWr_", 'CTRL+SHIFT+ALT+D');
- addMenuItem ('document.write();', 'temp', "fJsDcuWr__", 'CTRL+ALT+D');
- //(x)html
- addMenuItem ('<xmp></xmp>', module_name, "fXhXmp", 'CTRL+SHIFT+X');
- addMenuItem ('<pre></pre>', module_name, "fXhPre", 'CTRL+ALT+X');
- //comment
- addMenuItem ('<!-- -->', module_name, "fJsCmtHTML", 'CTRL+SHIFT+C');
- addMenuItem ('/* */', module_name, "fJsCmtMlt", 'CTRL+SHIFT+ALT+C');
- }