自定义 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. }

自定义 PSPad 文本编辑器 编辑热键 By shawl.qiu相关推荐

  1. Vue 自定义富文本编辑器 tinymce 支持导入 word 模板

    自定义富文本编辑器分为前端项目和后端项目两个部分,首先先说一下前端项目 前端 前端项目地址: https://github.com/haoxiaoyong1014/editor-ui 编辑器名称: t ...

  2. html编辑完后扩展名是,【填空题】使用文本编辑器编辑完HTML后,扩展名可以是 或 。...

    [填空题]使用文本编辑器编辑完HTML后,扩展名可以是 或 . 更多相关问题 基本放大电路实验中使用的仪器有 基本存款账户的存款人可以通过本账户办理转账结算和现金缴存,但不能办理现金支取. 基本物理运 ...

  3. Java学习-使用文本编辑器编辑Java源代码

    概念: 操作码(OP Operation Code) 字节码文件(Bytecode File) 字节码是一种包含执行程序,由一序列op代码/数据对组成的二进制文件,是一种中间码.字节是电脑里的数据量单 ...

  4. html自定义实现文本编辑器,自定义开发富文本编辑器(Javascript实现点击插入内容到textarea光标处)...

    富文本编辑器相信很多程序员都用过,但是如何自己制作一个仿富文本的编辑器来解决一些简单的或自定义的需求呢?下面给大家共享一个使用JavaScript实现在textarea光标处插入指定文本内容以及字符串 ...

  5. word读入富文本编辑器,编辑后导出下载word日常总结

    基本思路就是: 使用poi读入word文档, 读入内容转为html内容,(直接读入text仅仅只是文本没有格式) 将html内容给富文本编辑器显示(这样的目的是带格式). 下边贴代码: poi读入wo ...

  6. Mac自带文本编辑器TextEdit编辑大文件后打不开

    前段时间用Mac自带文本编辑器编辑文本.把一段超过十万行的excel文本粘贴进去,然后就看着小圈圈转啊转-进入漫长等待,最后无奈command+Q.之后再打开文本编辑器都是直接提示崩溃,然后尝试重装这 ...

  7. JavaScript 所见所得文本编辑器 Froala Editor 4.0.17Crack

    Froala Editor v4.0.17 清除格式工具现在可以从粘贴的内容中删除内联样式. 2023 年 1 月 24 日 - 9:07新版本 特征 清除格式工具现在可以从粘贴的内容中删除内联样式. ...

  8. XWriterLib文本编辑器中间件软件技术白皮书

    XWriterLib文本编辑器中间件软件 技术白皮书 (初稿) 袁永福 2007-11-5 前言 XWriterLib文本编辑器中间件软件是XDesigner图形软件工作室自主开发的有一个高级图形软件 ...

  9. 2021-11-17 layui富文本编辑器的使用(layedit)

    参考文章: 文档地址 layui富文本框layedit的使用及内容的禁用 html <textarea id="demo" name="demo" pla ...

最新文章

  1. 知其所以然~redis的原子性
  2. 阿里巴巴Java开发手册-使用JDK8的Opional类来防止出现NPE问题
  3. Java7并发编程指南——第一章:线程管理
  4. java用一个方法对变量初始化_java中怎么给变量初始化?
  5. Android设备的ID
  6. AVAudioRecorder(ios7)
  7. 阶段3 2.Spring_06.Spring的新注解_4 spring的新注解-Import
  8. java用不起_Java,泛型不起作用
  9. mysql改根用户_MySQL数据库中复位根用户密码的方法 | 很文博客
  10. I2S协议-一篇文章带你了解
  11. 我的007之skyfall歌词鉴赏及翻译
  12. [异常] Encountered a duplicated sql alias [name] during auto-discovery of a native-sql query;
  13. BIOS和UEFI的区别
  14. C语言指针 五分钟入门!你要是不理解,我就当场把这个编译器.........
  15. MOOS程序解析记录(6)pLogger
  16. 如何从APK查看apk版本号
  17. 你与顶级UI设计师的区别在哪里
  18. Python学习日记1
  19. python在excel中数据画线_python中操作excel数据
  20. 微信小程序demo1计算器

热门文章

  1. SwaggerHub 更快,标准化的API设计软件
  2. 寻找三角形 (海伦公式)
  3. 【MPU6050能读ID 但读数据值为零(一个硬件问题)】
  4. 2022年安全员-A证特种作业证考试题库及答案
  5. 云舒3C,巧解云南电网GIS系统之殇的利刃
  6. 一个人颓废的九大根源
  7. 流程图头脑风暴类软件
  8. arm linux i2c 总线驱动,ARM-Linux中I2C总线驱动开发
  9. 揭密让程序猿谈外包而色变的原因
  10. 博通wifi驱动详解(二)