Notepad++快捷键&正则表达式替换字符串&插件介绍

Notepad++绝对是windows下进行程序编辑的神器之一,要更快速的使用以媲美VIM,必须灵活掌握它的快捷键,下面对notepad++默认的快捷键做个整理(其中有颜色的为常用招数):

1. 文件相关

快捷键 动作定义Ctrl-O打开文件Ctrl-N新建文件Ctrl-S保存文件Ctrl-Alt-S文件另存为Ctrl-Shift-S保存所有打开文件Ctrl-P打印Alt-F4退出程序Ctrl-Tab文件标签跳转,跳至下一个打开文件Ctrl-Shift-Tab文件标签跳转,跳至上一个打开文件Ctrl-W关闭当前文件2.编辑相关

快捷键 动作定义Ctrl-C复制Ctrl-Insert同上,复制Ctrl-Shift-T复制当前行至剪贴板Ctrl-X剪切Shift-Delete同上,剪切Ctrl-V粘帖Shift-Insert同上,粘帖Ctrl-Z撤销上一次操作Alt-Backspace同上Ctrl-Y重做,注:撤销后,重做刚刚撤销的动作Ctrl-A全选

Alt-Shift-方向键 或 Alt + 鼠标左键

列选择模式Ctrl + 鼠标左键非连续性的多区域选择ALT-C列编辑器Ctrl-D复制当前行至下方,或者复制选中区域至其后Ctrl-T复制当前行至剪贴板(注:帮助中说是将当前行与上一行交换位置) Ctrl-Alt-T 与上一行进行交换Ctrl-Shift-Up将当前行上移一行Ctrl-Shift-Down将当前行下移一行Ctrl-L删除当前行Ctrl-I-(注:帮助中是分割多行,不过最新版中不起作用)Ctrl-J合并多行(注:使用时要选择中需要合并的行)Ctrl-G跳转至某行对话框Ctrl-Q添加/删除注释Ctrl-Shift-Q区块添加/删除注释Tab (selection of one or more full lines)插入TabShift-Tab (selection of one or more full lines)删除位置之前的TabCtrl-BackSpace删除当前位置至单词开始的内容Ctrl-Delete删除当前位置至单词结尾的内容Ctrl-Shift-BackSpace删除当前位置至行首的内容Ctrl-Shift-Delete删除当前位置至行尾的内容Ctrl-U转换为小写Ctrl-Shift-U转换为大写Ctrl-B跳转至配对的括号Ctrl-Space触发函数自动完成列表Ctrl-Shift-Space触发函数参数提示Ctrl-Enter触发关键字自动完成列表Ctrl-Alt-R整个页面文字方向从右到左Ctrl-Alt-L整个页面文字方向从左到右(注:在安装了zencoding后,此快捷键可能被覆盖)Enter回车Shift-Enter同上建议添加一个快捷键用来复制当前行至下一行:

在设置->快捷键管理中,选择scintilla commands中,找到SCI_LINEDUPLICATE,给它指定一个快捷键,例如Ctrl+M

3.搜索相关

快捷键 动作定义Ctrl-F打开搜索对话框Ctrl-H打开替换搜索对话框F3搜索下一个结果Shift-F3搜索上一个结果Ctrl-Shift-F文件中搜索F7调到寻找结果Ctrl-Alt-F3快速查找下一个Ctrl-Alt-Shift-F3快速查找上一个Ctrl-F3选定并寻找下一个Ctrl-Shift-F3选定并寻找上一个F4下一次寻找结果Shift-F4上一次寻找结果Ctrl-Shift-I增量查找Ctrl-n跳至下一个结果,用第n个风格标识(n为1~5,0是默认风格)Ctrl-Shift-n跳至上一个结果,用第n个风格标识(n为1~5,0是默认风格)Ctrl-F2收缩展开标签F2跳至下一个标签处Shift-F2跳至上一个标签处

4.显示相关

快捷键 定义内容

Ctrl-(Keypad-/Keypad+)或者Ctrl+鼠标滚轮

放大/缩小页面Ctrl-Keypad/回复到原始页面大小F11开关全屏显示(显示标签页)F12开关全屏显示(不显示标签页)Ctrl-Alt-F收缩当前折叠Ctrl-Alt-Shift-F展开当前折叠Alt-0收缩所有折叠Alt-(1~8)展开相应层折叠Alt-Shift-0展开所有折叠Alt-Shift-(1~8)展开所有层次折叠

 5.运行相关

