Notepad++

From Wiki
Revision as of 16:32, 6 November 2009 by Richard Stephens (talk | contribs) (Expanded using release notes suggested on mail archive.)
Jump to navigation Jump to search

Notepad++ (Npp), like Scite, it is based on Scintilla. It is a programmer's editor, but for a non-programmer user it is amazingly easy to configure. Like Scite, it has global utf-8 support (as opposed to local utf-8 support which Scintilla does not support).

For Windows users (you can also use it under Wine) wanting a more modern interface with loads of included features (see especially the TextFX menu), it deserves a close look. One nice feature is that from any text selection (such as a control sequence) you may do a ConTeXt Wiki search from the RUN menu or [ALT-F2]. In addition there is Google and Wikipedia search. There is also a wonderful Explorer plugin.

Most of the Scite ConTeXt commands are included (same shortcuts), in both RUN and script versions (for the console F6).

Npp is just loaded with features and supports plugins. For more information about Npp go to http://notepad-plus.sourceforge.net/uk/site.htm

ConTeXt implementation

For ConTeXt, the following features have been implemented:

Syntax highlighting

There are various kinds:

  • \start-stops
  • TeX primitives
  • setups
  • comments
  • sectioning
  • general ConTeXt commands
  • operator arguments
  • numbers

Folding

Folding can dramatically increase efficiency in writing long documents. All \start-stops are foldable, and you can easily add your own in the User-Defined-Language dialog; just select "ConTeXt" and you can edit all entries.

The t-startstops module (provided by Wolfgang Schuster) converts section headings like \chapter into \startchapter-\stopchapter, etc. You can add more. Look at the files t-startstop.tex and startstop.tex.

NOTE: Hans will eventually implement official support for startstops, and the syntax will in all likelihood be different from the one used here (\startpart[title=,ref=]).

Auto completion

There is a Notepad++ api file context.api, which has a list of perhaps all english ConTeXt commands. From the Scite properties files you can find more keywords for your your own language and roll your own version. The nice thing is that Npp has a sorting utility so you can easily add your keywords and alphabetically sort them into your own api list.

ConTeXt utilities

RUN menu

The Run menu mimics the one in Hans's distribution of Scite, and mostly uses the same shortcuts. You can add more by pressing [F5] and saving your command, which will allow you to define a shortcut.

A few utilities, which come with the default Npp setup but which do not seem relevant to ConTeXt, have been deleted. If you want them back just look at the original shortcuts.xml file and copy the ones you want.

A few nice tricks are there. For example,

\input file.tex

After selecting "file.tex" you can run "open file" and Npp will open file.tex for you. From selected text, you can also do a Google search, wiki search. Perhaps we could add a ConTeXt wiki search.... next version perhaps.

NppExec

Npp comes with a Console plugin, NppExec, which allows you to run scripts. Most of the Run commands have been implemented as scripts in NppExec. Here you can play around with the commands, test different options etc.

Integrated Explorer plugin

This is one of Npp's most useful tools. Some TeX-related filters have been added.

Both NppExec and the Explorer are dockable. They can also be docked into one another outside of the main editor, separately outside, or separately inside. You'll have lots of fun with these two.

Colour

The implemented colour theme is easier on the eyes than the default pure white background. It makes use of four shades of DADADA. For non-TeX languages you may need to tweak the settings a bit in Settings > Styler Configurator.

Languages

Most of the languages have been removed from the Language menu, but you can bring back any language you need from Settings > Preferences > Language Menu.

Shortcut Mapper

The shortcut mapper has been slightly changed: [Ctrl-Shift-Z] does undo now. shortcut.xml controls this.

New functions

Four functions have been added to the ConTeXt menu (right-click that is):

  • Split lines
  • Join Lines,
  • Text Direction RTL
  • Text Direction LTR


Notes

Nearly everything above is easily configurable. I could not implement support for non-startstop folding with sectioning like \chapter etc. because that would mean compiling the scintilla lexer, something I'm not interested in doing. If anyone knows how to do lexer programming and is interested, feel free;-)

This package depends on Npp 4.2, so if you already have Npp then upgrade to the latest version.

The documentation.bat file is based on code from Adrian Drury. Eventually it may be replaced with the mtxrun utility.

Installation


TODO: Some notes would be useful here. (See: To-Do List)


Links

Npp homepage:

ConTeXt package: