## Usage Questions

This section deals general usage of jEdit, including customisation.

1. Abbreviations
  Q: How can I create abbreviations “on the fly” as I type?
  Q: How can I have abbreviations expanded automatically as I type?
2. Clipboard features
  Q: 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?
3. File Attributes
  Q: Why does the screen display continue to mark a file as “dirty” after I undo all changes made to the buffer?
  Q: Does jEdit preserve file ownership and permissions when it saves files?
  Q: Why does jEdit ignore my choice for line separator characters when I save a file?
  Q: Can jEdit auto-detect character encodings when it opens a file?
  Q: I'm using the iso-8859-1 character encoding. How do I type and save the Euro sign (“€”)?
4. File Management
  Q: How can I open files in jEdit using drag and drop?
  Q: How do I add and remove directories to the list of “favorites” in jEdit's File System Browser?
  Q: How do I associate particular file types with jEdit so I can open them by double clicking their icons in Windows Explorer?
  Q: Can I restrict jEdit to opening and saving files in a single directory without changing file permissions?
  Q: On Windows, how can I change the name of my file from myfile.txt to MyFile.txt?
  Q: Can I recursively delete a directory's files in jEdit's File Browser?
5. Formatting text
  Q: How do I indent or unindent selections of text?
  Q: Is there a way to automatically view line numbers when a buffer is opened?
  Q: With JDK 1.3 and Lucida Console font I have problems displaying syntax highlighting text. Sometimes the fonts become italicized or bold without any reason.
  Q: Does jEdit know smart quotes? In .tex files I would like to use `` or '' instead of ".
  Q: Does jEdit have a “soft” wrap text mode?
  Q: The display of spaces as a character in the editor is annoying. How can I disable those small square boxes?
  Q: Does jEdit support i18n?
  Q: When using soft wrap, why does it scroll per physical line and not screen line?
6. Printing text
  Q: What can I do to improve printing performance?
7. Compiling source code
  Q: How do I compile my Java source in JEdit?
  Q: How do I create a new edit mode?
  Q: Does jEdit support DocBook tags?
8. Other Settings and Options
  Q: How can I change the font used for menu labels and other elements of jEdit's user interface?
  Q: 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?
  Q: Can I have an emacs style tab key (tab anywhere in a line re-indents it)?
  Q: Are there any hidden features?