快捷键 定义内容F5打开运行窗口Alt-F1获得PHP帮助Alt-F2用Google搜索Alt-F3用Wiki搜索哦Alt-F5在本标签页中打开当前目录中,与光标位置文本同名的文件Alt-F6在新标签页中打开当前目录中,与光标位置文本同名的文件Ctrl-Alt-Shift-R在Chrome中打开Ctrl-Alt-Shift-X在Firefox中打开Ctrl-Alt-Shift-I在IE中打开Ctrl-Alt-Shift-F在Safari中打开Ctrl-Alt-Shift-O通过Outlook发送当前文件

 

[转]notepad++正则表达式替换字符串详解

表达式 说明\t 制表符.\n 新行.. 匹配任意字符.| 匹配表达式左边和右边的字符. 例如, “ab|bc” 匹配 “ab” 或者 “bc”.[] 匹配列表之中的任何单个字符. 例如, “[ab]” 匹配 “a” 或者 “b”. “[0-9]” 匹配任意数字.[^] 匹配列表之外的任何单个字符. 例如, “[^ab]” 匹配 “a” 和 “b” 以外的字符. “[^0-9]” 匹配任意非数字字符.* 其左边的字符被匹配任意次(0次,或者多次). 例如 “be*” 匹配 “b”, “be” 或者 “bee”.+ 其左边的字符被匹配至少一次(1次,或者多次). 例如 “be+” 匹配 “be” 或者 “bee” 但是不匹配 “b”.? 其左边的字符被匹配0次或者1次. 例如 “be?” 匹配 “b” 或者 “be” 但是不匹配 “bee”.^ 其右边的表达式被匹配在一行的开始. 例如 “^A” 仅仅匹配以 “A” 开头的行.其左边的表达式被匹配在一行的结尾. 例如 "e” 仅仅匹配以 “e” 结尾的行.() 影响表达式匹配的顺序,并且用作表达式的分组标记.\ 转义字符. 如果你要使用 “\” 本身, 则应该使用 “\\”.

例子:

原始串str[1]abc[991];str[2]abc[992];str[11]abc[993];str[22]abc[994];str[111]abc[995];str[222]abc[996];str[1111]abc[997];str[2222]abc[999];

目标串:abc[1];abc[2];abc[11];abc[22];abc[111];abc[222];abc[1111];abc[2222];

处理:查找串:str

  \[([0-9]+)\]

abc

  \[[0-9]+\]

替换串:abc[\1]

【1】正则表达式应用——替换指定内容到行尾原始文本如下面两行abc aaaaa123 abc 444

希望每次遇到“abc”,则替换“abc”以及其后到行尾的内容为“abc efg”即上面的文本最终替换为:abc efg123 abc efg

解决:① 在替换对话框,查找内容里输入“abc.*”② 同时勾选“正则表达式”复选框,然后点击“全部替换”按钮其中,符号的含义如下:“.” =匹配任意字符“*” =匹配0次或更多

注意:其实就是正则表达式替换,这里只是把一些曾经提出的问题加以整理,单纯从正则表达式本身来说,就可以引申出成千上万种特例。

【2】正则表达式应用——数字替换希望把asdadas123asdasdas456asdasdasd789asdasd替换为:asdadas[123]asdasdas[456]asdasdasd[789]asdasd

在替换对话框里面,勾选“正则表达式”复选框;在查找内容里面输入“[0-9][0-9][0-9]”,不含引号“替换为:”里面输入“[\0\1\2]”,不含引号范围为你所操作的范围,然后选择替换即可。

实际上这也是正则表达式的使用特例,“[0-9]”表示匹配0~9之间的任何特例,同样“[a-z]”就表示匹配a~z之间的任何特例上面重复使用了“[0-9]”,表示连续出现的三个数字“\0”代表第一个“[0-9]”对应的原型,“\1”代表第二个“[0-9]”对应的原型,依此类推“[”、“]”为单纯的字符,表示添加“[”或“]”,如果输入“其它\0\1\2其它”,则替换结果为:

asdadas其它123其它asdasdas其它456其它asdasdasd其它789其它asdasd

功能增强(by jiuk2k):如果将查找内容“[0-9][0-9][0-9]”改为“[0-9]*[0-9]”,对应1 或 123 或 12345 或 …大家根据需要定制

相关内容还有很多,可以自己参考正则表达式的语法仔细研究一下

【3】正则表达式应用——删除每一行行尾的指定字符因为这几个字符在行中也是出现的,所以肯定不能用简单的替换实现比如12345 12653452345需要删除每行末尾的“345”这个也算正则表达式的用法,其实仔细看正则表达式应该比较简单,不过既然有这个问题提出,说明对正则表达式还得有个认识过程,解决方法如下解决:在替换对话框中,启用“正则表达式”复选框在查找内容里面输入“345'' 这里`` ”表示从行尾匹配

如果从行首匹配,可以用“^”来实现,不过 EditPlus 有另一个功能可以很简单的删除行首的字符串a. 选择要操作的行b. 编辑-格式-删除行注释c. 在弹出对话框里面输入要清除的行首字符,确定

【4】正则表达式应用——替换带有半角括号的多行几百个网页中都有下面一段代码:\n在替换对话框启用“正则表达式”选项,这时就可以完成替换了

【5】正则表达式应用——删除空行启动EditPlus,打开待处理的文本类型文件。①、选择“查找”菜单的“替换”命令,弹出文本替换对话框。选中“正则表达式”复选框,表明我们要在查找、替换中使用正则表达式。然后,选中“替换范围” 中的“当前文件”,表明对当前文件操作。②、单击“查找内容”组合框右侧的按钮,出现下拉菜单。③、下面的操作添加正则表达式,该表达式代表待查找的空行。(技巧提示:空行仅包括空格符、制表符、回车符,且必须以这三个符号之一作为一行的开头,并且 以回车符结尾,查找空行的关键是构造代表空行的正则表达式)。直接在”查找”中输入正则表达式“^[ \t]*\n”,注意\t前有空格符。(1)选择“从行首开始匹配”,“查找内容”组合框中出现字符“^”,表示待查找字符串必须出现在文本中一行的行首。(2)选择“字符在范围中”,那么在“^”后会增加一对括号“[]”,当前插入点在括号中。括号在正则表达式中表示,文本中的字符匹配括号中任意一个字符 即符合查找条件。(3)按一下空格键,添加空格符。空格符是空行的一个组成成分。(4)选择“制表符”,添加代表制表符的“\t”。(5)移动光标,将当前插入点移到“]”之后,然后选择“匹配 0 次或更多”,该操作会添加星号字符“*”。星号表示,其前面的括号“[]”内的空格符或制表符,在一行中出现0个或多个。(6)选择“换行符”,插入“\n”,表示回车符。④、“替换为”组合框保持空,表示删除查找到的内容。单击“替换”按钮逐个行删除空行,或单击“全部替换”按钮删除全部空行(注意:EditPlus有时 存在“全部替换”不能一次性完全删除空行的问题,可能是程序BUG,需要多按几次按钮)。

1.在汉化的时候,是否经常碰到这样的语句需要翻译:

Code:“Error adding the post!”;“Error adding the comment!”;“Error adding the user!”;

如果有很多类似的文件一个一个翻译显然很累而且感觉很无聊。

其实可以这样处理,在Editplus里面用 替换 功能,在替换对话框选中“正则表达式”复选框:查找原文件:

Code:“Error adding ([^!|”|;]*)

替换成:

Code:“在增加\1时发生错误

这样替换之后发生了什么?结果是:

Code:“在增加the post时发生错误!”;“在增加the comment时发生错误!”;“在增加the user时发生错误!”;

ok,接下来你会怎么做?当然再替换一次把the post、the comment、the user替换成你要翻译的词。得到最后的结果:

Code:“在增加帖子时发生错误!”;“在增加评论时发生错误!”;“在增加用户时发生错误!”;

2.要提取的单词在中间,比如:

Code:can not be deleted becausecan not be added becausecan not be updating because

可以用这种方式:在Editplus里面用 替换 功能,在替换对话框选中“正则表达式”复选框:查找原文件:

Code:can not be ([^ ]*) because

替换成:

