文本编辑利器Notepad++ 10个强大而又鲜为人知的特性

标签: windows/office | 发表时间:2017-12-18 04:01 | 作者:
出处:https://my.oschina.net/leejun2005

Notepad++ 顾名思义就是 windows 下 notepad 的增强版,它采用 C++ 编写,性能优秀,不仅小巧(完整安装包仅 3.8MB),功能众多,插件丰富,而且最关键的是“完全免费”!这一点比起  EditplusUltraEditSublime Text 等其它文本处理软件来说,算是个大的卖点。

说了这么多咱们言归正传,在日常的研发、数据处理过程中,免不了和各种文本、数据、代码打交道,今天就来细数 Notepad++ 10个强大而又鲜为人知的特性,教你如何快速用它处理各种文本问题,做到事半功倍。

1、自动保存

文本编辑过程中最怕的就是各种意外情况还没来得急保存,比如死机、进程僵死、奔溃等,如果你用了 Notepad++,完全不用担心,默认情况下它会实时的将正在编辑的内容保存一份副本到 %appdata% 下,每次打开未保存的文件都会自动从副本中恢复,完全不用担心任何编辑数据丢失!除非磁盘损坏,对于个人用户而言,我想Notepad++配合云盘的实时同步功能,做到数据三个九或者四个九的可靠性也就不难了吧?

2、编辑只读文件

偶尔会编辑一些系统文件,比如 C:\Windows\System32\drivers\etc\hosts,编辑完成要保存时才知道文件只读,没有权限,在 linux vim 下,咱们可以 :w !sudo tee % 直接编辑只读文件,但是在 windows 下怎么办呢?难道再把文件翻出来右键去除属性?这么做太繁琐了!Notepad++下【编辑】→【去除只读标记】即可快速解决。

3、列编辑

现在要给一段文本的每行开头加一个 tab 怎么办?要不要来个 shell 命令 sed -r '/^/\t/' 处理下?Notepad++里按下 alt 键即可进入列编辑模式,然后按下 tab 即可为选中的每一行执行相同的操作。

那如果要给每行的开头加一个连续的数字做行号呢?要不要在 excel 里自动填充后 copy 过来?Notepad++里按下 alt+c 组合键即可进入列编辑插入模式,设置相应的初始值、步长即可。

4、监视日志

如果日志文件发生变化了,如何获取最新的日志?如果是低频的修改,notepad++ 会自动检测到内容变更,提示你是否要加载最新的文件,但如果是频繁的变更,例如一秒一次 :

  while sleep 1; do echo $((i++)) >> 111.txt; done

又该如何处理呢?难道只能 shell 下 tail -f ?

幸运的是,notepad++ 已为咱们内置了这个功能:【视图】→【监视日志】

5、查找替换

notepad++ 的查找替换非常强大,完全支持 PCRE 风格正则,并能在单独窗口输出匹配内容,或者更友好的方式标记出查找结果。

比如需要将多行合并为一行怎么办?只需要勾选扩展模式然后输入 \r\n 即可。

再比如如何对某个文件进行重复行去重,难道要上传到linux下 sort|uniq 来一发?Notepad++下只需要输入正则表达式 ^(.*?)$\s+?^(?=.*^\1$),并勾选匹配新行即可。

6、格式、编码与符号

Notepad++ 在【编码】菜单里内置了几乎所有的编码支持,可以自由切换,调试编码问题非常方便。

针对linux和mac、windows换行符不兼容问题,notepad++ 也可以很方便的支持,在底部状态栏双击可以很容易的切换:

有时候文本中包含一些肉眼不可见的特殊字符,导致程序处理过程中出现一些莫名其妙的问题,比如回车换行符、utf8 BOM 标记等,咱们可以开启 【视图】→【显示符号】→【显示所有字符】,让所有的字符无所遁形,一目了然:

7、自定义语法高亮

在 notepad++ 里内置了几十种语言的语法高亮,用户可以任意的修改和自定义主题,但是目前还是有些语言未获支持,比如 scala,咱们可以从 GitHub 找到其他人配置好的导入即可:

