# Usage Questions

This section deals general usage of jEdit, including customisation.

## Abbreviations

How can I create abbreviations on the fly as I type?

Type the form of abbreviation you wish to use, then without pressing the SPACE key, press CTRL ; . A dialog will appear for entering text that goes before and after the editing caret. For example, you can insert an opening HTML or XML tag before the cursor and its corresponding closing tag after the cursor. Use the mouse to select Add global or Add mode-specific. The first choice makes the abbreviation available for all documents; the second makes it available only in documents with the same editing mode as the current document. In this way, you can add abbreviations that operate only a particular class of documents, for example, Java source files or XML markup. Either way, the abbreviation will be stored for future use.

How can I have abbreviations expanded automatically as I type?

SelectGlobal Options, Abbreviations option pane. You will see a checkbox option for Space bar expands abbrevs. Here you can also add, modify and delete abbreviations on a global basis or for individual editing modes.

## Clipboard features

Can I copy selections from more than one location in a document (or more than one document) and paste the aggregate text in one operation?

The Cut Append ( CTRL E CTRL U ) and Copy Append ( CTRL E CTRL A ) both add the selected text to the existing contents of the Clipboard. A single Paste ( CTRL V ) command will insert the aggregated text at the cursor or in place of an existing selection.

## File Attributes

Does jEdit preserve file ownership and permissions when it saves files?

One reason this can be an issue is that by default, jEdit adopts the conservative approach of saving a file to a temporary name before renaming that file to the desired name. This procedure minimizes the risk of crashes causing loss of data, and works without reported problems on local file systems. However, when files are served remotely by FTP, Samba or other means, it may not be possible to preserve file attributes on the server because the newly created temporary file's owner may differ from the owner of the original file on the server.

To avoid this problem, you can disable the two-step file saving routine. Select Global Options, then under Saving & Backup, clear the checkbox for Two-stage save.

Why does jEdit ignore my choice for line separator characters when I save a file?

When jEdit saves an existing file, it uses the line separator already used by the file. The line separator designated in the buffer options or elsewhere is used only for new files.

Can jEdit auto-detect character encodings when it opens a file?

You can select the encoding you wish to use from Encoding in the Commands menu of the File System Browser. You can also designate a default encoding in the Encoding pane of the Global Options; if you do not, jEdit uses encoding autodetectors to decide which encoding to open a file in. You can change the encoding used to save an individual file by selecting Utilities>Buffer Options and changing the current buffer's properties. Finally, jEdit keeps track of the encodings used in the files named in the File>Recent Files drop-down list.

These features allow you to minimize the attention given to character encodings, but you must still pay some attention if you do not want to use default settings.

I'm using the iso-8859-1 character encoding. How do I type and save the Euro sign (€)?

You need to use instead the iso-8859-15 character set, which is a modification of iso-8859-1 that includes the Euro sign and some Finnish and French characters. The Euro sign represents character value 0xA4 in this 8-bit set. To open a file manually using this encoding, select File>Open... , and select ISO8859_15 from Commands>Enconding before opening the file.

There is a startup script in the Downloads area of jEdit Community named `euro.bsh` that can be used as a startup script to help simplify the insertion of the Euro symbol if your keyboard currently lacks a dedicated key.

## File Management

How can I open files in jEdit using drag and drop?

Try installing the Drag and Drop plugin using the Plugin Manager feature. It works with most (but not all) combinations of operating systems and current Java runtime environments.

How do I add and remove directories to the list of favorites in jEdit's File System Browser?

To add a directory to the list of favorites, navigate so that the directory is at the top of the tree displayed in the File System Browser window, click the Favorites button, and select Add to favorites from the resulting menu. To delete a directory from the favorites list, use the same menu to go to the favorites list. Right-click on the directory to be deleted and select Delete. This operation will delete the directory from the list of favorites but will have no effect on the directory itself.

How do I associate particular file types with jEdit so I can open them by double clicking their icons in Windows Explorer?

You associate the file extension with ``<jEdit installation directory>`\jedit.exe`. This can be done from the File Types tab in the Windows Explorer's Tools -> Folder options... menu.

The EXE-installer for Windows includes a custom context menu handler. It will provide menu items for using jEdit any time you right-click on a file icon in Windows Explorer. This feature does not interfere with any existing file associations.

Can I restrict jEdit to opening and saving files in a single directory without changing file permissions?

The easiest way to get this kind of behavior is to use macros that open the Virtual File Browser to a specific, fixed directory, and then change the default keyboard shortcuts for opening and saving files to run these macros.

On Windows, how can I change the name of my file from `myfile.txt` to `MyFile.txt`?

The Windows native file system deals with file names in a case-insensitive manner, so `myfile.txt` and `MyFile.txt` refer to the same file. As a result, the jEdit file browser treats both spellings identically and does not make a name change. Using our example, the easiest workaround is to rename the file in two steps: first to `_myfile.txt`, then to `MyFile.txt`.

## Formatting text

How do I indent or unindent selections of text?

