Though general in appearance, NEdit-ng has many features intended specifically for programmers. Major programming-related topics are listed in: Syntax Highlighting, Tab Stops/Emulated Tab Stops, Finding Declarations (ctags), Calltips, and Auto/Smart Indent. Minor topics related to programming are discussed below.
Language Modes
When NEdit-ng initially reads a file, it attempts to determine whether the file is in one of the computer languages that it knows about. Knowing what language a file is written in allows NEdit-ng to assign highlight patterns and smart indent macros, and to set language specific preferences like word delimiters, tab emulation, and auto-indent. Language mode can be recognized from both the file name and from the first 200 characters of content. Language mode recognition and language-specific preferences are configured in: Preferences → Default Settings → Language Modes....
You can set the language mode manually for a window, by selecting it from Preferences → Language Mode.
Backlighting
NEdit-ng can be made to set the background color of particular classes
of characters to allow easy identification of those characters. This is
particularly useful if you need to be able to distinguish between tabs
and spaces in a file where the difference is important. The colors used
for backlighting are specified in the config.ini file under
nedit.backlightCharTypes
. You can turn backlighting on and off through
Preferences → Apply Backlighting.
If you prefer to have backlighting turned on for all new windows, use Preferences → Default Settings → Apply Backlighting. This setting can be saved along with other preferences using Preferences → Save Defaults.
Line Numbers
To find a particular line in a source file by line number, choose Search → Goto Line Number.... You can also directly select a line number text in a compiler message in your terminal window and choose Search → Goto Selected.
To find out the line number of a particular line in your file, turn on **Preferences → Statistics Line" and position the insertion point anywhere on the line. The statistics line continuously updates the line number of the line containing the cursor.
To go to a specific column on a given line, choose Search → Goto Line Number...
and enter a line number and a column number separated by
a comma. (e.g. Enter 100,12
for line 100 column 12.) If you want to go
to a column on the current line just leave out the line number. (e.g.
Enter ,45
to go the column 45 on the current line.)
Matching Parentheses
To help you inspect nested parentheses, brackets, braces, quotes, and
other characters, NEdit-ng has both an automatic parenthesis matching
mode, and a Goto Matching command. Automatic parenthesis matching is
activated when you type, or move the insertion cursor after a
parenthesis, bracket, or brace. It momentarily highlights either the
opposite character ('Delimiter') or the entire expression ('Range') when
the opposite character is visible in the window. To find a matching
character anywhere in the file, select it or position the cursor after
it, and choose Search → Goto Matching. If the character
matches itself, such as a quote or slash, select the first character of
the pair. NEdit-ng will match {
, (
, [
, <
, "
, '
, `
,
/
, and \
. Holding Shift while typing the accelerator key
(Shift + Ctrl + M, by default),
will select all of the text between the matching characters.
When syntax highlighting is enabled, the matching routines can optionally make use of the syntax information for improved accuracy. In that case, a brace inside a highlighted string will not match a brace inside a comment, for instance.
Opening Included Files
File → Open Selected understands the C preprocessor's
#include
syntax, so selecting an #include
line and
invoking File → Open Selected will often find the file referred to, unless
doing so depends on the settings of compiler switches or other
information not available to NEdit-ng.
Interface to Programming Tools
Integrated software development environments can be interfaced directly with NEdit-ng via the client server interface. These tools allow you to click directly on compiler and runtime error messages and request NEdit-ng to open files, and select lines of interest. The easiest method is usually to use the tool's interface for character-based editors like vi, to invoke nc-ng, but programmatic interfaces can also be derived using the source code for nc-ng.