Code:无法被\1因为

这样替换之后发生了什么?结果是:

Code:无法被deleted因为无法被added因为无法被updating因为

其余步骤如上。

在汉化量很大而且句式比较单调的情况下对效率的提高很明显!

解释一下:([^!|”|;]*) 的意思是 不等于 ! 和 ” 和 ; 中的任何一个,意思就是这3个字符之外的所有字符将被选中(替换区域);\1 即被选中的替换区域所在的新位置(复制到这个新位置)。

3.经常手工清理一行一行地删除文本文件里面的空白行,其实可以交给Editplus更好的完成,在Editplus里面用替换功能,在替换对话框选中 “正则表达式”复选框:查找原文件:

Code:^[ \t]*\n

替换部分为空就可以删除空白行了,执行一下看看:)

abandon[2”b9nd2n]v.抛弃,放弃abandonment[2”b9nd2nm2nt]n.放弃abbreviation[2bri:vi”ei62n]n.缩写abeyance[2”bei2ns]n.缓办,中止abide[2”baid]v.遵守ability[2”biliti]n.能力able[”eibl]adj.有能力的,能干的abnormal[9b”n0:m2l]adj.反常的,变态的aboard[2”b0:d]adv.船(车)上

1.查找: (^[a-zA-Z0-0\-]+)(

  \[*.*\]

+)(.*)替换: @@@@@”\1″,”\2″,”\3″,效果:@@@@@”abandon”,”[2”b9nd2n]“,”v.抛弃,放弃”,@@@@@”abandonment”,”[2”b9nd2nm2nt]“,”n.放弃”,@@@@@”abbreviation”,”[2bri:vi”ei62n]“,”n.缩写”,@@@@@”abeyance”,”[2”bei2ns]“,”n.缓办,中止”,@@@@@”abide”,”[2”baid]“,”v.遵守”,@@@@@”ability”,”[2”biliti]“,”n.能力”,@@@@@”able”,”[”eibl]“,”adj.有能力的,能干的”,@@@@@”abnormal”,”[9b”n0:m2l]“,”adj.反常的,变态的”,@@@@@”aboard”,”[2”b0:d]“,”adv.船(车)上”,

2.查找: \n替换:注: 要次替换内容为空效果:@@@@@”abandon”,”[2”b9nd2n]“,”v.抛弃,放弃 ”,@@@@@”abandonment”,”[2”b9nd2nm2nt]“,”n.放弃 ”,@@@@@”abbreviation”,”[2bri:vi”ei62n]“,”n.缩写 ”,@@@@@”abeyance”,”[2”bei2ns]“,”n.缓办,中止”,@@@@@”abide”,”[2”baid]“,”v.遵守 ”,@@@@@”ability”,”[2”biliti]“,”n.能力”,@@@@@”able”,”[”eibl]“,”adj.有能力的,能 干的 ”,@@@@@”abnormal”,”[9b”n0:m2l]“,”adj.反常的,变态的 ”,@@@@@”aboard”,”[2”b0:d]“,”adv.船(车)上”,@@@@@”abolish”,”[2”b0li6]“,”v.废 除,取消”,@@@@@”abolition”,”[9b2”li62n]“,”n.废除,取消”

3.查找: @@@@@替换: \n效果:“abandon”,”[2”b9nd2n]“,”v.抛弃,放弃”,“abandonment”,”[2”b9nd2nm2nt]“,”n.放弃”,“abbreviation”,”[2bri:vi”ei62n]“,”n.缩写”,“abeyance”,”[2”bei2ns]“,”n.缓办,中止”,“abide”,”[2”baid]“,”v.遵守”,“ability”,”[2”biliti]“,”n.能力”,“able”,”[”eibl]“,”adj.有能力的,能干的”,“abnormal”,”[9b”n0:m2l]“,”adj.反常的,变态的”,“aboard”,”[2”b0:d]“,”adv.船(车)上”,

“abolish”,”[2”b0li6]“,”v.废除,取消”,

Zen Coding 让 Notepad++ 代码书写健步如飞(XML CSS应用)

Notepad++ 是一款无比轻巧便捷的代码编辑工具。它无可挑剔的启动速度,优秀的语法高亮,干净整齐的代码缩进,便捷的括号高亮匹配赢得了无数人的喜爱。

