# jEdit 5.1 User's Guide

# Using jEdit

# Conventions

# Starting jEdit

# Command Line Usage

# Miscellaneous Options

# Configuration Options

# Edit Server Options

# jEdit Basics

# Interface Overview

# Multiple Views

# Switching Buffers

# Buffer Sets

# Window Docking Layouts

# The Status Bar

# The Action Bar

# Working With Files

# Creating New Files

# Opening Files

# Saving Files

# Two-Stage Save

# Autosave and Crash Recovery

# Backups

# Line Separators

# Character Encodings

# Commonly Used Encodings

# The File System Browser (FSB)

# Navigating the File System

# The Tool Bar

# The Commands Menu

# The Plugins Menu

# The Favorites Menu

# Keyboard Shortcuts

# Reloading From Disk

# I/O tasks

# Printing

# Closing Files and Exiting jEdit

# Editing Text

# Moving The Caret

# Selecting Text

# Range Selection

# Rectangular Selection

# Multiple Selection

# Inserting and Deleting Text

# Undo and Redo

# Working With Words

# What's a Word?

# Working With Lines

# Working With Paragraphs

# Wrapping Long Lines

# Soft Wrap

# Hard Wrap

# Scrolling

# Transferring Text

# The Clipboard

# Quick Copy

# General Register Commands

# Markers

# Search and Replace

# Searching For Text

# Replacing Text

# Text Replace

# BeanShell Replace

# HyperSearch

# Multiple File Search

# The Search Bar

# Editing Source Code

# Edit Modes

# Mode Selection

# Syntax Highlighting

# Tabbing and Indentation

# Soft Tabs

# Elastic Tabstops

# Automatic Indent

# Automatic Indent Scheme: full

# Electric keys

# Automatic Indent Scheme: simple

# Automatic Indent Scheme: none

# Further customization of automatic indentation

# Commenting Out Code

# Bracket Matching

# Abbreviations

# Positional Parameters

# Folding

# Collapsing and Expanding Folds

# Navigating Around With Folds

# Miscellaneous Folding Commands

# Narrowing

# Customizing jEdit

# The Buffer Options Dialog Box

# Buffer-Local Properties

# The Global Options Dialog Box

# The General Pane

# The Abbreviations Pane

# The Appearance Pane

# The Context Menu Pane

# The Docking Pane

# The Editing Pane

# The Encodings Pane

# The Gutter Pane

# The Mouse Pane

# The Plugin Manager Pane

# The Printing Pane

# The Proxy Servers Pane

# The Saving and Backup Pane

# The Shortcuts Pane

# The Status Bar Pane

# The Syntax Highlighting Pane

# The Text Area Pane

# The Tool Bar Pane

# The View Pane

# The File System Browser Panes

# The jEdit Settings Directory

# The jEdit properties file

# Site Properties

# Using Macros

# Recording Macros

# Running Macros

# How jEdit Organizes Macros

# Installing and Using Plugins

# The Plugin Manager

# Installing and Updating Plugins

# Plugin Sets

# Keyboard Shortcuts

# The Activity Log

# History Text Fields

# Glob Patterns

# Regular Expressions

# Macros Included With jEdit

# C/C++ macros

# Clipboard Macros

# Editing Macros

# File Management Macros

# User Interface Macros

# Java Code Macros

# Miscellaneous Macros

# Property Macros

# Text Macros

# Writing Edit Modes

# Mode Definition Syntax

# An XML Primer

# The Preamble and MODE tag

# The PROPS Tag

# The RULES Tag

# Highlighting Numbers

# Rule Ordering Requirements

# Per-Ruleset Properties

# The TERMINATE Tag

# The SPAN Tag

# The SPAN_REGEXP Tag

# The EOL_SPAN Tag

# The EOL_SPAN_REGEXP Tag

# The MARK_PREVIOUS Tag

# The MARK_FOLLOWING Tag

# The SEQ Tag

# The SEQ_REGEXP Tag

# The IMPORT Tag

# The KEYWORDS Tag

# Token Types

# The MATCH_TYPE Attribute

# Installing Edit Modes

# Updating Edit Modes

# From jEdit 4.2 to 4.4

# Writing Macros

# Macro Basics

# Introducing BeanShell

# Single Execution Macros

# The Mandatory First Example

# Predefined Variables in BeanShell

# Helpful Methods in the Macros Class

# BeanShell Dynamic Typing

# Now For Something Useful

# A Dialog-Based Macro

# Use of the Macro

# Listing of the Macro

# Analysis of the Macro

# Import Statements

# Create the Dialog

# Create the Text Fields

# Create the Buttons

# Register the Action Listeners

# Make the Dialog Visible

# The Action Listener

# Get the User's Input

# Call jEdit Methods to Manipulate Text

# The Main Routine

# Macro Tips and Techniques

# Getting Input for a Macro

# Getting a Single Line of Text

# Getting Multiple Data Items

# Selecting Input From a List

# Using a Single Keypress as Input

# Startup Scripts

# Running Scripts from the Command Line

# Advanced BeanShell Techniques

# BeanShell's Convenience Syntax

# Special BeanShell Keywords

# Implementing Classes and Interfaces

# Debugging Macros

# Identifying Exceptions

# Using the Activity Log as a Tracing Tool

# BeanShell Commands

# Output Commands

# File Management Commands

# Component Commands

# Resource Management Commands

# Script Execution Commands

# BeanShell Object Management Commands

# Other Commands

# Writing Plugins

# Introducing the Plugin API

# Implementing a Simple Plugin

# How Plugins are Loaded

# The QuickNotepadPlugin Class

# The Property File

# The EditBus

# The Actions Catalog

# The dockables.xml Window Catalog

# The services.xml file

# The QuickNotepad Class

# The QuickNotepadToolBar Class

# The QuickNotepadOptionPane Class

# Plugin Documentation

# The build.xml Ant build file

# Reloading the Plugin

# Tips for debugging plugins

# Plugin Tips and Techniques

# Bundling Additional Class Libraries

# Bundling Additional Non-Java Libraries

# Storing plugin data

# Plugin colors