Using jEdit's default configuration, you can indent a selection of text by pressing ALT RIGHT . Unindent a selection by pressing ALT LEFT .

Is there a way to automatically view line numbers when a buffer is opened?

Select Global Options, Gutter option pane, and check the Line Numbering check box.

Does jEdit know smart quotes? In .tex files I would like to use ```` or `''` instead of `"`.

While jEdit can display any character provided by a supported encoding set and enter any character supported by a keyboard driver, it does not have the ability to insert smart quote pairs automatically as some word processors do. This would require a BeanShell macro to modify quoted text.

The built-in Abbreviations feature (Global Options Abbreviations) as well as the Accents and CharacterMap plugins can also help you type international characters.

You also have the option of using a TeX macro (or, in LaTeX, a pair of environment tags) to have the standard double quotation mark `"` transformed into the appropriate opening or closing smart quotes without the need to keep track of when quoted text opens or closes.

The display of spaces as a character in the editor is annoying. How can I disable those small square boxes?

This is controlled by the WhiteSpace plugin. To change your settings to disable display of whitespace characters, Plugin options>WhiteSpace. You can separately configure the display of spaces, tabs, and other whitespace characters.

Does jEdit support i18n?

When editing text documents, jEdit supports any available encoding scheme, and can open files with a specified encoding other than the default encoding of your operating system using the File>Reload with Encoding action.

With respect to menu labels, message strings and other GUI elements, the jEdit project team now supports localization files for different languages. How well they are maintained is up to the individual members of the community who help to maintain them.

## Compiling source code

How do you set the classpath for compiling Java files in jEdit?

The classpath can be set from ProjectViewer's project properties on a per-project basis. The ClassPath plugin provides this option pane to ProjectViewer. JavaSideKick uses it for completion, and other Java plugins should also. At the time of writing, the JCompiler plugin needs to be updated to use it, for example.

How do I compile my Java source in JEdit?

There are a number of plugins that you can use to compile Java source code. You can run a Java compiler on the command line in the System shell of the Console plugin. When JCompiler is updated, you can use that again. Many Java projects can be built with Apache Ant, and that is how we build jEdit. You can use the Ant commandos from the Console plugin to run ant from jEdit, and parse the error messages for ErrorList. Also, the Antelope or AntFarm plugins provide a more Eclipse-like GUI front-end for Apache Ant. Apache Ant uses a `build.xml` file to specify build commands and dependencies.

How do I create a new edit mode?

Take a look at the Writing Edit Modes section of the User's Guide. Basically, you have to write an XML file containing data on the mode's file extensions and buffer and syntax highlighting properties, then add information about the new mode file to a second XML file containing a catalog of modes.

Does jEdit support DocBook tags?

The application contains editing modes for both SGML and XML. Using jEdit abbreviations, you can quickly insert commonly-typed tags with a couple of keystroke. There are a number of abbreviations in the XML and SGML modes that create pairs of DocBook tags on the fly.

You can get validation, tree-browsing, auto-complete, and auto-closing tags with the XML plugin, a very advanced XML editing tool.

With whe XInsert or Template plugin you can create multi-layered DocBook elements.

There are other macros targeting DocBook available from the jEdit Community web site that you can use or adapt for your own purposes.

## Tips for Emacs users

How do I get Emacs-like key bindings out of the box?

Start with the "Emacs" Keymap and customize it by setting your own shortcuts to make it more like your flavor of Emacs. Emacs macros are contributed by Brian Clapper.

## Other Settings and Options

How can I change the font used for menu labels and other elements of jEdit's user interface?

Select the Global Options, Appearance option pane. When you select the Metal look and feel you can also select the fonts used for various displayed items.

How can I get antialiased text everywhere, even dockables and menus?

For the text area, go to Global Options - TextArea - Anti Aliased Smooth Text. Note that enabling the related option for "Fractional font metrics" potentially improves character shapes, but can make the text look blurry.

For the dockables, starting `java` with command line options `"-Dawt.useSystemAAFontSettings=on" "-Dswing.aatext=true"` will give you antialiased text everywhere else. You can add these options to the batch file or shell script line that starts jEdit.

On Windows with the .exe launcher, you create a file called `jedit.l4j.ini` in the same directory as the .exe file, and place one line for each java argument you want to pass. For example:

    -Dawt.useSystemAAFontSettings=on
    -Dswing.aatext=true

On Mac OS X, the jEdit.app bundle already provides certain antialiasing properties in `Contents/Info.plist` to enable that by default.

I want to add a directory to the classpath. I did this in the standalone BeanShell with ease by using the `addClassPath(String)` method. but this doesn't work in a macro. How could I manage the classpath in jEdit?

The implementation of BeanShell used in jEdit does not use BeanShell's class loader. The script method contained in loadJarClasses.bsh (found in the Downloads section of jEdit Community) should work if you know the path to a specific class file or class archive.

Are there any hidden features?

Yes. You can access them by binding a shortcut to the action in question. You will find a complete list of available commands under the Shortcuts area in the Global Options.