大学开始就一直使用Notepad++ 作为代码编辑器,喜欢它的简洁明了,喜欢它的个性,也喜欢它各种各样骚气的插件.

今天闲来无事,写篇文章记录一下平时使用的种种,包括但不限于个性化使用一些宏,快捷键,相关的命令以及一些个人用的比较多的插件.

本人平时代码最多的也是Python-web相关方面的代码编写,所以这里着重(或者是主要)介绍一些如何将Notepad++打造的适合Python开发.

Notepad++

简介,看看它的主页就明白了

贴一段百科上面的介绍(via):

Notepad++是一套非常有特色的自由软件的纯文字编辑器(许可证:GPL),有完整的中文化接口及支持多国语言编写的功能(UTF8 技术)。它的功能比 Windows 中的 Notepad(记事本)强大,除了可以用来制作一般的纯文字说明文件,也十分适合当作编写电脑程序的编辑器。Notepad++ 不仅有语法高亮度显示,也有语法折叠功能,并且支持宏以及扩充基本功能的外挂模组。

Notepad++是一款非常有特色的编辑器,是开源软件,可以免费使用,自带中文。支持的语言: C, C++ , Java ,pascal, C#,XML,SQL,Ada, HTMLPHP, ASP, AutoIt, 汇编, DOS批处理, Caml, COBOLCmakeCSSDDiffActionScriptFortran, Gui4Cli, HTMLHaskell, INNO, JSP, KIXtart, LISPLuaMake处理(Makefile), MatlabINI文件, MS-DOS Style, NSIS, Normal text, Objective-CPascal,PythonJavascriptVerilogHaskellInnoSetupCMake

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+鼠标左键 点击函数名称,就会跳转到函数的定义处,是不是很炫酷,就是这么吊炸天,这对于快速熟悉一段程序真实帮助颇多啊.(右边的侧窗关闭了也是可以的哟)

工欲善其事必先利其器-Notepad++使用小记(Python)的更多相关文章

  1. 古语云:工欲善其事必先利其器 --> 最新、最全的 IntelliJ IDEA(2018.3.3) 的介绍、安装、破解、配置与使用

    原文:古语云:工欲善其事必先利其器 --> 最新.最全的 IntelliJ IDEA(2018.3.3) 的介绍.安装.破解.配置与使用 一.IntelliJ IDEA 介绍 -> Ecl ...

  2. TIZ_c 第0周总结(2019/10/15-2019/10/22)工欲善其事必先利其器

    TIZ_c 第0周总结(2019/10/15-2019/10/22)工欲善其事必先利其器 任务清单 给自己取一个酷酷的id,并选择1-2个喜欢的方向.(只是初步选择,后期可更改) 改下群名片.例如yo ...

  3. 转:【工欲善其事必先利其器】—Entity Framework实例详解

    开始本篇文章之前,先说一下Entity Framework 6 Alpha1在NuGet中已可用,原文链接http://blogs.msdn.com/b/adonet/archive/2012/10/ ...

  4. 单片机开发——02工欲善其事必先利其器(Proteus软件安装破解)

    在单片机开发工程中,博主经常通过模拟软件Proteus进行模拟仿真,将编译生成的"HEX"文件下载在单片机芯片中,然后进行后期的debug工作,当模拟仿真完成之后,进行硬件测试部分 ...

  5. 单片机开发——01工欲善其事必先利其器(Keil软件安装破解)

        本文是博主<单片机开发>博客第一篇文章,主要讲述51单片机编程软件Keil uVision4的安装及破解过程. 1. Keil uVision4安装包文件      PATH:链接 ...

  6. Notepad++编写运行python程序

    Notepad++编写运行python程序. 1.菜单栏->语言->P->Python设置语言为Python 2.写好代码后ctrl+s保存文件为py文件 3.菜单栏->运行, ...

  7. 不能用notepad++编辑器编写python

    不能用notepad++编辑器编写python,因为notepad对空格支持不是很良好,会出现莫名其妙的错误!建议用vim或emacs. 有人这样解释:不要混合使用制表符和空格来缩进,因为这在跨越不同 ...

  8. 在notepad++中运行python代码

    #在notepad++中运行python代码 ''' 1.安装插件pyNPP, 2.允许插件pyNPP中的第一个和第二个选项即可,如果代码过少代码执行一闪而过,可能无法看到,可加入少量sleep时间即 ...

  9. notepad++编辑器写python需注意使用utf-8编码

    语言:python3.4 文本编辑器:notepad++ 报错:SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xb4 in ...

随机推荐

  1. kafka broker 进入 conflicted ephemeral node 死循环

    转载请注明原创地址 http://www.cnblogs.com/dongxiao-yang/p/5621303.html 最近发现kafka一台服务器producer客户端写入时一直报错,查看该br ...

  2. PAT 1076. Forwards on Weibo (30)

    Weibo is known as the Chinese version of Twitter. One user on Weibo may have many followers, and may ...

  3. 【JAVA - SSM】之MyBatis输出映射

    MyBatis中的输出映射有两种:resultType和resultMap. 1.resultType 使用resultType进行结果映射时,只有当查询结果中有至少一列的名称和resultType指 ...

  4. hdu 1247 Hat’s Words(字典树)

    Hat's Words Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tota ...

  5. Java jdbc数据库连接池总结!(转)

    1. 引言 近年来,随着Internet/Intranet建网技术的飞速发展和在世界范围内的迅速普及,计算机 应用程序已从传统的桌面应用转到Web应用.基于B/S(Browser/Server)架构的 ...

  6. locale------- linux字符集

    查看当前系统字符集 [root@server1 ~]# locale LANG=zh_CN.UTF-8LC_CTYPE="zh_CN.UTF-8"LC_NUMERIC=" ...

  7. typename使用在模板中区分static成员和类型

    16.19 编写函数,接受一个容器的引用,打印容器中的元素,使用容器的size_type和size成员来控制打印元素的循环. 16.20 重写上一题的函数,使用begin和end返回的迭代器来控制循环 ...

  8. LabVIEW系列——错误簇的传递

    从以下示例可以得出结论: 1.图一出现的三种错误,分别位于打开/创建/替换文件函数,写入文本文件函数,读取文件文件函数.说明三个函数都被运行了. 2.图二只出现了一种错误,位于打开/创建/替换文件函数 ...

  9. PureMVC(JS版)源码解析(七):Mediator类

    之前的博文中,我们分析了SimpleCommand类和MacroCommand类,这两个类用作"业务逻辑(business logic)"处理,今天,我们讲一些和UI界面相关联的M ...

  10. sum() over() 函数的使用

    over不能单独使用,要和分析函数:rank(),dense_rank(),row_number(),sum()等一起使用. over函数的参数:over(partition by columnnam ...