但,不知道有多少同学跟我一样,在coding 时被 Notepad++ 粗陋的代码自动补全折磨的体无完肤(Notepad++那甚至不能叫自动完成)。虽然无比羡慕诸如Dreamweaver之类的代码自动完成,但固于上述提到的几点Notepad++的优秀之处,纠结中毅然依旧坚守Notepad++。而 Zen Coding 的横空出世,总算终结了这种纠结,让我们得以以一种无比帅气的方式书写代码。

先看一段演示视频吧(建议反复观摩,其中演示了 Zen Coding 的各种典型用法)

http://http://v.youku.com/v_show/id_XMTgxNTMzMjI0.html

Notepad++安装 Zen Coding 插件

下载 Zen.Coding-Notepad++.v0.6.1.zip 解压

将解压所得的文件放入 Notepad++ 程序的安装目录下的plugins文件夹。

重启Notepad++,即可开始使用 Zen Coding。

Zen Coding 用法

首先,我们先学习一下 Zen Coding 的缩写规则 (其实就是CSS选择器)

E  元素名 (div, p);E#id  带id的元素 (div#content, p#intro, span#error);E.class  带class的元素 (div.header, p.error.critial). id 和 class 可以连写,如: div#content.column.width;E>N  子元素 (div>p, div#footer>p>span);E+N  兄弟元素 (h1+p, div#header+div#content+div#footer);E*N  多项元素 (ul#nav>li*5>a);E$*N  带序号的元素 (ul#nav>li.item-$*5);

接下来,我们来熟悉 Zen Coding for Notepad++ 的快捷键,也是 Zen Coding 的精髓

【Ctrl+E】 展开缩写(Expand Abbreviation)

比如写下 div#page>div.logo+ul>li*3>a ,按一下 Ctrl+E,立马就可以转化成:

【Ctrl+Shift+A】 嵌套代码(Wrap with Abbreviation)

比如,我们想让写好的 

hello world

 ,想在外层再套一个div,只需按下【Ctrl+Shift+A】,在弹出的对话框中输入: div.wrap,回车。此标签就能自动被嵌套。

甚至,我们可以玩的更炫一些,写好三行列表内容,全裸,此时没有任何标签。只需按下【Ctrl+Shift+A】,输入ul>li* ,回车。这三行内容就能自动被ul li 嵌套起来。(不仅限于 li 列表哦)

【Ctrl+Shift+D】选中代码块(Balance Tag Inward/Outward)

选中当前光标所在的代码块,长按可依次选中父块

【Ctrl+Alt+[ , Ctrl+Alt+]】 转到上一个/下一个编辑点(Go to Next/Previous Edit Point)

按下可以依次跳到可输入内容的编辑点,省去了不停按方向键或鼠标来定位编辑点的麻烦。

【Ctrl+Alt+M 】合并行(Merge Lines)

将选中的多行代码合并为一行。压缩css、js代码为一行时,这个很方便。Ctrl+A,然后Ctrl+Alt+M,两下即可搞定,免去了动用压缩工具的麻烦。(当然这个只是简单地将代码合并为一行,并不能做更深入的代码压缩)

【Alt+/ 】添加、移除注释(Toggle Comment)

注释掉光标所在的代码块 (Notepad++ 自带的Ctrl+Shift+Q也可以用来注释代码)

【Ctrl+’ 】空标签转化(Split/Join Tag)

比如将  转化为 , 反向亦可。

【Ctrl+Shift+’ 】移除标签(Remove Tag)

比如将 hello world 移除div标签,留下hello world。  好了,目前 Notepad++ 的 Zen Coding 只有这几个快捷键,下面介绍一些常用到的缩写

不知道大家新建一个html 页面时,是如何输入文档声明和 head 那一坨东西的。现在有了Zen Coding,只需输入几个字母就能立马生成相应文档声明的 html 结构框架

html:4t (HTML 4.01 Transitional)html:4s (HTML 4.01)html:xt (XHTML 1.0)html:xs (XHTML 1.0 Strict)html:xxs (XHTML 1.1)html:5 (HTML5)

head 中常用到的一些缩写

meta:utf, meta:compatstyle, link:css, link:print, link:favicon, link:rss,script, script:src