https://gist.github.com/MihailJP/4563140

  1. Download userDefineLang.xml
  2. If this is the first user-defined language you are adding, move the entire file (userDefineLang.xml) to %APPDATA%\Notepad++. If you have already installed other languages, just copy the content from <UserLang...> to </UserLang> and paste it at the end of userDefineLang.xml right before </NotepadPlus>
  3. Save the userDefineLang.xml and restart Notepad++
  4. https://github.com/nfang/scala-syntax-highlighter

当然你也可以重新定义一个适合自己的语言主题。

8、去重

如果有个文件需要去重你会怎么做?要不写个小脚本?

在 notepad++ 下这个解决方案变得异常简单,只需要按下 ctrl + u 即可!

其实这个是 notepad 自带的插件 TextFX 提供的功能,这是一个很强大的插件,提供了很多文本处理、转换小功能,有兴趣的同学可以探索下。

9、比较文件

linux下有 diff,windows 下专门用于文件比较的软件也不少,但是大多都是收费的,比如 Beyond Compare,而在 notepad++下,这个问题异常简单:只需要按下 Alt+D 即可!

这一切的背后其实是 notepad++ 利用了自带的插件 compare:

10、在 PPT 中插入格式化高亮代码

有时候技术分享需要在 PPT 中插入一段语法高亮、格式整齐的代码,但你发现没有,无论是从 IDE 编辑器还是 HTML 网页复制粘贴到 PPT 里,格式、颜色都会错乱或丢失,本质原因是在 office 内部 PPT 的定位不是做一个强大的文本编辑器(Word),而是以图片可视化输出为主让用户表达观点(Power + Point)的一个产品,所以网上也有同学想出了各种办法来“曲线救国”,比如先粘贴到 word,然后再复制粘贴到 PPT,或者直接 截图粘贴到 PPT 里,但这都不是我们想要的。

这里借助 notepad++ 我们可以很方便的实现这个需求:

(1)首先借助 notepad++ 自带的 NppExport 复制代码内容及格式为 RTF 到剪贴板

(2)然后在 PPT 中,按下 Ctrl+Alt+V 粘贴即可,颜色及排版不会有任何变化

看到没?一共就两步,按下两组快捷键即可轻松解决 PPT 里粘贴代码格式错乱或丢失这个恼人的问题。

11、总结

上面介绍的 notepad++ 的一些 feature 或者 功能,也许别的软件有另外的解法,但是能像 notepad++ 这样集大成者却凤毛麟角。除此之外 notepad++ 还有一些实用的功能,本文就不展开了,有兴趣的同学可以探索挖掘,比如:宏录制、自定义快捷键、tab转换、运行命令、获取文件路径、插件管理等。

相关 [文本编辑 notepad 人知] 推荐:

文本编辑利器Notepad++ 10个强大而又鲜为人知的特性

- - leejun2005的个人页面
Notepad++ 顾名思义就是 windows 下 notepad 的增强版,它采用 C++ 编写,性能优秀,不仅小巧(完整安装包仅 3.8MB),功能众多,插件丰富,而且最关键的是“完全免费”. 这一点比起  Editplus、 UltraEdit、 Sublime Text 等其它文本处理软件来说,算是个大的卖点.

SecurePad – notepad++ 文本加密插件 | 小众软件 > 实用工具

- Choope - 小众软件
notepad++ 我就不用介绍了吧, notepad++ 丰富的插件,强大的功能扩展让人爱不释手. SecurePad 就是一款实用的 notepad++ 插件,提供文本加密功能,保护你的数据. 下载(49.5 KB): uudisc | 官方网站 | 来自小众软件. ©2011 socekin for 小众软件 | 原文链接 | 9 留言 | 加入我们 | 投稿 | 订阅指南.

富文本编辑器杂谈

- - 标点符
在开发内容型网站的时候,少不了要接触富文本编辑器. 对开发人员来说,全新开发一个富文本编辑器会耗费大量的时间在细节的调整和坑的处理上. 在针对内部用户使用的系统中,普遍采用的方式是接入现成的开源编辑器,做简单的功能配置. 而针对面向普通用户的系统,富文本编辑器往往是单独进行设计和开发的. 在把一些功能较多,且可以配置功能项的编辑器称为传统编辑器,这类编辑器是最早出现的我们身边的,典型的代表有:百度的 ueditor、 ckeditor 4和 tinymce.

