工欲善其事必先利其器-Notepad++使用小记(Python)
大学开始就一直使用Notepad++ 作为代码编辑器,喜欢它的简洁明了,喜欢它的个性,也喜欢它各种各样骚气的插件.
今天闲来无事,写篇文章记录一下平时使用的种种,包括但不限于个性化使用一些宏,快捷键,相关的命令以及一些个人用的比较多的插件.
本人平时代码最多的也是Python-web相关方面的代码编写,所以这里着重(或者是主要)介绍一些如何将Notepad++打造的适合Python开发.
Notepad++
简介,看看它的主页就明白了
贴一段百科上面的介绍(via):
Notepad++是一套非常有特色的自由软件的纯文字编辑器(许可证:GPL),有完整的中文化接口及支持多国语言编写的功能(UTF8 技术)。它的功能比 Windows 中的 Notepad(记事本)强大,除了可以用来制作一般的纯文字说明文件,也十分适合当作编写电脑程序的编辑器。Notepad++ 不仅有语法高亮度显示,也有语法折叠功能,并且支持宏以及扩充基本功能的外挂模组。
Notepad++是一款非常有特色的编辑器,是开源软件,可以免费使用,自带中文。支持的语言: C, C++ , Java ,pascal, C#,XML,SQL,Ada, HTML, PHP, ASP, AutoIt, 汇编, DOS批处理, Caml, COBOL, Cmake, CSS, D, Diff, ActionScript, Fortran, Gui4Cli, HTML, Haskell, INNO, JSP, KIXtart, LISP, Lua, Make处理(Makefile), Matlab, INI文件, MS-DOS Style, NSIS, Normal text, Objective-C, Pascal,Python, Javascript,VerilogHaskellInnoSetupCMake,
VHDLAdaCaml、AutoItKiXtart、Matlab
关于各种编辑器的比较什么的,这里我也不说些什么,没有深入的使用,不方便发表什么评论.
假设亲爱的你已经自己将软件安装完毕,我们接下来来做一些相关的设定.
Npp(notepad++的简称,后文若不作说明,皆是指Notepad++)的设置
默认的设置是哪些,有哪些变动我现在也记不清了,直接把自己的一些设定截图放上来就OK,需要的就比对查阅一下
设置>首选项>常用:
设置>首选项>编辑:
边界宽度80,这也是有历史原因的(屏幕不够宽,限定在80的话代码就不会断行显示),这样便于代码阅读.
设置>首选项>制表符的设置:
选定python,将使用默认值去掉勾选,然后设定制表符宽度为4(关于制表符宽度,可以参考一下Python的PEP-8).
Python对于缩进是有严格的要求的,用4个空格代替Tab基本上是标准(反正我是信了).
同样的,你也可以顺手将[Default]项中的制表符宽度设定一下.
设置>首选项>自动完成:
几个括号自动完成确实是能省不少事,单词和函数自动完成也是不错的(从第3个字符开始,免得输入一个单词就开始提示,这样提示也未免太频繁了…)
Notepad++支持保存当前的工作到文件,下次直接点击文件就能还原到之前的工作状态(当然,关闭了下次打开也会恢复到最后一次的工作状态).为自己的会话文件注册一个好记好用的后缀名.
Npp快捷键设定
为码农准备的编辑器都会有各式各样的快捷键设定,npp也不例外.关于npp的快捷键设定,大体上分为以下几类
1俗成的常用快捷键,像Ctrl+C/V/A/X等等的一系列地球人都知道的快捷键.
2定义的各种宏并为之注册的快捷键
这里我需要推荐一下的就是Alt+Shift+S ,与Ctrl+S(保存)不同是在于,该快捷键多做了一个保存前删除所有多余的空格的命令.是我最喜欢的快捷键之一,基本上代替了Ctrl+S了.~图中也有作者自己注册的几个编码中常用到的宏,一个是跳转到行尾,一个是编码声明,一个是跳转到下一行,这样就只需要动动手指头而不是动动手腕就能达到同样的效果(一个字,懒).
Tips:宏的录制与设定,这里我们以上图中第二个宏的录制与快捷键设定为例
点击开始录制,然后点击键盘上的 End 键,然后点击.然后再点击,在窗里面设定喜欢顺手的快捷键然后OK一下就完成了, so easy~~
3 令注册的快捷键
npp自带的有各种在浏览器中打开当前文件的快捷键,搜索某某的快捷键,可能这里亲爱的你注意到了,第10个 Run in Python,这里实际上就是一条命令的调用.后面会详细介绍一下.
4 的安装引入的相关的快捷键,和其他的相关的快捷键
这里不做过多描述.
快捷键的指定,只需要选定想要修改的快捷键,双击就会弹窗供你修改,需要注意的是,不要修改成同样的按键,这样可能会有冲突导致按键的时候并不能正常的响应你指尖的操作哟(也可以先去将已经存在的一个快捷键删除掉—指定为none,或者修改成别的,再回来该这个).
几条神奇的命令
用Python运行当前脚本文件:
运行>运行,输入框粘贴如下的命令然后保存,指定一个快捷键(也可以不用,这里我指定为F5,记得把之前的F5给干掉,忘记在哪一栏了,就在上面说的几个里面,当然,也可以指定为其他的不会冲突的)
cmd /k python "$(FULL_CURRENT_PATH)" & ECHO. & PAUSE & EXIT
试试,保存文件后,F5按一下就呼出了命令行窗口运行当前的文件,是不是很方便?
Npp的主题颜色
Npp给用户提供了各种各样的主题配色,同样也支持自定义的颜色配置,笔者使用的主题颜色配置,截图一张.
我的主题风格
Vim深蓝色风格
Hello Kitty粉色风格
这里简单介绍一下如何自定义自己喜欢的颜色.以我自己使用的为例
我使用的颜色配置是在自带的Deep Black的基础上修改而来.
设置>语言格式设置>样式
然后修改各种各种.这个留给好奇的你自己慢慢探索样式里面不同的分别代表什么了~
这里顺便提供一下自己已经修改好了的部分,显示的风格见上面的 我的主题风格下面的配图,如果想了解一下这样配置具体做了些什么事情,可以看看下面的.
直接打开Notepad++的安装路径下的主题文件 X:/SomePtah/Norepad++/themes/Deep Black.xml
Ctrl+F 搜索python ,大概在第318行附近.当然,你也可以先折叠代码到第3层次,这样看也比较方便.
展开python的这一块,这里就可以看到关于Python部分的代码主题风格的颜色,字体的相关配置了,然后,我们就可以对它做一些自己爱做的事了.
这里简单说明一下,每一条 <WordsStyle name="DEFAULT" styleID="0" fgColor="FFFFFF" bgColor="000000" fontName="" fontStyle="0" fontSize="" /> 代表了一个配置项,配置了不同的类型的代码的显示:默认,注释,数字,字符串,关键字,类等等的,这里我们主要改的就是fgColor,bgColor,fontSize等等.你对改文件的修改就会直接反映到主题颜色,字体大小的改变上了.
后文将会给出我自己的主题风格的下载地址,嫌麻烦的也可以直接下载然后覆盖Deep Black.xml文件(注意先备份).这段源码附在下面
<LexerType name="python" desc="Python" ext="">
<WordsStyle name="DEFAULT" styleID="0" fgColor="FFFFFF" bgColor="000000" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENTLINE" styleID="1" fgColor="00FF00" bgColor="000000" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="NUMBER" styleID="2" fgColor="FF0000" bgColor="000000" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="STRING" styleID="3" fgColor="FFFFFF" bgColor="000000" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CHARACTER" styleID="4" fgColor="C0C0C0" bgColor="000000" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="KEYWORDS" styleID="5" fgColor="FF6600" bgColor="000000" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
<WordsStyle name="TRIPLE" styleID="6" fgColor="FF8000" bgColor="000000" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="TRIPLEDOUBLE" styleID="7" fgColor="FFFFFF" bgColor="000000" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="CLASSNAME" styleID="8" fgColor="0080FF" bgColor="000000" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="DEFNAME" styleID="9" fgColor="FF00FF" bgColor="000000" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="OPERATOR" styleID="10" fgColor="FFCC00" bgColor="000000" fontName="" fontStyle="1" fontSize="" />
<WordsStyle name="IDENTIFIER" styleID="11" fgColor="FFFFFF" bgColor="000000" fontName="" fontStyle="0" fontSize="" />
<WordsStyle name="COMMENTBLOCK" styleID="12" fgColor="00FF00" bgColor="000000" fontName="" fontStyle="2" fontSize="" />
<WordsStyle name="STRINGEOL" styleID="12" fgColor="FFFF00" bgColor="000000" fontName="" fontStyle="0" fontSize="" />
</LexerType>
Npp的各种插件
Npp的一个很不错的地方就是它有丰富的插件,开源的好处就是有很多人为之添砖加瓦使之不断完善.这里还是先截个图列出几个常用的插件.
下面分别对其中的一些作一点点简单的补充说明.
JSLint 压缩JavaScript代码的一个小插件,作为发布代码或者简单的'加密'还是不错的,实际效果,可以参看一下百度主页源码上面密密麻麻的一片.
JSTool,功效供JSLint正好相反,格式化js代码的一个小工具
Light Explorer npp下的一个轻量级的文件浏览器,快捷键Alt+A(和某个快捷键的设定冲突了,这里需要手动删除那一个).快速方便的呼出文件浏览还是很方便的.
MMIE Tools 默认自带的插件,编码解码的一个玩意儿,自己摸索下~
NppExec
这个倒是可以多介绍一下,作为利用npp作为日常Python编写的一员,这个插件倒是方便的紧.
留空…下次补上
Npp Export
这个自带的格式化导出插件,可以将当前的代码保留格式导出.效果杠杠滴,看下面.
在word里面粘贴出来就是这样的效果,方便的紧~~
# coding=utf-8
print 'it is ok!'
JSON Viewer
同JSTool一样的,也是格式化的工具.可以将不规范的json格式的字符串格式化.笔者平时编写代码的时候免不了需要同前后台的数据打交道,所以这个格式化数据的插件也是很不错的.
SourceCookifier
这个插件也很不错,我还是接着截图说明一下,最右边的那一坨黑漆漆的丑图标就是该插件的图标了.确实是够不好看的….
设置上,看见右侧圈出来的了么?选择N++ session module. 这样在打开的所有文件里面,当看到一个陌生的调用的话,Ctrl+鼠标左键 点击函数名称,就会跳转到函数的定义处,是不是很炫酷,就是这么吊炸天,这对于快速熟悉一段程序真实帮助颇多啊.(右边的侧窗关闭了也是可以的哟)