⽂本编辑利器Notepad10个强⼤⽽⼜鲜为⼈知的特性
摘要: ⼦⽈:“⼯欲善其事,必先利其器。” 对程序员来说,⼯具是第⼀⽣产⼒。
Notepad++ 顾名思义就是 windows 内置 Notepad 的增强版,它采⽤ C++ 编写,性能优秀,不
仅⼩巧(完整安装包仅 3.8MB),功能众多,插件丰富,⽽且最关键的是“完全免费”!这⼀点⽐
起 Editplus、UltraEdit、Sublime 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++)) >> ; 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 到其他⼈配置好的导⼊即可:
gist.github/MihailJP/4563140
1. l文本编辑工具
2. If this is the first user-defined language you are adding, move the entire file
(l) to %APPDATA%\Notepad++. If you have already
installed other languages, just copy the content from to and paste it at the end
l right before
3. Save l and restart Notepad++
4. github/nfang/scala-syntax-highlighter
当然你也可以重新定义⼀个适合⾃⼰的语⾔主题。
8、去重
如果有个⽂件需要去重你会怎么做?要不写个⼩脚本,⽐如 awk '! a[$0] ++' 试试?
在 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转换、运⾏命令、获取⽂件路径、插件管理等。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。