body 中会常用到的缩写

诸如 div, p, a, ul, ol, input:t, input:r 等等

其中,类似 ul+ 的形式可展开为(+号可自动生产默认的子元素)

类似的还有 ol+, dl+, table+, tr+, select+, map+, optg+ 等

IE 条件注释:

cc:ie6, cc:ie, cc:noie

下边是一些典型用法示例:

div#name.one.two => [title=”Hello world” rel] => td[colspan=2] => li.item$*3 => li.item$$$ => li.item-$-content*3 => #content>.section =>

如果你写了这么一串出来,那么一个页面的基本结构就出来了:

div#page>(div#header>ul#nav>li*4>a)+(div#page>(h1>span)+p*2)+div#footer

此外【|e】 可以输出转义字符

<div id=”wrap”> <div class=”content”> <p></p> </div></div>

div#wrap>div.content>p|e|e 可转化为:

&lt;div id="wrap"&gt; &lt;div class="content"&gt; &lt;p&gt;&lt;/p&gt; &lt;/div&gt;&lt;/div&gt;

以上介绍的仅仅是有关HTML的缩写,CSS的缩写就更多了,建议查看 Zen Coding 小抄,学习CSS 的 Zen Coding 方式

自己编写缩写规则

plugins\NppScripting\includes\Zen Coding.js

在其中对应位置仿照已有规则添加自己的缩写规则。也可以修改缩写规则更符合自己的习惯。

即使你不编写自己的缩写规则,也强烈建议你阅读此文件,熟悉 Zen Coding 自带的一些缩写规则,让代码书写更加事半功倍~

最后,Zen Coding 不仅有Notepad++版,Aptana、UltraEdit、Dreamweaver也有相应版本,速速前往 官方下载页查找是否有你常用的编辑器的Zen Coding插件吧~

——————————————————————————————

Notepad++插件

附带的Plugin Manager插件 

http://www.brotherstone.co.uk/npp/pm/

XML Tools

这个插件是包含了很多XML编辑方面的实用工具。比如XML语法规则检查,XML Schema和DTD确认,XML标签自动关闭,当前XML路径,XML和Text转换,注释和非注释切换等等。

Insertion

这是一个主要用于演示的插件,适合初次开发者用于实例学习。它的功能是插入当前文档的名称和日期时间,以及自动关闭html/XML标签。

Doc Updater

每三秒自动更新你Notepad++中打开的文档。

TextFx

TextFx是预装在Notepad++中的一个插件,功能非常强大,包括各种代码的转换、插入、优化、格式化和验证等等,能很方便的提高你的工作效率。 

SearchInFiles

一个友好的Notepad++文件搜索工具。

QuickText

一个非常出色的代码片段管理器,支持Notepad++所支持的所有语言类型。

Spell-checker

拼写检查工具. 需要先安装Aspell。

NppExec

使用NppExec插件,你可以不需要离开Notepad++即可运行你的命令行或保存脚本,大大提高你的效率。

Compare Plugin

一个非常实用的工具,可以用来比较两个文件不同之处.

DBGP plugin

你可以使用这个插件把你的 Notepad++ 变成一个php IDE。

MultiClipboard

Notepad的剪贴板功能增强插件。

FTP_synchronize

一个集成于Notepad++的FTP客户端。

Gmod 10 Lua Syntax Highlighter

Notepad++的一个语法高亮插件。

SpeechPlugin

文本转语音朗诵插件。

Log plugin

这个插件可以让Notepad++实现Windows内置记事本的一个功能 : 当文件为.log,每次打开后可以附加日期和时间。

    下面介绍Notepad++的svn插件的安装及使用。

    如图12,点击Plugin –> Plugin Manager –> Show Plugin Manager

    打开后,在“Available”页找到“Subversion”,然后点击“Install”,如图13所示:

    安装成功后会在Plugins菜单下出现”Subversion”子菜单。

    打开之前checkout下来的任一文件,编辑完成后,    点击Plugins –> Subversion –> Commit File(或使用快捷键Ctrl+Alt+A)

  输入Log Message,点击“OK”即可提交。


比丘资源网 » Notepad++快捷键&正则表达式替换字符串&插件介绍

发表回复

提供最优质的资源集合

立即查看 了解详情