#### 1. Abbreviations
Q: How can I create abbreviations “on the fly” as I type? Q: How can I have abbreviations expanded automatically as I type?
Q: | How can I create abbreviations “on the fly” as I type?
A: | 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.
Q: | How can I have abbreviations expanded automatically as I type?
A: | Select Utilities>Global Options, then select the 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.
#### 2. Clipboard features
Q: 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?
Q: | 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?
A: | 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.
#### 3. File Attributes
Q: Why does the screen display continue to mark a file as “dirty” after I undo all changes made to the buffer? Q: Does jEdit preserve file ownership and permissions when it saves files? Q: Why does jEdit ignore my choice for line separator characters when I save a file? Q: Can jEdit auto-detect character encodings when it opens a file? Q: I'm using the iso-8859-1 character encoding. How do I type and save the Euro sign (“€”)?
Q: | Why does the screen display continue to mark a file as “dirty” after I undo all changes made to the buffer?
A: | This is a problem in jEdit 3.2.2 that has been fixed in version 4.0 or newer. You should upgrade.
Q: | Does jEdit preserve file ownership and permissions when it saves files?
A: | 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 Utilities>Global Options, then under Loading & Saving, clear the checkbox for Two-stage save.
Q: | Why does jEdit ignore my choice for line separator characters when I save a file?
A: | 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.
Q: | Can jEdit auto-detect character encodings when it opens a file?
A: | Only Unicode can be detected when a file is loaded. For other encodings, you must specify the encoding when the file is loaded if you do not wish to use the default encoding for your operating system. There are a few features that can help you navigate through encoding issues. 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 Loading & Saving pane of the Global Options dialog; if you do not, jEdit adopts your operating system's default encoding as its own default. 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.
Q: | I'm using the iso-8859-1 character encoding. How do I type and save the Euro sign (“€”)?
A: | 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.
#### 4. File Management
Q: How can I open files in jEdit using drag and drop? Q: How do I add and remove directories to the list of “favorites” in jEdit's File System Browser? Q: How do I associate particular file types with jEdit so I can open them by double clicking their icons in Windows Explorer? Q: Can I restrict jEdit to opening and saving files in a single directory without changing file permissions? Q: On Windows, how can I change the name of my file from myfile.txt to MyFile.txt? Q: Can I recursively delete a directory's files in jEdit's File Browser?
Q: | How can I open files in jEdit using drag and drop?
A: | 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.
Q: | How do I add and remove directories to the list of “favorites” in jEdit's File System Browser?
A: | 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.
Q: | How do I associate particular file types with jEdit so I can open them by double clicking their icons in Windows Explorer?
A: | If you are using jEditLauncher, you associate the file extension with `[full path]``\jedit.exe "%1"`. The jEditLauncher package 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 or a Windows file menu. This feature does not interfere with any existing file associations.
Q: | Can I restrict jEdit to opening and saving files in a single directory without changing file permissions?
A: | 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.
Q: | On Windows, how can I change the name of my file from `myfile.txt` to `MyFile.txt`?
A: | 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`.
Q: | Can I recursively delete a directory's files in jEdit's File Browser?
A: | No. The feature is being planned for inclusion in a future jEdit version. The fastest way to do this in the current jEdit version is to use the Console plugin and a native command.
#### 5. Formatting text
Q: How do I indent or unindent selections of text? Q: Is there a way to automatically view line numbers when a buffer is opened? Q: With JDK 1.3 and Lucida Console font I have problems displaying syntax highlighting text. Sometimes the fonts become italicized or bold without any reason. Q: Does jEdit know smart quotes? In .tex files I would like to use `` or '' instead of ". Q: Does jEdit have a “soft” wrap text mode? Q: The display of spaces as a character in the editor is annoying. How can I disable those small square boxes? Q: Does jEdit support i18n? Q: When using soft wrap, why does it scroll per physical line and not screen line?
Q: | How do I indent or unindent selections of text?
A: | Using jEdit's default configuration, you can indent a selection of text by pressing `ALT`+`RIGHT`. Unindent a selection by pressing `ALT`+`LEFT`.
Q: | Is there a way to automatically view line numbers when a buffer is opened?
A: | Select Utilities>Global Options, and in the Gutter option pane select the Line Numbering check box.
Q: | With JDK 1.3 and Lucida Console font I have problems displaying syntax highlighting text. Sometimes the fonts become italicized or bold without any reason.
A: | The Lucida Console font does not come in a bold style. Various platforms and native applications will render the bold style by overprinting, but this appears not to work correctly in your installation. Unfortunately, there is nothing jEdit can do about this, and the best thing to do is to select another font.
Q: | Does jEdit know smart quotes? In .tex files I would like to use ```` or `''` instead of `"`.
A: | 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. 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.
Q: | Does jEdit have a “soft” wrap text mode?
A: | Beginning with version 4.0pre4, jEdit has soft wrap capability which can be activated for a specific buffer, specific editing modes, or for all documents by default. In prior versions, both the text wrap feature and the Edit>Text>Format Paragraph command insert “hard” end of line characters. This “hard wrap” feature remains available as an option for buffers and editing modes.
Q: | The display of spaces as a character in the editor is annoying. How can I disable those small square boxes?
A: | This is controlled by the WhiteSpace plugin. To change your settings to disable display of whitespace characters, select Utilities>Global Options, then select Plugin options>WhiteSpace. You can separately configure the display of spaces, tabs, and other whitespace characters.
Q: | Does jEdit support i18n?
A: | 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 Commands>Encoding from the File System Browser. With respect to menu labels, message strings and other GUI elements, the jEdit project team currently does not have the resources to maintain multiple property sets in languages other than English, particularly since the development effort is continuing at a rapid pace. There has not been great demand for this in any event. This may be because jEdit is primarily a tool for programmers, and the use of English as a common first or second language is widespread in the global programming community. This decision may be reconsidered when the application has further matured and if more individuals express a willingness to be involved in translation work.
Q: | When using soft wrap, why does it scroll per physical line and not screen line?
A: | This will change in jEdit 4.2.
#### 6. Printing text
Q: What can I do to improve printing performance?
Q: | What can I do to improve printing performance?
A: | Prior to release of version 1.4 of the Java Development Kit (JDK), printing has been one of the weak areas of the Java platform. If you are using JDK version 1.3, here are a few suggestions on improving printing performance. One simple way to improve printing is to use the InfoViewer plugin to display and print a text file in your favorite Web browser. You can also write a macro that saves a buffer and then passes the buffer's file name (using the method `buffer.getPath()`) to an external print utility. The file `prettyprint.bat` in the Downloads section of jEdit Community is an example of this approach using a Windows batch file and Ghostscript. You can then change the `CTRL`+`P` keyboard shortcut to point to your printing macro.
#### 7. Compiling source code
Q: How do I compile my Java source in JEdit? Q: How do I create a new edit mode? Q: Does jEdit support DocBook tags?
Q: | How do I compile my Java source in JEdit?
A: | 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. If you are using the JCompiler plugin, you will have a “JCompiler” shell in the Console plugin, and you can run the `compile` command for the current file, or the `compilepkg` command on all of the current directory's source code files. You can also use the “Ant” shell in the Console plugin or the AntFarm plugin to run complex builds on a project of source code files, using a `build.xml` file to specify build commands and dependencies.
Q: | How do I create a new edit mode?
A: | 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.
Q: | Does jEdit support DocBook tags?
A: | The application contains editing modes for both SGML and XML, and there are a number of abbreviations in the SGML mode that create pairs of DocBook tags on the fly. You can auto-complete closing tags with the XML plugin, and with the XInsert or Template plugin you can create multi-layered DocBook elements. The installation macro `Insert_Tag.bsh` is useful for creating or inserting tag pairs in existing text, and there are other macros targeting DocBook available from the jEdit Community web site that you can use or adapt for your own purposes.
#### 8. Other Settings and Options
Q: How can I change the font used for menu labels and other elements of jEdit's user interface? Q: 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? Q: Can I have an emacs style tab key (tab anywhere in a line re-indents it)? Q: Are there any hidden features?
Q: | How can I change the font used for menu labels and other elements of jEdit's user interface?
A: | Select Utilities>Global Options, then the Appearance option pane. When you select the “Metal” look and feel you can also select the fonts used for various displayed items.
Q: | 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?
A: | 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.
Q: | Can I have an emacs style tab key (tab anywhere in a line re-indents it)?
A: | Yes. You can do this by rebinding the tab key to Indent Selected Lines in the Global Options.
Q: | Are there any hidden features?
A: | 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.