自定义 PSPad 文本编辑器 编辑热键 By shawl.qiu

自定义 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 源代码:
 
 
 
  1. /*-----------------------------------------------------*/
  2. * shawl.qiu pspaad sinppetsSq
  3. *
  4. /*-----------------------------------------------------*/
  5. var module_name = "snippetsSq";
  6. var module_ver = "1.00";
  7. var module_title = "snippetsSq"
  8. //------------------------------------------------Begin ASP------------------------------//
  9. //begin Response.Write()
  10. function fAspRespWr() {
  11. var ed = newEditor();
  12. ed.assignActiveEditor();
  13. var txt = ed.selText();
  14. if(txt=='')
  15. ed.selText('Response.Write()');
  16. else
  17. ed.selText('Response.Write('+txt+')');
  18. ed=null;
  19. }
  20. function fAspRespWr_(){
  21. var ed = newEditor();
  22. ed.assignActiveEditor();
  23. var txt = ed.selText();
  24. if(txt=='')
  25. ed.selText('Response.Write();');
  26. else
  27. ed.selText('Response.Write('+txt+');');
  28. ed=null;
  29. }
  30. function fAspRespWr__(){
  31. var ed = newEditor();
  32. ed.assignActiveEditor();
  33. var txt = ed.selText();
  34. if(txt=='')
  35. ed.selText('Response.Write("");');
  36. else
  37. ed.selText('Response.Write("'+txt+'");');
  38. ed=null;
  39. }
  40. //begin Response.QueryString()
  41. function fAspRespQs() {
  42. var ed = newEditor();
  43. ed.assignActiveEditor();
  44. var txt = ed.selText();
  45. if(txt=='')
  46. ed.selText('Response.QueryString()');
  47. else
  48. ed.selText('Response.QueryString('+txt+')');
  49. ed=null;
  50. }
  51. function fAspRespQs_(){
  52. var ed = newEditor();
  53. ed.assignActiveEditor();
  54. var txt = ed.selText();
  55. if(txt=='')
  56. ed.selText('Response.QueryString();');
  57. else
  58. ed.selText('Response.QueryString('+txt+');');
  59. ed=null;
  60. }
  61. function fAspRespQs__(){
  62. var ed = newEditor();
  63. ed.assignActiveEditor();
  64. var txt = ed.selText();
  65. if(txt=='')
  66. ed.selText('Response.QueryString("");');
  67. else
  68. ed.selText('Response.QueryString("'+txt+'");');
  69. ed=null;
  70. }
  71. //------------------------end Response.QueryString()
  72. //begin Response.Form()
  73. function fAspRespF() {
  74. var ed = newEditor();
  75. ed.assignActiveEditor();
  76. var txt = ed.selText();
  77. if(txt=='')
  78. ed.selText('Response.Form()');
  79. else
  80. ed.selText('Response.Form('+txt+')');
  81. ed=null;
  82. }
  83. function fAspRespF_(){
  84. var ed = newEditor();
  85. ed.assignActiveEditor();
  86. var txt = ed.selText();
  87. if(txt=='')
  88. ed.selText('Response.Form();');
  89. else
  90. ed.selText('Response.Form('+txt+');');
  91. ed=null;
  92. }
  93. function fAspRespF__(){
  94. var ed = newEditor();
  95. ed.assignActiveEditor();
  96. var txt = ed.selText();
  97. if(txt=='')
  98. ed.selText('Response.Form("");');
  99. else
  100. ed.selText('Response.Form("'+txt+'");');
  101. ed=null;
  102. }
  103. //------------------------end Response.Form()
  104. //------------------------------------------------End ASP--------------------------------//
  105. //------------------------------------------------Begin Javascript------------------------------//
  106. //begin document.write()
  107. function fJsDcuWr() {
  108. var ed = newEditor();
  109. ed.assignActiveEditor();
  110. var txt = ed.selText();
  111. if(txt=='')
  112. ed.selText('document.write()');
  113. else
  114. ed.selText('document.write('+txt+')');
  115. ed=null;
  116. }
  117. function fJsDcuWr_(){
  118. var ed = newEditor();
  119. ed.assignActiveEditor();
  120. var txt = ed.selText();
  121. if(txt=='')
  122. ed.selText('document.write();');
  123. else
  124. ed.selText('document.write('+txt+');');
  125. ed=null;
  126. }
  127. function fJsDcuWr__(){
  128. var ed = newEditor();
  129. ed.assignActiveEditor();
  130. var txt = ed.selText();
  131. if(txt=='')
  132. ed.selText('document.write("");');
  133. else
  134. ed.selText('document.write("'+txt+'");');
  135. ed=null;
  136. }
  137. //------------------------end Response.Write()
  138. //------------------------------------------------End Javascript--------------------------------//
  139. //------------------------------------------------begin (x)html--------------------------------//
  140. function fXhXmp() {
  141. var ed = newEditor();
  142. ed.assignActiveEditor();
  143. var txt = ed.selText();
  144. if(txt=='<xmp></xmp>')
  145. ed.selText();
  146. else
  147. ed.selText('<xmp>'+txt+'</xmp>');
  148. ed=null;
  149. }
  150. function fXhPre() {
  151. var ed = newEditor();
  152. ed.assignActiveEditor();
  153. var txt = ed.selText();
  154. if(txt=='<pre></pre>')
  155. ed.selText();
  156. else
  157. ed.selText('<pre>'+txt+'</pre>');
  158. ed=null;
  159. }
  160. //------------------------------------------------End (x)html----------------------------------//
  161. //------------------------------------------------begin comment--------------------------------//
  162. function fJsCmtHTML() {
  163. var ed = newEditor();
  164. ed.assignActiveEditor();
  165. var txt = ed.selText();
  166. if(txt=='<!-- -->')
  167. ed.selText();
  168. else
  169. ed.selText('<!--'+txt+'-->');
  170. ed=null;
  171. }
  172. function fJsCmtMlt(){
  173. var ed = newEditor();
  174. ed.assignActiveEditor();
  175. var txt = ed.selText();
  176. if(txt=='')
  177. ed.selText('/* */');
  178. else
  179. ed.selText('/*'+txt+'*/');
  180. ed=null;
  181. }
  182. //------------------------------------------------End comment----------------------------------//
  183. function Init() {
  184. //asp
  185. addMenuItem ('Response.Write()', module_name, "fAspRespWr", 'CTRL+SHIFT+R');
  186. addMenuItem ('Response.Write()', 'temp', "fAspRespWr_", 'CTRL+SHIFT+ALT+R');
  187. addMenuItem ('Response.Write()', 'temp', "fAspRespWr__", 'CTRL+ALT+R');
  188. addMenuItem ('Response.QueryString()', module_name, "fAspRespQs", 'CTRL+SHIFT+Q');
  189. addMenuItem ('Response.QueryString()', 'temp', "fAspRespQs_", 'CTRL+SHIFT+ALT+Q');
  190. addMenuItem ('Response.QueryString()', 'temp', "fAspRespQs__", 'CTRL+ALT+Q');
  191. addMenuItem ('Response.Form()', module_name, "fAspRespF", 'CTRL+SHIFT+F');
  192. addMenuItem ('Response.Form()', 'temp', "fAspRespF_", 'CTRL+SHIFT+ALT+F');
  193. addMenuItem ('Response.Form()', 'temp', "fAspRespF__", 'CTRL+ALT+F');
  194. //js
  195. addMenuItem ('document.write()', module_name, "fJsDcuWr", 'CTRL+SHIFT+D');
  196. addMenuItem ('document.write();', 'temp', "fJsDcuWr_", 'CTRL+SHIFT+ALT+D');
  197. addMenuItem ('document.write();', 'temp', "fJsDcuWr__", 'CTRL+ALT+D');
  198. //(x)html
  199. addMenuItem ('<xmp></xmp>', module_name, "fXhXmp", 'CTRL+SHIFT+X');
  200. addMenuItem ('<pre></pre>', module_name, "fXhPre", 'CTRL+ALT+X');
  201. //comment
  202. addMenuItem ('<!-- -->', module_name, "fJsCmtHTML", 'CTRL+SHIFT+C');
  203. addMenuItem ('/* */', module_name, "fJsCmtMlt", 'CTRL+SHIFT+ALT+C');
  204. }

 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值