Essay:脱颖而出的富文本编辑器

- Jarod - 爱范儿 · Beats of Bits
iPhone 上的文字处理软件非常多,为什么要推荐这款 Essay. 因为它的简洁高效,因为它的云端同步,因为它顺手的控制功能,Essay 完全有实力成为沙砾中的宝石. 在 iPhone 上处理纯文本,用自带的备忘录就足够了,在什么情况下需要处理富文本呢. 例如想用 iPhone 完成一篇博客. 你当然可以用 WordPress for iPhone ,但它粗糙的功能和简陋的编辑器会让你失去愉快的感觉.

全能文本编辑器UltraEdit V17.10.0.1015 绿色汉化版

- 十年恋一人! - 小建の软件园
UltraEdit是最强大全能的文本编辑器,程序语法着色高亮、各种特殊页面、强悍的各种小插件小功能让UltraEdit武装得成为毫无悬念的最强大的文本编辑器,当然至于使用正则表达式、各种编辑功能当然不在话下,对于程序员或者一般使用文本编辑的童鞋UltraEdit都是首先的选择. UltraEdit 功能全面,使用方便,是理想的文本、十六进制、HTML、PHP、Java、Javascript、Perl 和程序编辑器.

百度开源富文本编辑器UEditor v1.1.6 新版发布

- 小熊TONY - cnBeta.COM
UEditor是由百度 Web前端研发部开发的所见即所得的富文本在线编辑器,具有轻量,可定制,注重用户体验等特点,开源基于BSD协议,允许互联网开发者自由传播和使用代码. 百度UEditor的推出,可以帮助不少网站开者在开发富文本编辑器所遇到的难题,节约开发者因开发富文本编辑器所需要的大量时间,有效降低了企业的开发成本.

5个Windows平台上的强大的文本编辑器

- vintone - 译言-电脑/网络/数码科技
5个Windows平台上的强大的文本编辑器. 【译者:ZturnLynn】.        我们在这儿介绍各种强大的软件,就是那些能让你们保持高效率的东西. 告诉我们任何你希望看到的关于Windows或是Mac OS X的内容. 或许你喜欢OS X,因为它的“简单”. 也许你偏爱Windows,因为你是个游戏发烧友.

Tincta – 小巧轻快文本编辑[Mac] | 小众软件 > Mac

- zhipeng - 小众软件 - Appinn
一群男程序员酒后乱逛,正要集体侵犯一个女子. 女子见势不妙,问:那你们说最好的文本编辑器是哪个. 程序员们就地讨论了三天三夜不欢而散,女子趁机顺利脱身. 事实是,文本编辑器领域是百葩齐放的状况,有换尿布功能都实现的巨无霸,也有小巧轻快的小军刀. Tincta 显然属于后者,清爽快捷直观方便,属于 Textedit 程序员加强版.

EmEditor简体中文便携版:强大文本编辑器

- - 精品绿色便携软件
EmEditor Professional以运行轻巧、敏捷而又功能强大、丰富著称,作为简单好用的文本编辑器, EmEditor支持多种配置,可自定义颜色、字体、工具栏、快捷键、行距等,支持文本列块选择、无限撤消/重做等,是 替代记事本的最佳编辑器. 我最近一直在用EmEditor,其便携性很适合影子系统, 标签窗口也是极方便操作,现提供 EmEditor 11.0.3中文便携版,分别为EmEditor 32位和64位版.

Tincta – 小巧轻快文本编辑[Mac] | 小众软件 > Mac

- Guan - 小众软件
一群男程序员酒后乱逛,正要集体侵犯一个女子. 女子见势不妙,问:那你们说最好的文本编辑器是哪个. 程序员们就地讨论了三天三夜不欢而散,女子趁机顺利脱身. 事实是,文本编辑器领域是百葩齐放的状况,有换尿布功能都实现的巨无霸,也有小巧轻快的小军刀. Tincta 显然属于后者,清爽快捷直观方便,属于 Textedit 程序员加强版.