Buffer-Local Properties

Buffer-local properties provide an alternate way to change editor settings on a per-buffer basis. While changes made in the Buffer Options dialog box are lost after the buffer is closed, buffer-local properties take effect each time the file is opened, because they are embedded in the file itself.

When jEdit loads a file, it checks the first and last 10 lines for colon-enclosed name/value pairs. For example, placing the following in a buffer changes the indent width to 4 characters, enables soft tabs, and activates the Perl edit mode:

:indentSize=4:noTabs=true:mode=perl:

Adding buffer-local properties to a buffer takes effect after the the buffer is saved and loaded again.

The following table describes each buffer-local property in detail.

Property nameDescription
collapseFoldsFolds with a level of this or higher will be collapsed when the buffer is opened. If set to zero, all folds will be expanded initially. See the section called “Folding”.
deepIndentWhen set to true, multiple-line expressions delimited by parentheses are aligned like so:
retVal.x = (int)(horizontalOffset
    + Chunk.offsetToX(info.chunks,
                      offset));
With this setting disabled, the text would look like so:
retVal.x = (int)(horizontalOffset
    + Chunk.offsetToX(info.chunks,
    offset));
foldingThe fold mode; one of none, indent, explicit, or the name of a plugin folding mode. See the section called “Folding”.
indentSizeThe width, in characters, of one indent. Must be an integer greater than 0. See the section called “Tabbing and Indentation”.
maxLineLenThe maximum line length and wrap column position. Inserting text beyond this column will automatically insert a line break at the appropriate position. See the section called “Inserting and Deleting Text”.
modeThe default edit mode for the buffer. See the section called “Edit Modes”.
noTabsIf set to true, soft tabs (multiple space characters) will be used instead of real tabs. See the section called “Tabbing and Indentation”.
noWordSepA list of non-alphanumeric characters that are not to be treated as word separators. Global default is _.
tabSizeThe tab width. Must be an integer greater than 0. See the section called “Tabbing and Indentation”.
wordBreakCharsCharacters, in addition to spaces and tabs, at which lines may be split when the word wrap mode is set to hard. See the section called “Wrapping Long Lines”.
wrapThe word wrap mode; one of none, soft, or hard. See the section called “Wrapping Long Lines”.
autoIndentThe automatic indentation scheme; one of none, full, or simple. See the section called “Automatic Indent”.

You may see :encoding=XXX: in a file as it is a buffer-local property and specifying the character encoding for the file. But it is not really a buffer-local property, and behaves differently. It is detected by buffer-local-property detector only if the detector is selected in encoding options. Thus, it works only at loading, and it must appear near the top of the file. See the section called “Character Encodings”.