【crifan推荐】轻量级文本编辑器,Notepad最佳替代品:Notepad++
版本:v3.0
Crifan Li
摘要
本文主要介绍了笔者crifan推荐的轻量级文本编辑器,Notepad最佳替代品:Notepad++,
内容主要包含notepad,notepad2,notepad++,ultraEdit的比较,使用Notepad++前要了
解的知识,Notepad++的插件,Notepad++的安装过程,Notepad++的各种常见和不常见的功
能的详解
[提 本文提供多种格式供:
示] 在线阅读 HTML HTMLs PDF CHM TXT RTF WEBHELP
下载(7zip压缩包) HTML HTMLs PDF CHM TXT RTF WEBHELP
HTML版本的在线地址为:
http://www.crifan.com/files/doc/docbook/rec_soft_npp/release/html/
rec_soft_npp.html
有任何意见,建议,提交bug等,都欢迎去讨论组发帖讨论:
http://www.crifan.com/bbs/categories/rec_soft_npp/
2013-12-15
┌─────────────────────────────────────────────────────────────────────────────┐
│修订历史 │
├────────────────────────────┬────────────────────────────────────┬───────────┤
│修订 3.0 │2013-12-15 │crl │
├────────────────────────────┴────────────────────────────────────┴───────────┤
│ 1. 添加了3个正则表达式替换的例子:给sect2的title不变前提下添加xml:id │
│ 2. 添加了3个正则表达式替换的例子:将antlr的token中的id的引号去掉变成token │
│ 3. 添加了3个正则表达式替换的例子:将原先的单引号括起来的ID变成antlr中的该 │
│ token的定义 │
│ 4. 如果乱码则切换到所推测的编码直至消除乱码 │
│ 5. 修复了一些笔误 │
│ 6. 把正则的查找和替换,单独整理成子xml,同时把图片也移至独立的文件夹。 │
│ 7. 把列模式单独整理成子xml │
│ 8. 增加正则替换的例子:dd宏定义中去除多国语言字符串,C宏定义转java变量定义 │
│ 9. 增加正则替换的例子:docbook的link变bibliomixed │
├────────────────────────────┬────────────────────────────────────┬───────────┤
│修订 2.1 │2013-09-04 │crl │
├────────────────────────────┴────────────────────────────────────┴───────────┤
│ 1. 添加了用Notepad++选用合适的编码打开对应的文件 │
│ 2. 添加了XBracket Lite插件的内容 │
│ 3. 添加了2个正则表达式替换的例子 │
│ 4. 添加了1个正则表达式查找的例子 │
│ 5. 添加了文字右对齐 │
│ 6. 添加了格式化XML │
│ 7. 添加了单词的自动完成 │
│ 8. 添加了1个正则表达式替换的例子 │
│ 9. 添加了1个正则表达式替换的例子:给sect2添加xml:id和title │
│10. 添加了Ctrl+D拷贝单行或多行 │
├────────────────────────────┬────────────────────────────────────┬───────────┤
│修订 1.0 │2012-08-03 │crl │
├────────────────────────────┴────────────────────────────────────┴───────────┤
│ 1. 把npp从crifan_rec_soft中提取称为单独的book │
└─────────────────────────────────────────────────────────────────────────────┘
版权 © 2013 Crifan, http://crifan.com
本文章遵从:署名-非商业性使用 2.5 中国大陆(CC BY-NC 2.5)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
目录
正文之前
1. 目的
2. 原帖
3. 为何推荐Notepad++
3.1. Notepad++的一些基本特点
3.2. notepad,notepad2,notepad++,ultraEdit比较
4. 使用Notepad++前要了解的知识
4.1. Notepad++的名称和缩写
4.2. Notepad++修改设置后,立即生效
4.3. Notepad++的版本:ANSI和Unicode
5. 声明
1. Notepad++的插件
1.1. Notepad++插件的存在形式与位置
1.1.1. Notepad++中被禁用了的插件
1.1.1.1. 如何恢复被禁用的插件
1.2. Notepad++默认已经安装了的一些插件
1.3. Notepad++插件的下载与安装
1.3.1. 去哪里下载Notepad++的插件
1.3.2. Notepad++插件的安装方法
1.3.2.1. 手动安装插件
1.3.2.2. 通过Plugin Manager安装插件
1.4. Notepad++中常用的插件
1.4.1. 插件管理器: Plugin Manager
1.4.1.1. 打开Plugin Manager
1.4.1.2. 通过Plugin Mangager安装插件
1.4.2. 16进制编辑器: HEX-Editor
1.4.2.1. 以16进制模式查看当前文件
1.4.3. 导出彩色代码为其他(word,HTML)格式的文件: NppExport
1.4.3.1. 将当前(已着色/代码高亮/语法高亮的)彩色代码导出到Word文件
或HTML网页中
1.4.4. 轻量级资源管理器: Light Explorer
1.4.4.1. 通过Light Explorer浏览文件,打开文件
1.4.5. 括号自动补全插件: XBracket Lite
1.4.5.1. 通过XBracket Lite实现括号的自动补全
1.4.6. 支持Notepad++中使用js脚本实现功能扩展: jN
1.4.7. 显示函数列表:Function List
1.4.8. js代码压缩,js代码格式化,JSON查看器: JSMinNpp
2. Notepad++的安装过程
2.1. Notepad++安装:选择语言
2.2. Notepad++安装:安装向导
2.3. Notepad++安装:许可证协议
2.4. Notepad++安装:选择安装位置
2.5. Notepad++安装:选择组件
2.6. Notepad++安装:选择组件(参数)
2.7. Notepad++安装:安装完成
3. Notepad++的功能详解
3.1. Notepad++支持右击打开所选文件
3.2. Notepad++的语法高亮
3.2.1. 语法高亮的实现逻辑
3.2.2. 实现未知类型(不支持的后缀名)的文件的语法高亮
3.2.2.1. 通过手动设置语言,实现未知类型文件的语法高亮
3.2.2.2. 通过添加文件后缀名,实现未知类型文件的语法高亮
3.2.3. 自定义语法高亮的颜色
3.3. Notepad++的多种编码支持
3.3.1. 用Notepad++查看当前文件编码
3.3.2. 用Notepad++选用合适的编码打开对应的文件
3.3.3. 如果乱码则切换到所推测的正确的编码直至消除乱码
3.3.4. 用Notepad++实现不同字符编码之间的转换
3.3.5. 设置Notepad++新建文件(默认)的编码类型
3.4. Notepad++的正则表达式替换和替换
3.5. Notepad++的计数功能
3.6. Notepad++的列编辑功能
3.6.1. 什么是列编辑模式
3.6.2. Notepad++的列编辑模式的基本操作
3.6.3. Notepad++的列编辑模式的高级用法
3.7. Notepad++的代码折叠
3.8. Notepad++的自动完成
3.8.1. Notepad++的单词自动完成
3.9. Notepad++的默认HTML查看器
3.10. Notepad++支持显示回车符,换行符,TAB键,行首,行尾等特殊字符
3.11. Notepad++支持插入特殊字符
3.12. Notepad++高亮所选关键字
3.13. Notepad++中Windows,Unix,Mac三种格式之间的转换
3.13.1. 查看当前文件格式(换行符用的是什么字符)
3.13.2. 从Windows转换为Unix/Linux格式
3.13.3. 从Unix/Linux转换为Mac格式
3.13.4. 从Mac格式转换为Windows格式
3.14. Notepad++高亮匹配的键对
3.15. Notepad++文件自动更新
3.16. Notepad++设置用空格取代TAB键
3.17. Notepad++给代码单行/批量,添加/取消注释
3.18. Notepad++的多主题
3.18.1. Notepad++主题: Default
3.18.2. Notepad++主题: Bespin
3.18.3. Notepad++主题: Black Board
3.18.4. Notepad++主题: Choco
3.18.5. Notepad++主题: Zenburn
3.18.6. Notepad++主题: Deep Black
3.18.7. Notepad++主题: Hello Kitty
3.18.8. Notepad++主题: Mono Industrial
3.18.9. Notepad++主题: Monokai
3.18.10. Notepad++主题: Obsidian
3.18.11. Notepad++主题: Plastic Code Wrap
3.18.12. Notepad++主题: Ruby Blue
3.18.13. Notepad++主题: Solarized-Light
3.18.14. Notepad++主题: Solarized
3.18.15. Notepad++主题: Twilight
3.18.16. Notepad++主题: Vibrant Ink
3.18.17. Notepad++主题: Vim Dark Blue
3.19. Notepad++的一些小功能
3.19.1. 支持双击Tab标签关闭文件
3.19.2. 显示文件行号
3.19.3. 支持是否打印行号
3.19.4. 编辑文件后,是否备份
3.19.5. 调用搜索引擎搜索选定文字
3.19.5.1. 更改google搜索功能的快捷键
3.19.6. 暂时隐藏某些行
3.19.7. 支持鼠标滚轮控制缩放
3.19.8. 全屏显示
3.19.9. Ctrl+Tab实现在多个打开的窗口间切换
3.19.10. 支持设置是否显示列边界(右边线)
3.19.11. 文字显示:右对齐和左对齐
3.19.11.1. 如何设置文字右对齐
3.19.11.2. 文字右对齐的效果
3.19.12. 格式化(成漂亮的输出效果)
3.19.12.1. 用Notepad++格式化XML
3.19.13. Ctrl+D拷贝单行或多行
3.19.13.1. 直接复制光标所在的当前行的内容
3.19.13.2. 复制选中的部分文字,多行内容等内容
参考书目
插图清单
2.1. Notepad++的右击打开文件功能
2.2. Notepad++默认已安装了一些插件
3.1. XML文件中的Notepad++的代码折腾功能
表格清单
1. Notepad,Notepad2,Notepad++,UltraEdit之间的对比
范例清单
3.1. 在Notepad++中使用ISO-8859-1编码打开VirtualBox的Manual的HTML源码
3.2. 出现乱码,猜测出是西欧编码,切换到ISO 8859-1而消除乱码
3.3. Notepad++正则表达式替换举例:一次性替换多个文件的后缀
3.4. Notepad++正则表达式替换举例:一次性替换多个路径
3.5. Notepad++正则表达式替换举例:一次性替换多个listitem为sect4
3.6. Notepad++正则表达式替换举例:给每一行都添加AddIcon的前缀
3.7. Notepad++正则表达式替换举例:给book的标题和地址添加html代码
3.8. Notepad++正则表达式替换举例:查找单个的CR或LF
3.9. Notepad++正则表达式替换举例:去除href链接
3.10. Notepad++正则表达式替换举例:把标题和地址转换为link格式
3.11. Notepad++正则表达式替换举例:给关键字添加双引号,把逗号变成竖杠
3.12. Notepad++正则表达式替换举例:wlw中图片分行
3.13. Notepad++正则表达式替换举例:给sect2添加xml:id和title
3.14. Notepad++正则表达式替换举例:保持sect2和title添加xml:id
3.15. Notepad++正则表达式替换举例:去除单引号变成antlr的token
3.16. Notepad++正则表达式替换举例:将单引号加ID变成antlr的token的定义
3.17. Notepad++正则表达式替换举例:dd宏定义中去除多国语言字符串
3.18. Notepad++正则表达式替换举例:C宏定义转java变量定义
3.19. Notepad++正则表达式替换举例:docbook的link变bibliomixed
3.20. 列编辑:多行输入同样内容
3.21. 列编辑:删除多行内容
3.22. 列编辑:多行中插入相同或不同的内容
3.23. 列编辑:同时复制和粘贴多列
3.24. Notepad++可以查看特殊字符的用途举例
3.25. Notepad++可以插入特殊字符的用途举例
正文之前
目录
1. 目的
2. 原帖
3. 为何推荐Notepad++
3.1. Notepad++的一些基本特点
3.2. notepad,notepad2,notepad++,ultraEdit比较
4. 使用Notepad++前要了解的知识
4.1. Notepad++的名称和缩写
4.2. Notepad++修改设置后,立即生效
4.3. Notepad++的版本:ANSI和Unicode
5. 声明
1. 目的
本文旨在推荐我个人(crifan)觉得好用的,轻量级文本编辑器,Notepad最佳替代品:
Notepad++
2. 原帖
此文所对应的,原先的旧帖为:[1]
3. 为何推荐Notepad++
因为Notepad++的确很好用,有很多优点,值得推荐给不熟悉的人。
3.1. Notepad++的一些基本特点
关于Notepad++,先用几句话概述一下其特点:
• Notepad++是一个文本编辑工具,而且是免费的。
• Notepad++旨在替代Windows默认的Notepad而生,比notepad的功能强大很多很多。
• Notepad++比UltraEdit更加轻量级,比Notepad2等更强大好用。
• Notepad++本身的功能已经非常强大,且又支持插件,可以扩展更多的功能。并且已经
有很多很有用和好用的插件可供选择使用。
3.2. notepad,notepad2,notepad++,ultraEdit比较
在详细介绍Notepad++之前,先来解释一下,为何要选择Notepad++,即把常见的一些文本
编辑器和Notepad++比较,看看其有哪点好:
常见的文本编辑器有很多,此处,只提及Notepad,Notepad2,Notepad++和UltraEdit。
对于这些文本编辑器,之前或多或少都曾用过,但是随着使用经验的增长,越加发现,
Notepad++是最好用的。
目前,在Windows环境下,偶已完全抛弃除了Notepad++之外的其他文本编辑器了。
下面,就对这几种常见的文本编辑器,做个大概比较:
表 1. Notepad,Notepad2,Notepad++,UltraEdit之间的对比
文本编辑器 是否免费 功能强弱 易用性1 资源消耗 启动和编辑速度 其他说明
2
Notepad 免费 非常弱 易用 很少 快 Windows自带,免安
装
Notepad2 免费 强 易用 一般 快
Notepad++ 免费 非常强 易用 稍多 快
UltraEdit 收费 非常强 难用 非常多 慢
1 此处的易用性,主要指的是,有很多细节的功能上,虽然都支持某功能,但是是否方
便用户使用。
比如,列编辑的功能,UltraEdit和Notepad++都支持,但是第 3.6 节 “Notepad++的
列编辑功能”支持直接通过Alt+鼠标,就可以选择多列并拷贝粘贴了,很是方便使用
。
2 此处主要是,对于大一点的文件,在编辑的时候,是否很快。
因此,根据启动速度,占用资源,功能支持等方面来综合衡量,对于notepad,notepad2,
notepad++,ultraEdit来说,无疑notepad++是最好的选择了。
4. 使用Notepad++前要了解的知识
安装和使用Notepad++之前,需要了解一些相关的基本知识:
4.1. Notepad++的名称和缩写
Notepad++,对应的英文全称为Notepad Plus Plus,一般写为NotepadPlusPlus,常缩写为
npp
4.2. Notepad++修改设置后,立即生效
Notepad++中,改变某配置的值之后,(不像其他软件,需要点击“启用”或“确定”,才能看
到效果,而是),立即生效,即可可以看到效果。
最明显的一个例子就是,当改变了Notepad++的主题后,即可可以看到当前主题的效果。详
参:第 3.18 节 “Notepad++的多主题”
4.3. Notepad++的版本:ANSI和Unicode
Notepad++有两个版本,一个是ANSI版本,一个是UNICODE版本。
[提 如何查看Notepad++的版本
示] Notepad++中,点击:? → 关于Notepad++...F1
[about_note]
即可看到对应的标有Unicode,或者ANSI的字样,我这里的是Unicode的:
[npp_versio]
对于大多数人把Notepad++作为notepad的增强版,而需要的普通应用的话,ANSI版本和
UNICODE版本,其实没啥差别。
不过,就像[2]中所说的,如果不是非得用ANSI版本才支持的极个别插件的话,那么还是推
荐大家使用Unicode版本的,其支持几乎所有的字符。
[提 Unicode几乎包括了世界上的所有字符
示] 如题,Unicode就是为了统一世界上如此多的字符而出现的,所以推荐使用Unicode版
本的Notepad++。
关于Unicode更多的解释,请参看:[3]
结论:不用管太多,记住用Unicode版本的Notepad++就行了。
5. 声明
任何疑问,意见,建议等,都欢迎一起探讨:admin (at) crifan.com。
第 1 章 Notepad++的插件
目录
1.1. Notepad++插件的存在形式与位置
1.1.1. Notepad++中被禁用了的插件
1.1.1.1. 如何恢复被禁用的插件
1.2. Notepad++默认已经安装了的一些插件
1.3. Notepad++插件的下载与安装
1.3.1. 去哪里下载Notepad++的插件
1.3.2. Notepad++插件的安装方法
1.3.2.1. 手动安装插件
1.3.2.2. 通过Plugin Manager安装插件
1.4. Notepad++中常用的插件
1.4.1. 插件管理器: Plugin Manager
1.4.1.1. 打开Plugin Manager
1.4.1.2. 通过Plugin Mangager安装插件
1.4.2. 16进制编辑器: HEX-Editor
1.4.2.1. 以16进制模式查看当前文件
1.4.3. 导出彩色代码为其他(word,HTML)格式的文件: NppExport
1.4.3.1. 将当前(已着色/代码高亮/语法高亮的)彩色代码导出到Word文件或
HTML网页中
1.4.4. 轻量级资源管理器: Light Explorer
1.4.4.1. 通过Light Explorer浏览文件,打开文件
1.4.5. 括号自动补全插件: XBracket Lite
1.4.5.1. 通过XBracket Lite实现括号的自动补全
1.4.6. 支持Notepad++中使用js脚本实现功能扩展: jN
1.4.7. 显示函数列表:Function List
1.4.8. js代码压缩,js代码格式化,JSON查看器: JSMinNpp
插件,意味着功能的扩展。
所以当你需要某些功能,而Notepad++本身没有提供此功能,此时就可以考虑插件了。
Notepad++不仅支持通过插件扩展已有功能,更主要的是目前已经有非常多的插件可供选择
了。
而且很多功能都是很实用和很方便使用的。
你可以通过点击工具栏中的插件(P),而找到目前已经安装了哪些可用的插件:
[npp_plugin]
下面对Notepad++的插件的各个方面,进行详细介绍:
1.1. Notepad++插件的存在形式与位置
Notepad++的插件是dll文件的形式存在的
比如16进制编辑器,HEX-Editor,对应的dll文件是:HexEditor.dll
插件是存放在安装目录下的plugins目录中,比如D:\Program Files (x86)\Notepad++\
plugins
1.1.1. Notepad++中被禁用了的插件
某些插件,由于某些原因,比如兼容性不够好的话,会在重新安装Notepad++的过程中,被
Notepad++直接禁用掉。
比如,我最喜欢的其中一个插件,叫做HEX-Editor,由于兼容性不好而在安装过程中被禁
用:
[hexeditor_]
被禁用的插件,其dll文件会被移至到disabled目录中,比如D:\Program Files (x86)\
Notepad++\plugins\disabled
1.1.1.1. 如何恢复被禁用的插件
有时候,我们需要恢复被禁用的插件。
比如上述HEX-Editor,对于我来说,用了几年了,其实都没遇到啥兼容性问题,所以(在
安装完毕后)需要恢复(继续使用)该插件。
而恢复该插件的办法,其实很简单,就是到disabled中,找到对应的dll文件,然后放回
plugins目录中即可。
比如此处的例子,就是把HexEditor.dll从D:\Program Files (x86)\Notepad++\plugins\
disabled移动到D:\Program Files (x86)\Notepad++\plugins即可。
1.2. Notepad++默认已经安装了的一些插件
如图 2.2 “Notepad++默认已安装了一些插件”中所介绍,在安装Notepad++的过程中,默认
已经安装了一些常用插件,这些插件的目前包括:
• Spell Checker
• NPP FTP
• NppExport: 第 1.4.3 节 “导出彩色代码为其他(word,HTML)格式的文件:
NppExport”
• Plugin Manager: 第 1.4.1 节 “插件管理器: Plugin Manager”
• Converter
关于各插件的功能的详细介绍,请参考第 1.4 节 “Notepad++中常用的插件”
1.3. Notepad++插件的下载与安装
1.3.1. 去哪里下载Notepad++的插件
目前已知这些地方可以找到Notepad++的插件:
• Notepad++的SourceForge的Plugins主页
里面可以直接下载对应的插件。不过需要注意的是,该页面中的插件数量,相对不多
。
• ? ⇒ 获取插件
在Notepad++软件中,点击菜单栏左右边的那个问号,然后点击获取插件:
[questionma]
就可以自动帮你调用浏览器打开页面:[4]
该页面中,包含了对于每个插件的简单介绍,以及其所适用于的版本,是ANSI还是
Unicode的。
对于想要找一些功能,但是连插件名都不知道的情况下,很适合去那里找找。
如同第 4.3 节 “Notepad++的版本:ANSI和Unicode”中的介绍,Notepad++插件也是分ANSI
和Unicode版本的,所以,你下载插件的时候,记得要下载和你当前Notepad++版本所匹配
的插件。
比如,[5]版本的[6]中就有:HexEditor_0_9_5_UNI_dll.zip和
HexEditor_0_9_5_ANSI_dll.zip,所以,如果你用的是前面所推荐的Unicode版本的话,那
么所需要下载的就是HexEditor_0_9_5_UNI_dll.zip。
1.3.2. Notepad++插件的安装方法
Notepad++的插件有多种安装方法:
1.3.2.1. 手动安装插件
参考第 1.3.1 节 “去哪里下载Notepad++的插件”中的描述,去最全的Notepad++插件的官
方主页中,找到自己想要的插件。该页面中同时也提供了下载地址。
把下载到的插件的dll文件,放到对应的安装目录下的plugins目录中即可。
个别的插件,还需要安装其他一些配置文件,比如一些xml配置文件等。具体如何操作,下
载下来的插件压缩包中,都会有对应的提示的,按照提示安装即可。
1.3.2.2. 通过Plugin Manager安装插件
关于如何通过使用Plugin Manager去安装插件,请参看第 1.4.1 节 “插件管理器: Plugin
Manager”
[注 插件安装完毕后,最好重启Notepad++
意] Notepad++插件安装完毕后,需要重启Notepad++,这样才能正确识别并可用。
1.4. Notepad++中常用的插件
1.4.1. 插件管理器: Plugin Manager
插件功能:此插件可以帮你管理插件,包括查看当前已经安装的插件有哪些,以及自动帮
你下载相应的插件。
插件用途:主要用于管理(安装和卸载)插件
插件安装:在安装过程中,默认已选择安装此插件:图 2.2 “Notepad++默认已安装了一些
插件”
1.4.1.1. 打开Plugin Manager
插件(P) → Plugin Manager → Show Plugin Manager → Avaliable,一栏显示当前可用的
插件列表,选中你要的插件,然后点击下面的Install即可自动下载和安装对应插件,很是
方便。
[2545659689]
其中,在Intalled一栏可以看到当前已经安装了的插件有哪些:
[installed_]
1.4.1.2. 通过Plugin Mangager安装插件
下面以Light Explorer为例,说明如何通过Plugin Manager来安装插件:
通过第 1.4.1.1 节 “打开Plugin Manager”打开Plugin Manager后,找到并选中Light
Explorer,然后点击Install:
[plugin_man]
Plugin Manager就会帮你自动下载对应的插件并安装:
[installing]
安装完毕后,会提示你是否重启:
[install_pl]
选择“是”后,Notepad++会自动重启,并且会自动打开关闭前已打开的这些文件。
此时,就可以看到已经安装的插件了:
[installed_]
1.4.2. 16进制编辑器: HEX-Editor
插件功能:此插件主要提供了16进制查看与编辑的功能。
插件用途:以16进制模式查看和编辑文件。
插件安装:参考第 1.3 节 “Notepad++插件的下载与安装”去安装Hex Editor插件
HEX-Editor功能详解:
1.4.2.1. 以16进制模式查看当前文件
有几种方法实现以16进制模式查看当前文件:
• 插件(P) ⇒ HEX-Editor ⇒ View in HEX Ctrl+Alt+Shift+H
[6749769941]
• 点击工具栏上HEX Editor的图标
• 直接使用快捷键:Ctrl+Alt+Shift+H
[提 提示
示] 退出16进制模式,和进入16进制模式的方法相同。
然后就可以以16进制模式,查看当前文件了:
[1043146263]
接着,就可以去查看和编辑对应的16进制的值。
关于更多的选项,比如想要设置其他字体类型和字体大小,可以去上述的HEX-Editor下面
的Options中,根据自己的需要设置:
[hex_editor]
1.4.3. 导出彩色代码为其他(word,HTML)格式的文件: NppExport
插件功能:导出已着色代码为其他格式的文件
插件用途:将彩色代码,导出为word文档(RFT)或网页(HTML)文件,或者将彩色代码(
RTF格式或HTMl格式)拷贝到剪贴板,粘贴到别的(word文档,HTML网页)中去。
插件安装:在安装过程中,默认已选择安装此插件:图 2.2 “Notepad++默认已安装了一些
插件”
NppExport功能详解:
1.4.3.1. 将当前(已着色/代码高亮/语法高亮的)彩色代码导出到Word文件或HTML网页中
对于选中的代码,将其对应的RTF格式的内容,复制到剪贴板:
[copy_rtf_t]
然后粘贴到新建的word文档中:
[copy_hl_rt]
想要获得彩色代码的人,对于此功能,相信会非常喜欢的。
[提 直接拷贝代码,是没有彩色代码的效果的
示] 差点忘了说了,与此处的彩色代码拷贝功能相对应的是:
对于在普通文本编辑器中,包括当前的Notepad++编辑器,安装普通赋值操作去的拷贝
的一段代码:
[copy_plain]
然后粘贴到别的地方,是没有彩色代码的效果的:
[paste_plai]
所以,有了对比,才知道此处彩色代码拷贝的好处。
对应的,想要将整个文件全部导出的话,就是:
插件(P) ⇒ NppExport ⇒ Export to RTF
[nppexport]
即可将当前已经语法高亮的彩色的xml代码:
[orig_hl_xm]
导出到word文件中了:
[hl_xml_cod]
很明显,如果你需要在word中粘贴此彩色代码,此功能,再好用不过了。
对于导出为HTML网页,做法是类似的:
[export_hl_]
1.4.4. 轻量级资源管理器: Light Explorer
插件功能:轻量级的Explorer
插件用途:方便打开文件
插件安装:参考第 1.4.1.2 节 “通过Plugin Mangager安装插件”去安装Light Explorer插
件。
Light Explorer功能详解:
1.4.4.1. 通过Light Explorer浏览文件,打开文件
可以通过直接点击对应的图标去打开轻量级的资源管理器:
[opened_lig]
接下来,就很简单了,就是浏览文件夹,找到想要打开的文件,双击,即可用此Notepad++
打开该文件了。
刚试了试,发现,此处,不论是何种文件,比如图片,都可以用Notepad++打开的。
当然,打开的图片等类型的文件的话,也都是以文本模式打开的:
[light_expl]
1.4.5. 括号自动补全插件: XBracket Lite
之前就一直希望Notepad++拥有此功能,结果没找到选项,现在终于通过插件得以实现了。
是从Bracket autocompletion中得知的此插件XBracket Lite的。
插件功能:对于一些括号类的字符,比如单引号',双引号",圆括号(,大括号{,反括号[等,
自动帮你实现自动补全
插件用途:减轻了写代码和编译xml类的文件时候的工作量
插件安装:参考第 1.4.1.2 节 “通过Plugin Mangager安装插件”去安装XBracket Lite插
件,截图如下:
[select_xbr]
XBracket Lite功能详解:
1.4.5.1. 通过XBracket Lite实现括号的自动补全
先去打开相应的设置:
[choose_xbr]
再根据自己的需要去设置:
[xbrackets_]
其中解释一下相应的选项的含义:
• Treat'' as brackets
把单引号',也看成是括号,这样以后输入单个单引号,也可以实现自动补全另一个单
引号了。
• Treat< > as brackets
把尖括号也看成是括号的一类,这样就方便了在xml,html等文件中写tag的时候,自
动帮你补全。
如果选择了: >,那么输入了<后,就补全出来/>了。
如果选择了:Only if file extension contains,那么就只有当前是这些htm,xml等
文件的时候,才对于尖括号使用自动补全。别的类型文件中,不去对尖括号实现补全
操作。
• Skip escaped bracket characters:\[,\} etc.
当输入\[或者是\}的时候,就不自动补全。
因为在写代码时,很多时候反斜杠加上这些括号,本身就是想要表示单个字符而已,
所以不需要补全。
• Autocomplete brackets([{""}])
即是否启用此插件。
设置好之后,启用该插件,随便打开个文件,输入这些括号类字符的时候,就会发现,可
以自动帮你实现自动补全了。
1.4.6. 支持Notepad++中使用js脚本实现功能扩展: jN
之前叫做NppScripting,后来改名为jN
插件功能:使得Notepad++中可以通过运行对应的javascript脚本,其会扩展一些额外功能
,添加相应的菜单,提供各种功能
插件用途:使得你可以实现,自己写javascript脚本,几乎可以实现任何你想要的功能。
而且本身其已经实现了很多常用的功能,供你使用。
插件安装:
参考第 1.3.2.1 节 “手动安装插件”下载jn.zip
解压后,把jN文件夹和jN.dll拷贝到Notepad++的plugin目录下即可。
更多的细节,参考【记录】利用Notepad++的jN插件中的URL编码解码插件,实现从错误的
google地址中提取原始url的功能
1.4.7. 显示函数列表:Function List
插件功能:用于显示出函数的列表。支持很多种语言,包括C, C++, Resource File,
Java, Assembler, MS INI File, HTML, Javascript, PHP, ASP, Pascal, Python, Perl,
Objective C, LUA, Fortran, NSIS, VHDL, SQL, VB and BATCH
插件用途:这样以后打开Python等文件,就可以通过双击显示出来的函数列表中的某函数
,实现快速定位到相应的位置了。
插件安装:
参考第 1.3.2.1 节 “手动安装插件”下载FunctionList_2_1_UNI_dll.zip
解压后,按照install.txt中的提示去:
把FunctionList.dll拷贝到安装目录\Notepad++\plugin下
把Gmod Lua.bmp和C++.flb拷贝到安装目录\Notepad++\plugin\config下
把FunctionListRules.xml拷贝到 %APPDATA%\Notepad++\plugins\config下
其中需要注意的是,此处的FunctionListRules.xml就是定义了各种语言的搜索函数的规则
。必须把该文件拷贝到上述位置才可以。像我最开始的时候,拷贝到安装目录\Notepad++\
plugin\config下是不可以的。
而%APPDATA%的位置,在我这里的是C:\Users\CLi\AppData\Roaming\Notepad++\plugins\
config
之后通过插件 ⇒ Function List ⇒ List...或者快捷键Ctrl+Alt+Shift+L,就可以打开当
前文件的函数列表了:
[function_l]
1.4.8. js代码压缩,js代码格式化,JSON查看器: JSMinNpp
插件功能:包含三个功能:
1. js代码压缩
2. js代码格式化功能
3. JSON代码查看器,以树状列表显示
插件用途:三和一功能的插件,很是方便使用。
插件安装:
参考第 1.3.2.1 节 “手动安装插件”,去JSMinNpp下载JSMinNPP.1.11.2.uni.zip,解压后
把JSMinNPP.dll拷贝到plugin目录即可。
去试了试,真的很好用:
1. js代码压缩
[jsmin_comp]
2. js代码格式化功能
[jsmin_form]
3. JSON代码查看器,以树状列表显示
[jsmin_json]
话说,装了这个插件之后,以前一直使用的,在线版本的HTML/JS代码格式化网站:
Beautify JavaScript or HTML,就可以减少使用次数了。
因为javascript,json等代码,都可以使用此插件格式化并以树状显示了。
只不过,对于html代码的格式化,还是需要用到那个jsbeautifier的。
第 2 章 Notepad++的安装过程
目录
2.1. Notepad++安装:选择语言
2.2. Notepad++安装:安装向导
2.3. Notepad++安装:许可证协议
2.4. Notepad++安装:选择安装位置
2.5. Notepad++安装:选择组件
2.6. Notepad++安装:选择组件(参数)
2.7. Notepad++安装:安装完成
其实关于Notepad++的安装,本身操作步骤简单,没有太多解释必要,但是对于安装过程中
很多的参数,有必要解释一下:
下面就详细解释一下Notepad++的安装过程:
下载了notepad的可执行文件,比如npp.6.1.1.Installer.exe后,双击它,接着就可以安
装了:
2.1. Notepad++安装:选择语言
其默认语言是English:
[install_de]
此处改为“简体字”:
[install_ch]
然后点击OK:
[install_la]
2.2. Notepad++安装:安装向导
然后出现欢迎界面,点击下一步:
[install_gu]
2.3. Notepad++安装:许可证协议
出现“许可证协议”,点击我接受:
[install_li]
2.4. Notepad++安装:选择安装位置
然后是“选择安装位置”的界面,对于其中的“目标文件夹”,可以使用默认设置的值,也可
以选择一个别的路径,比如我此处改为了D盘的相应位置:D:\Program Files (x86)\
Notepad++\
[install_lo]
再点击下一步
2.5. Notepad++安装:选择组件
出现“选择组件”的界面:
[install_ch]
可以看到,此处有好几个选项:
• Context Menu Entry
图 2.1. Notepad++的右击打开文件功能
Notepad++的右击打开文件功能
默认已勾选
其作用是添加右键快捷键。即,对于任何文件右击所出现的菜单中,都会有“Edit
with Notepad++”:
[edit_with_]
其显而易见的好处是,可以很方便的启动Notepad++去打开相应的(任何)文件。
• Auto Complete Files
Notepad++安装选项:Auto Complete Files.
[auto_compl]
默认已勾选其作用是,对于各种语言或规范(C,C++,Docbook,Python等),支持第
3.8 节 “Notepad++的自动完成”的功能。
• Plugins
图 2.2. Notepad++默认已安装了一些插件
Notepad++默认已安装了一些插件
默认已勾选
其作用是,默认是否安装一些插件。当然,这些插件是足够的好用和常用,所以
Notepad++才会默认将他们集成进来,默认勾选上的。
关于这些插件的详细功能的介绍,参见第 1.4 节 “Notepad++中常用的插件”
• Localization
[components]
默认无勾选
其作用是,在Notepad++的界面显示方面的对于各种语言的支持,即Notepad++本身软
件的各个工具栏等部分的显示的文字所用的语言。
对应着Notepad++中的:设置(T) → 首选项... → 常用,中的“界面语言”:
[interface_]
此处可选可不选,因为本身除了当前中文和默认英文,其他的也基本遇不到。
• Themes
Notepad++安装选项:Themes.
[components]
默认已勾选。即Notepad++中,是否支持各种主题。其对应着Notepad++中的:设置(T)
→ 语言格式设置...,中的“选择主题”:
[choose_the]
关于每种主题的效果,可以参看第 3.18 节 “Notepad++的多主题”
• As default html viewer
Notepad++安装选项:As default html viewer.
[as_default]
默认无勾选。建议勾选。选上后,其就可以用作默认的HTML网页源码编辑器了,详情
参看:第 3.9 节 “Notepad++的默认HTML查看器”
• Auto-Updater
[check_auto]
默认已勾选。
作用为,安装此模块后,就可以支持Notepad++的自动更新了。
其对应着:设置(T) → 首选项... → 其他,中的“启用Notepad++自动更新”:
[enable_npp]
启用后,每次Notepad++启动时,都会去检测是否有更新。如果有,会跳出对话框提示
你是否更新的。
• User Manual
[user_manua]
默认已勾选。
作用是,安装本地的帮助文件。其是网页的形式。Notepad++中通过点击:? → 帮助
Shift+F1:
[questionma]
即可打开对应的网页文件:
[local_html]
根据需要,选择所需的组件后,点击"下一步"
2.6. Notepad++安装:选择组件(参数)
会出现另外一些组件参数选择:
[choose_com]
其也有一些参数需要解释:
• Don't use %APPDATA%
默认没勾选。
作用是允许配置文件放在Notepad++的安装路径下。由此,可以实现支持把整个
Notepad++都放到U盘中,到处带着跑了。
其用途主要是,如果本身自己对于Notepad++有很多自定义的配置,而换了个电脑,就
得重新配置Notepad++,很是麻烦。
而此时,就可以在安装的时候,选择此项,这样以后所有的配置都是放在安装路径下
,然后你可以把此Notepad++全部文件都放到U盘中。
这样,换了电脑,也都可以继续使用你自己的这个Notepad++了。
• Allow plugins to be loaded from %APPDATA%\\notepad++\\plugins
默认没勾选。
作用是不太了解。看起来好像是说,允许从%APPDATA%\\notepad++\\plugins的位置,
载入插件,如此做法,有一定的安全隐患。
其估计指的是,有些不安全的插件,放到对应位置的话,其也会自动载入,所以可能
会导致一些安全问题。
• Create Shortcut on Desktop
默认没勾选。
在桌面穿件一个Notepad++的快捷方式。
常见使用Notepad++的方式都是从文件右键中选择“Edit with Notepad++”,所以一般
不需要在桌面创建快捷方式。
• Use the obsolete and monstrous icon
默认没勾选。
使用旧的风格的图标。
估计旧的风格的图标很难看,所以作者才说,即使你选择此项,其也不会责怪你的。
要不然肯定是默认也勾选此项才对。
然后点击“安装”,即可。
2.7. Notepad++安装:安装完成
安装完毕后,会出现相应的安装完毕界面:
[install_co]
然后点击“完成”,即可启动默认勾选了的Notepad++了。
至此,Notepad++安装完毕。
第 3 章 Notepad++的功能详解
目录
3.1. Notepad++支持右击打开所选文件
3.2. Notepad++的语法高亮
3.2.1. 语法高亮的实现逻辑
3.2.2. 实现未知类型(不支持的后缀名)的文件的语法高亮
3.2.2.1. 通过手动设置语言,实现未知类型文件的语法高亮
3.2.2.2. 通过添加文件后缀名,实现未知类型文件的语法高亮
3.2.3. 自定义语法高亮的颜色
3.3. Notepad++的多种编码支持
3.3.1. 用Notepad++查看当前文件编码
3.3.2. 用Notepad++选用合适的编码打开对应的文件
3.3.3. 如果乱码则切换到所推测的正确的编码直至消除乱码
3.3.4. 用Notepad++实现不同字符编码之间的转换
3.3.5. 设置Notepad++新建文件(默认)的编码类型
3.4. Notepad++的正则表达式替换和替换
3.5. Notepad++的计数功能
3.6. Notepad++的列编辑功能
3.6.1. 什么是列编辑模式
3.6.2. Notepad++的列编辑模式的基本操作
3.6.3. Notepad++的列编辑模式的高级用法
3.7. Notepad++的代码折叠
3.8. Notepad++的自动完成
3.8.1. Notepad++的单词自动完成
3.9. Notepad++的默认HTML查看器
3.10. Notepad++支持显示回车符,换行符,TAB键,行首,行尾等特殊字符
3.11. Notepad++支持插入特殊字符
3.12. Notepad++高亮所选关键字
3.13. Notepad++中Windows,Unix,Mac三种格式之间的转换
3.13.1. 查看当前文件格式(换行符用的是什么字符)
3.13.2. 从Windows转换为Unix/Linux格式
3.13.3. 从Unix/Linux转换为Mac格式
3.13.4. 从Mac格式转换为Windows格式
3.14. Notepad++高亮匹配的键对
3.15. Notepad++文件自动更新
3.16. Notepad++设置用空格取代TAB键
3.17. Notepad++给代码单行/批量,添加/取消注释
3.18. Notepad++的多主题
3.18.1. Notepad++主题: Default
3.18.2. Notepad++主题: Bespin
3.18.3. Notepad++主题: Black Board
3.18.4. Notepad++主题: Choco
3.18.5. Notepad++主题: Zenburn
3.18.6. Notepad++主题: Deep Black
3.18.7. Notepad++主题: Hello Kitty
3.18.8. Notepad++主题: Mono Industrial
3.18.9. Notepad++主题: Monokai
3.18.10. Notepad++主题: Obsidian
3.18.11. Notepad++主题: Plastic Code Wrap
3.18.12. Notepad++主题: Ruby Blue
3.18.13. Notepad++主题: Solarized-Light
3.18.14. Notepad++主题: Solarized
3.18.15. Notepad++主题: Twilight
3.18.16. Notepad++主题: Vibrant Ink
3.18.17. Notepad++主题: Vim Dark Blue
3.19. Notepad++的一些小功能
3.19.1. 支持双击Tab标签关闭文件
3.19.2. 显示文件行号
3.19.3. 支持是否打印行号
3.19.4. 编辑文件后,是否备份
3.19.5. 调用搜索引擎搜索选定文字
3.19.5.1. 更改google搜索功能的快捷键
3.19.6. 暂时隐藏某些行
3.19.7. 支持鼠标滚轮控制缩放
3.19.8. 全屏显示
3.19.9. Ctrl+Tab实现在多个打开的窗口间切换
3.19.10. 支持设置是否显示列边界(右边线)
3.19.11. 文字显示:右对齐和左对齐
3.19.11.1. 如何设置文字右对齐
3.19.11.2. 文字右对齐的效果
3.19.12. 格式化(成漂亮的输出效果)
3.19.12.1. 用Notepad++格式化XML
3.19.13. Ctrl+D拷贝单行或多行
3.19.13.1. 直接复制光标所在的当前行的内容
3.19.13.2. 复制选中的部分文字,多行内容等内容
下面就来详细介绍Notepad++中的N多好用易用的功能:
下列功能的排名先后顺序,由个人所认为的该功能的重要性高低而决定
3.1. Notepad++支持右击打开所选文件
即,通过右击某文件,然后选择"Edit with Notepad++",就可以用Notepad++打开该文件
了。
虽然此功能很简单,但是相当的实用,而且也是最常用的功能。
[注 注意
意] 此功能是由开始安装Notepad++的时候,选择是否安装此功能的。
Notepad++安装程序中,默认已选择开启该功能了。
详情参考:图 2.1 “Notepad++的右击打开文件功能”
3.2. Notepad++的语法高亮
[npp_hl_mak]
语法高亮,Syntax Highlight,也被叫做代码高亮
其实,其他很多文本编辑器也都支持此语法高亮功能,但是发现Notepad++支持的语言更多
,更方便使用。
个人用过的,就有C,C++,Python,XML,HTML,xml,Javascript等,
甚至还支持一些相对很多人不是很常用的类型,比如makefile,tex/LaTex等。
而对于这些的支持,作为开发者的话,如果等你遇到了,有此需求了,就会发现,这些功
能是多么有用。
3.2.1. 语法高亮的实现逻辑
Notepad++对于任何一个文件,想要实现对应的语法高亮的话,大概逻辑是:
先是根据该文件后缀,去判断该文件属于哪种类型的文件
然后再调用对应的语法高亮配置,给不同的关键字(和符合对应逻辑的代码),设置不同
的属性,包括字体粗细,改变颜色等
最终得到我们所看到的语法高亮后的代码的效果。
因此,如果文件没有后缀,或者不支持该文件的后缀名,则Notepad++打开该文件后,也没
法自动对其实现语法高亮。
比如对于一个文件,Makefile.mk,其是一个makefile文件,用Notepad++打开后,由于无
法识别后缀,不知道是何种类型文件,所以无法语法高亮:
[can_not_hl]
而如何对不支持的文件类型实现语法高亮,就是下面第 3.2.2 节 “实现未知类型(不支持
的后缀名)的文件的语法高亮”要介绍的内容了。
3.2.2. 实现未知类型(不支持的后缀名)的文件的语法高亮
3.2.2.1. 通过手动设置语言,实现未知类型文件的语法高亮
语言(L)⇒M⇒Makefile:
[lan_m_make]
即可看到语法高亮的效果了:
[highlighte]
[注 注意
意] 通过手动设置语言的方式实现语法高亮,只对当前打开的文件有效,关闭再打开,就
失效了,就需要再手动操作一次,相对比较麻烦。推荐用下面的办法:第 3.2.2.2 节
“通过添加文件后缀名,实现未知类型文件的语法高亮”
3.2.2.2. 通过添加文件后缀名,实现未知类型文件的语法高亮
设置⇒语言格式设置⇒语言,选择Makefile
可以看到左下角有默认扩展名为mak,意思为,当Notepad++打开mak后缀的文件的时候,就
识别为Makefile文件,调用Makefile的语法高亮设置,对此文件进行颜色设置。
对应的,想要支持mk后缀的Makefile文件的话,在自定义扩展名中,加上对应的mk
[add_suf_mk]
同样可以实现对于后缀名为mk的文件,去实现对应的Makefile的语法高亮的效果。
[提 提示
示] 通过添加后缀名的方式,则可以实现之后的每次打开此后缀的文件名,都可以自动识
别,并实现语法高亮的效果了。即一劳永逸的效果。
[注 注意
意] • 不要将mk写成.mk或*.mk
添加自定义扩展名的时候,不需要加点".",也不需要加星号点"*.",否则是无法
识别的。
• 想要给自定义扩展名中,添加多个后缀名的话,经过测试,正确做法是:多个文
件名后缀之间以空格区分:
[multi_suf_]
而不是(我)原以为的,分号";"或者冒号非分隔符":"。
3.2.3. 自定义语法高亮的颜色
对于语法高亮时显示的颜色,也可以自定义:设置⇒语言格式设置:
[2538904289]
接下来,就可以根据自己需要配置不同的颜色了。
3.3. Notepad++的多种编码支持
[提 关于字符编码的知识
示] 关于字符编码方面的知识,如果不是很了解的话,建议先去看看[7]
以及相关的中文字符编码:[8]
在对什么字符编码,以及常见的一些字符编码,比如ISO 8859,UTF-8,GB2312,GBK等,
有个最基本的了解之后,我们再来看看Notepad++在字符编码方面,有哪些功能:
3.3.1. 用Notepad++查看当前文件编码
对于想要知道当前文件所用的字符编码类型,可以如下操作:
选择格式(M),然后就可以看到当前字符编码类型了:
[check_cur_]
可以看到,当前xml文件所用字符编码类型为"以 UTF-8 无 BOM 格式编码"。
[提 提示
示] 关于UTF-8的BOM,不了解的可参考[9]
需要提及的一些是,一般我们中文和英文,最常用的几个字符编码,大概有:
• 最通用的UTF-8,包含了(全世界几乎)所有的字符
• 双字节的Unicode/UTF-16/UCS-2 LE(Little Endian)
• 简体中文:GB18030 > GBK > GB2312
• 繁体中文:Big5
对应的编码,截图如下:
[9A8B8BF501]
3.3.2. 用Notepad++选用合适的编码打开对应的文件
当你打开某个文件时,可能会遇到一些乱码。
此时,如果知道当前文本本身是用的是何种编码,则可在Notepad++中选择对应编码打开,
就可以正确显示文件内容了。
例 3.1. 在Notepad++中使用ISO-8859-1编码打开VirtualBox的Manual的HTML源码
比如,在打开VirtualBox官网中的用户手册(UserManual)的HTML源码的时候,默认是用
ANSI编码打开的,所以会有乱码:
[def_ansi_m]
[提 提示
示] 对于如何用Notepad++打开该HTML并高亮显示,可参考第 3.9 节 “Notepad++的默认
HTML查看器”
此时,注意到该HTML源码已经通过charset=ISO-8859-1标明了使用的编码是ISO-8859-1了
,所以,此时可以去改为对应的ISO-8859-1编码:
[change_to_]
就可以看到对应的乱码的字符,都可以正常显示了:
[iso_8859_1]
由此,就可以实现了,在Notepad++中,使用正确的编码打开相应的文件,解决了乱码显示
问题。
[提 通过html中的charset推测编码
示] 此处由于HTML的特殊性,正常情况下,都会在头部加上charset=xxx来指明当前HTML所
用编码
所以此处可以利用此信息去以正确编码显示出内容,而避免了乱码。
对于其他类型文件,在不知道文件编码的情况下,就只能自己手动多试试不同编码了
。
最常见的几种,其实也就是那几种,比如UTF-8,ANSI(此处为GBK),GB2312之类的。
3.3.3. 如果乱码则切换到所推测的正确的编码直至消除乱码
如上所述,当HTML源码时,可以通过charset去得知文件编码。
但是,很多时候,我们去打开一个文件时,
可能会遇到乱码,但是由于未必立刻就已知其文件编码是什么
所以,只能去猜测其编码是什么,然后再切换到对应的编码类型,去查看内容是否可以正
常显示。
例 3.2. 出现乱码,猜测出是西欧编码,切换到ISO 8859-1而消除乱码
比如遇到一个例子:
打开文件时,出现是乱码:
[standard_h]
看起来,就像是西欧类的字符,所以,去切换到对应的ISO 8859-1编码:
[change_to_]
然后真的就消除了乱码,可以正常显示出对应的一些特殊的西欧字符了:
[messy_code]
此处,很明显,由于对于编码稍微熟悉,所以一次就猜对了编码,而使得快速消除了乱码
。
如果,你对于编码不是很熟悉,则可以多去尝试不同的编码,
最后,肯定也还是可以切换到正确的编码,可以正常显示字符的。
而随着对于字符编码的了解越来越深入,则自然会越加熟悉的,越容易一次或几次就猜对
文件的正确的编码的。
3.3.4. 用Notepad++实现不同字符编码之间的转换
很多时候,我们需要在不同字符编码之间,进行相互转换。
或者由于某些需要,要建立对应的编码的文件。
比如,写Python代码的时候,常需要文件本身的编码就是UTF-8的,
此时,就可以用Notepad++的字符编码转换方面的功能了。
比如,此处将本地一个UTF-8的xml文件:
[utf8_xml]
其中,中文字符所对应的16进制的如下:
[xml_utf8_h]
然后点击“转为 ANSI 编码格式”:
[change_utf]
即可转为ANSI编码了,此时文件已被修改,所以先保存一下该文件,然后再查看编码,就
变为ANSI编码了:
[changed_an]
此时再去查看对应的中文字符所对应的16进制的值,就变了:
[ansi_hex]
而此处的ANSI编码,可以简单的理解为“本地”编码,而此处是本地编码是中文的GBK,所以
此处ANSI即为GBK中文编码。
相应地,可以根据自己需要,在多个不同的字符编码之间互相转换。
3.3.5. 设置Notepad++新建文件(默认)的编码类型
当我们在Notepad++中新建一个文件时,可以通过第 3.3.1 节 “用Notepad++查看当前文件
编码”看到新建的文件所使用的字符编码:
[new_create]
此处为UTF-8。
而想要改变新建文件的默认所用字符编码,可以通过:
设置(T) ⇒ 首选项...
[set_first_]
新建,中的“编码”:
[set_new_cr]
然后设置为自己所需要的编码格式。
[注 Notepad++的bug:有时候执行编码转换会导致内容丢失
意] 我遇到过好多次了,在执行代码转换的时候,结果是当前Notepad++打开页面变成空白
了,即内容瞬间丢失了,按Ctrl+Z,也无法撤销此操作。
如果不是有备份文件的话,则就会导致文件内容丢失。
如果是很重要的文件的话,文件内容丢失,损失还是很严重的。
尽管Notepad++此编码转换导致文件内容丢失的bug,出现的概率很小,但是也还是建
议,对于重要文件的编码转换,转换之前,先备份一下。
3.4. Notepad++的正则表达式替换和替换
下面就来详细介绍Notepad++中关于正则表达式的部分,主要是查找和替换。
对于替换功能,一般的文本编辑器,都具有此功能,但是对于高级的正则表达式替换,则
很多都不支持。而此处Notepad++支持此功能。
正则表达式的替换,在很长一段时间内,我都没有用到过。而后来有此需求的时候,由于
不熟悉,导致也没去折腾具体如何使用的。
后来有空去弄了下,终于搞懂了。对此类功能不了解的人,会没啥感觉,但是看了下面的
介绍,你就会发现这类功能的强大之处。
例 3.3. Notepad++正则表达式替换举例:一次性替换多个文件的后缀
举例说明,此处我有个xml文件,其中原始的内容为:
然后就可以成功实现28处的替换,替换出来的效果为:
[rep_after_]
替换后的html代码,再添加上相应的html代码:头部的:
$+{bookTitle} $+{bookTitle}
最终就可以实现需要显示出来的完整的表格信息了:
[book_tit_a]
则又一次地,极大地提高了工作效率。否则要一个个的复制和粘贴,累死了不说,也还容
易出错。
例 3.8. Notepad++正则表达式替换举例:查找单个的CR或LF
后来一次,遇到一个需求是:对于单个文件中,查找所谓的不一致的换行符
去看了一下当前文件中,正常都是Windows类型的回车换行,CRLF
想要找到哪里出现了单个的CR或LF
而由于文件有很多行,里面有N个CRLF,而要一眼看出哪里有单个的CR或LF,很困难,或者
说不可能,所以只能靠正则表达式去搜索寻找了
然后最终使用正则表达式是:
\r(?!\n)|(?(.+?)
和尾部的:
单个Book 对应的讨论区
\1
替换前是: [regex_remo] 替换后,变成这样的: [regex_remo] 效率不是一般的高。 例 3.10. Notepad++正则表达式替换举例:把标题和地址转换为link格式 遇到一个问题是,想要把对应的,帖子的标题和地址,变成docbook中的link格式,一般拷 贝到Docbook的xml中直接使用,就省的自己一点点复制粘贴和修改了。 所用Notepad++的正则替换的如下: ([\S ]+)\s+(http://www\.crifan\.com/\w+)\1
\r\n 从: [before_wlw] 替换为: [after_wlw_] 如此,高效的解决了问题。 例 3.13. Notepad++正则表达式替换举例:给sect2添加xml:id和title 背景是,为crosstool_ng写docbook的xml,然后想要对于之前的itemizedlist,改为sect2 ,已经手动替换itemizedlist为sect2了。 剩下的,还需要给sect2添加对应的xml:id和title,所以,就去Notepad++中写替换的正则