v2012-04-19
最近在用Notepad++,发现的确是很不错的工具,具体特色,看了下面介绍就知道了。
【notepad++简介】
Notepad++是旨在替代Windows默认的notepad而生,比notepad的功能强大很多很多。
(1)Notepad++的版本:ANSI和Unicode
Notepad++有两个版本,一个是ANSI版本,一个是UNICODE版本。
对于大多数人把Notepad++作为notepad的增强版,而需要的普通应用的话,ANSI版本和UNICODE版本,其实没啥差别。
(2)Notepad++支持丰富的插件
notepad++支持插件,添加对应不同的插件,以支持不同的功能。里面除了一些常见的插件之外,还有一些好玩的插件,比如将文字读出来的speech插件。
(3)Notepad++特点概述
Notepad++属于轻量级的文本编辑类软件,比其他一些专业的文本编辑类工具,比如UltraEdit等要启动更快,占用资源更少,但是从功能使用等方面来说,不亚于那些专业工具,而windows默认的notepad虽然更“轻量”,但是功能就太少。所以一般用notepad++,或者另一个工具notepad2来代替notapad,同样也代替太复杂和庞大的UltraEdit。
【notepad,notepad2,notepad++,ultraEdit比较】
根据个人对一些文本类编辑工具的使用感觉来看,notepad2比notepad++相对启动更快,占用资源更少,但是相对来说,功能比较少,所以,很多常用的方便的功能,还是没法使用。而ultraEdit虽然功能多,但是太消耗资源,用起来太麻烦了,关键还是收费的,而notepad++是免费的。总的概括如下:
notepad:windows自带的,占用资源最少,启动最快,但是功能太弱,以至于满足需求。是免费的。
notepad2:占用资源稍多,启动也很快,但是功能上,没有notepad++多,更没有ultraEdit多。是免费的。
notepad++:占用资源有点多,启动要停顿一下,但是功能很强大,尤其是支持插件模式,使得扩展性非常好,支持很多的其他高级功能,而且使用起来也很方便。是免费的。
ultraEdit:功能强大,但是安装文件很大,占用资源多,启动慢,而且是收费的。
因此,根据启动速度,占用资源,功能支持,等方面来综合衡量,对于notepad,notepad2,notepad++,ultraEdit来说,无疑notepad++是最好的选择了。
【notepad++插件添加方法】
方法1:可以手动去notepad++插件的官方网站下载:
http://sourceforge.net/projects/npp-plugins/files/
方法2.让notepad的插件管理器自动下载和安装
点击:Plugins -> Plugin Manager -> Show Plugin Manager-> Avaliable一栏显示当前可用的插件列表,选中你要的插件,然后点击下面的Install即可自动下载和安装对应插件,很是方便。
下面说说个人的使用体会和使用心得:
【查看当前notepad++的版本】
查看自己当前Notepad++是什么版本的话,点击工具栏上的 ?-> About Notepad++,弹出对话框会显示“Notepad++ v5.8.6 (ANSI)”字样,其中(ANSI)即代表当前是ANSI版本。
个人觉得一些好用,值得一提的特性是:
1.支持语法高亮和颜色自定义
关键是支持的语言狂多,除了常见的c/c++,java,php,而且还支持python和xml。
而且对于xml,还支持点击关键字可以展开或收缩,很是方便。后来得知,这个特性叫做代码折叠,囧。。。
还支持makefile,这样对于查看makefile文件的的话,就很方便了。
而且甚至连一般人不常用的Tex/LaTex的语法高亮,都支持了,很强大。
对于语法高亮时显示的颜色,也可以自定义,点击:
Settings -> Style Configurator
就可以根据自己需要配置不同的颜色了。
【自定义除默认后缀之外的其他后缀文件为某类型文件以实现语法高亮】
而且对于不同类型的文件的后缀,除了默认的文件后缀之外,设置自定义的文件后缀,比如我遇到的,对于普通的makefile,其默认的后缀是是.mak,而我此处自己的.mk也是makefile文件,所以可以通过这样来设置:
Settings -> Style Configurator -> 在Language中下拉找到Makefile,选择makefile,左下角会出现:
Default ext. 和user ext.,默认的扩展名(default extension)即后缀名.对应的是.mak,在user ext.所对应的框中填写.mk,
然后点击右边的 Save&Close,就可以实现notepad++自动识别.mk文件为makefile文件,然后引用对应的语法高亮了。
当然,如果不设置的话,单独打开.mk类型文件,notepad++虽然不会自动识别,没有语法高亮,但是也可以自己手动选择的:
language -> M -> Makefile,即可实现同样的功能,只是要麻烦自己每次都要手动设置而已。
2.添加hex editor插件以支持16进制编辑
notepad++支持添加HEX-Editor插件以支持16进制的查看与编辑,很是方便。
【Hex Editor插件的添加方法】
先通过上面的【查看当前notepad++的版本】的方法得知你自己的notepad++是ANSI还是UNICODE方法,
然后根据上面的 【notepad++插件添加方法】 去Notepad++插件的官网,找到并下载对应版本的Hex Editor,把插件文件HexEditor.dll,放到NotePad++路径下的 npp.5.8.6.binansiplugins文件夹里面即可。
当前也可以通过上面介绍的插件管理器,直接通过软件帮你自动下载并安装。
然后重启notepad++,就可以在Plugins中看到对应的Hex-Editor插件了。
值得一提的是,当前的最新版本(5.8.7)还支持了添加插件后,对应地在工具栏上也添加一个快捷图标,对于HexEditor来说,就是一个大写的H的图标,点击该图标,即可实现16进制查看,再次点击,又恢复到正常模式,很是方便。
3. 支持列模式编辑
按住Alt之后,就处于列模式了,然后比如你选取一列,然后点击右键,选中删除,就可以删除那些列了,松掉ALT就离开了ALT恢复普通模式了。非常好用,越来越觉得notepad++牛X了,啥功能都支持啊。。。
列操作模式中的在整个列中,整个都插入一些内容的话,可以这样操作:
Edit -> Column Editor (Alt C)
然后在Text to insert或Number to insert对应的的框中写入要插入的内容,notepad++就会自动帮你插入整列的对应的内容了。
4.选中某单词即关键字后,notepad++会自动高亮对应选中的关键字,对于文件查看来说,很是方便。
5.支持双击Tab标签关闭文件
打开多个文件的时候,上面会显示对应的Tab,默认的话,双击Tab是不能像其他一些工具一样关闭该文件的,但是可以设置的:
Settings-> Preference ->General -> Tab Bar中,选中:
Double Click to close document, 然后双击对应文件的tab就可以关闭文件了。
类似地,还有个选项:show close button on each tab,选中后,每个tab上会出现关闭按钮,也很方便使用。
6。显示文件行号:Settings-> Preference ->General -> Editing-> 选中Display Line Number,即可显示行号
7.是否打印行号:Settings-> Preference ->General -> Printing-> 是否选中Printing Line Number,默认是不选的,如果需要,可以选中,这样打印时候就可以也打印行号了,还是很方便用户根据自己需要而去设置的。
8.编辑文件后,是否备份:类似Ultra Editor,编辑一个文件后,默认会生成.bak文件的,对于notepad++来说,也是支持此功能的,不过默认是关闭的。需要的话,可以去这里设置:Settings-> Preference ->General -> Backup/Auto-completion -> 默认是None,其他还有Simple和verbose backup,可以根据自己需要而设置。
9.自动完成功能:Settings-> Preference ->General -> Backup/Auto-completion,自动完成:Auto-Completion,可以根据自己需要而设置,默认是关闭的。
10.选中某文字,然后调用google搜索:
run -> google search
除了google搜索此项功能,于此相关类似的还有,选中文字后,调用其他程序或功能,比如直接调用wiki查询该单词/文字:
run -> wikipedia search
或者直接从notepad++中打开当前文件所在文件夹:
run -> open containing folder
从notepad++中打开windows的cmd,并且已经处于当前文件夹:
run -> open current dir cmd
直接把该文件作为附件,然后打开Windows的Outlook发送邮件
run -> send via Outlook
等等,都是非常实用好用的功能。
11.暂时隐藏某些行
如果在查看文件的时候,暂时觉得需要将某些行隐藏掉,在需要的时候再正常显示,就可以先选中那些行,然后:
View -> Hide Lines
即可。然后左边标签那列就会显示对应的标示,点击即可取消隐藏。
12.支持鼠标滚轮控制缩放
notepad++不仅支持快捷键Ctrl + Num+/Num- 去控制缩放,而且还支持Ctrl+鼠标滚轮去控制当前显示内容的缩放,很是方便。
13.全屏显示
有时候显示文档的话,希望显示更多的内容,希望用到全屏显示,通过view -> Toogle Full Screen Mode F11或者Post it F12,都可以实现全屏显示,也很是方便。
14.集成了轻量级的资源管理器
通过安装插件(默认好像是已经安装了)LightExplorer后:
Plugins -> Light Explorer -> Light Explorer,就可以在左侧打开一个轻量级的资源管理器,方法打开想要打开的文件,很是方便啊。
15.导出成其他类型文件 -> 实现彩色代码的粘贴
在添加了对应的NppExport插件后,就可以导出成不同的格式,比如HTML和RTF:
plugins -> NppExport -> Export to RTF或Export to HTML
其中HTML就是普通的HTML,RTF就可以理解为简洁版本的word,所以html和rtf,两者都是支持彩色代码/字符的,因此,这个功能就可以实现我们所需要的,将已经高亮显示,彩色显示,着色后的代码,导出到word或者其他文档中了。这样的功能,是很实用的。至少我个人觉得很好用,比如将一些C代码打开后,导出成html,然后打开html复制内容后粘贴到word里面,就是彩色的代码了。当然,你也可以导出成rtf,然后本身就是和word兼容的,windows下,也就是默认用word打开的了,就省去了从html拷贝粘贴过来的步骤了。
甚至,NppExport还提供了更方便的功能:
plugins -> NppExport -> Copy HTML to clipboard 或Copy RTF to clipboard
即,直接选择内容后,拷贝该内容到剪贴板,然后你就可以在其他word文件中直接粘贴了,即如此简单地就实现了彩色代码的支持,多么爽啊。
16.代码折叠
包括对C/C++等代码,可以以单个函数为整体进行代码的折叠和展开,其他的类型的,比如XML,根据关键字所包含的内容为整体进行折叠和展开等等。
17.资源管理器中,右键点击文件,可以直接用notepad++打开该文件
这个功能类似于UltraEdit,在资源管理器中添加了右键支持,右键点击某文件后,会出现“Edit With Notepad++”,就可以直接用notepad++打开该文件了,个人觉得这个功能还是很实用的。
18.Ctrl+Tab实现在多个打开的窗口间切换
19. 支持设置是否显示列边界(右边线)
设置->首选项->编辑->列边界,可以设置是否显示列边界,而且也支持自定义“边界宽度”的大小,默认是100。
(注:一般Linux下面常用的是80.)
而且对于列边界显示模式,还支持两种:
一种是从上到下的竖边线:
另一种是把超过列边界的内容加上一定的底色:
20.可以给代码批量添加或取消注释
选中一段代码,然后:编辑 -> 注释/取消注释 -> 添加/删除单行注释,即可批量地队选中的每一行,添加或者删除注释。
此功能,对于常写代码的人来说,还是很实用的。
21.可以在安装Notepad++的时候,选择为默认的HTML编辑器
在安装Notepad++的时候,有个选项,是可以选择:
As Default html viewer
将其设置为默认的HTML编辑器的,
这样,以后用浏览器查看某网页,想要查看其html源码的话,右键点击,选择 View Source:
就可以用Notepad++来查看HTML源码了:
可以看到,其显示出来的效果,没有HTML高亮,可以自己手动设置一下:
语言-> H –> HTML:
就可以高亮的显示HTML文件了:
将Notepad++用作为HTML默认编辑器,主要适合于网络相关开发人员。
22.可以显示回车符,换行符,TAB键,行首,行尾等特殊字符
Notepad++默认,也和其他编辑器一样,是不显示空格和TAB键的,不过我最近在用Notepad++写Python脚本过程中,常需要显示空格键和TAB键,以避免两者混合缩进,所以去设置了,将空格键和TAB键也显示出来(下图以某HTML源码为例):
视图->显示符号->显示空格于制表符:
这样,就可以将空格键显示出来了,效果是四个橘黄色的点点,TAB键是右向的橘黄色箭头。
就很方便的,很清楚的看到,哪些是空格,哪些是TAB了。
另外,可以根据需要,比如想要知道那些行,有回车换行,还是单个的回车,单个的换行等,可以设置将所有的字符都显示出来:
视图->显示符号->显示所有字符:
这样全部的回车换行符,CR和LF等,就都可以显示出来了。
23.可以显示控制字符,以及插入控制字符
之前遇到的一个问题是,用python脚本导出某163博客的帖子为WXR(XML文件)但是结果导入WXR到wordpress失败,最后找到原因在于,WXR文件中,存在一些控制字符,该WXR文件效果如下:
其中包含很多DLE,ETX,EOT等控制字符,导致导入WXR到Wordpress失败。而此时,就依靠了Notepad++的所能够查看到字符中的特殊的,不可显示的控制字符,如果换做其他普通的编辑器,比如Notepad,则无法显示出对应的控制字符,也就无法解决问题了。
所以,越加发现,Notepad++的功能,真的是太强大了。
而后来,为了测试WXR中到底支持哪些控制字符,是不是所有的0-0×31都不支持,还是也支持一部分的控制字符,就需要输入这些不可显示的控制字符,后来就发现了,原来Notepad++中,也是可以输入控制字符的:
编辑->Character Panel:
然后就调出了ASCII Insertion Panel,显示了ASCII字符表,包括了控制字符:
这样,双击ASCII Insertion Panel中任一(普通或控制)字符,比如DLE,DC1这两个控制字符,就可以插入对应的控制字符了。而其他编辑器,好像没看到有这么好用的功能。
因此,不得不夸一句,Notepad++,真的是非常适合用来做文本编辑器,尤其是适合开发人员。
24.可以设置用空格取代TAB键
主要是有些情况下,比如写Python脚本的时候用到,以避免TAB键和空格键的混合缩进,其会导致Python 3.0等报错,而让输入的TAB键,自动变成空格键,则自动规避了此问题。
另外,此功能,也是出于兼容不同平台,TAB键的宽度不同,的考虑,这样,就可以避免不同平台下,不会因为TAB键是4个空格,还是2个空格等,而导致代码(文字)的对齐不匹配的现象了。
25.文件自动更新
之前不了解,关于文件自动更新,原来也是可以根据需要设置不同更新模式的。
说个最实际的例子,之前用写python脚本,在windows的cmd中输入脚本去执行,执行过程中,会生成一个log文件:xxx.log,另外每次执行不同的命令,对应的log文件内容也会变化,而该log文件以及对应的python脚本xxx.py文件,我都是用Notepad++打开的,所以,执行完cmd中的python脚本后,想要回来再次去编辑xxx.py文件,就会先遇到,关于xxx.log被更新的提示:
然后点击个yes,才能去编辑我想要编辑的xxx.py文件。
所以,每次都被这个提示框所打扰,觉得挺烦的。
后来,无意间,发现原来是可以取消此提示的:
设置->首选项->其他:
中,勾选上“自动更新文件”,之前,每次xxx.log文件再被修改,就会自动更新内容,而没有了之前的跳出的那个对话框的提示了。
类似的,也可以通过勾选或取消”启用“,实现开启或关闭自动检测文件状态这个功能。
或者每次更新完文件,想要光标自动跳到文件末尾,那么就去选上”更新后定位到末位“。
26.查找与替换中的一些高级用法
一般文本编辑器,都有查找与替换,但是Notepad++的查找与替换,功能更加值得称赞
(1)计数
如图所示:
当你双击选择某个单词后,本身Notepad++就会自动帮你高亮对应单词,然后由于一些开发过程中,想要知道当前文件,包含了多少个该单词,即该单词出现了多少次,此时一般方法是用上下查找的办法,一点点自己去数,而此处,Notepad++中的查找对话框中,有个”计数“,直接点击”计数“,就可以弹出对话框显示统计的结果,显示该单词一共出现了多少次。很是方便啊。
(2)正则表达式查找
关于查找和替换,一般的全词匹配,匹配大小写,循环查找,向上/向下等功能,那是自然也具有的功能。
在此之前,还支持不同的查找模式:
A。普通:就是按照普通字符模式去查找
B。扩展:支持回车,换行等特殊字符的查找和替换。比如,选择此模式后,输入的字符,\n就代表了回车,而非普通的一个反斜杠字符和一个字母n了。
C:则这表达式:这个功能,需要熟悉正则表达式的语法,不过真的需要用到,就能发挥其威力了。
27.支持多种字符编码
对于多种编码支持,其他编辑器,一般也支持的,但是对于像UTF-8,带BOM和不带BOM的区别,其他编辑器,一般还是没有这么详细的区别的。另外,也支持N多种编码格式,包括中文的GB2312。
而且,对于某种编码的文件,也可以自己选择,以别的另外一种编码去显示。
比如我的之前遇到的某个log文件,输入的内容,既有UTF-8的,又有GB2312的,则可以自己设置,以UTF-8和ANSI可以分别显示出对应的正确的内容。
以及将已有某种编码的文件,转换为别的格式的,还是很方便使用的。
【总结】
真的发现了,Notepad++的功能,几乎达到了,只有你想不到,没有其做不到的程度,很多很好用,很实用的功能,真的是等遇到了,才来感慨原来Notepad++功能更如此强大,如此好用。
notepad++的更多的其他功能,感兴趣的自己去探索。
总之,个人觉得,Notepad++,是个非常好用的,轻量级的,但是功能足够丰富的,文字/代码编辑工具,在此,非常地感谢那些开发者,谢谢其为我们带来这个好用的工具。
【其他参考资料】
译|评选最佳文本编辑器
http://blog.sina.com.cn/s/blog_46dac66f010006kb.html