xed/help/C/pluma.xml

1987 lines
104 KiB
XML

<?xml version="1.0"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY appversion "2.16">
<!ENTITY manrevision "2.9">
<!ENTITY date "July 2006">
<!ENTITY app "pluma">
]>
<!--
(Do not remove this comment block.)
Maintained by the MATE Documentation Project
http://developer.MATE.org/projects/gdp
Template version: 2.0 beta
Template last modified Jan 30, 2002
-->
<!-- =============Document Header ============================= -->
<?db.chunk.max_depth 2?>
<article id="index" lang="en">
<!-- please do not change the id; for translations, change lang to -->
<!-- appropriate code -->
<articleinfo>
<title>Pluma Manual<!-- not using app entity because of lowercase ugliness --></title>
<copyright>
<year>2007</year>
<holder>MATE Documentation Project</holder> </copyright>
<copyright>
<year>2002</year>
<year>2003</year>
<year>2004</year>
<holder>Sun Microsystems</holder> </copyright>
<copyright>
<year>2000</year>
<holder>Eric Baudais</holder> </copyright>
<!-- translators: uncomment this:
<copyright>
<year>2003</year>
<holder>ME-THE-TRANSLATOR (Latin translation)</holder>
</copyright>
-->
<publisher role="maintainer">
<publishername>MATE Documentation Project</publishername>
</publisher>
<xi:include href="legal.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<authorgroup>
<author>
<firstname>Joachim</firstname>
<surname>Noreiko</surname>
</author>
<author>
<firstname>MATE Documentation Project</firstname>
<surname></surname>
<affiliation>
<orgname>MATE</orgname>
</affiliation>
</author>
<author>
<firstname>Hal</firstname>
<surname>Canary</surname>
<contrib>Added the Shortcut Keys Table</contrib>
</author>
<author>
<firstname>Sun Java Desktop System Documentation Team</firstname>
<surname></surname>
<affiliation>
<orgname>Sun Microsystems</orgname>
<address><email>gdocteam@sun.com</email></address>
</affiliation>
</author>
<author>
<firstname>Eric</firstname>
<surname>Baudais</surname>
<affiliation>
<orgname>MATE Documentation Project</orgname>
<address> <email>baudais@okstate.edu</email> </address>
</affiliation>
</author>
<othercredit role="reviewer">
<firstname>Baris</firstname>
<surname>Cicek provided information from earlier revisions of the pluma application.</surname>
<contrib>Acknowledgements</contrib>
</othercredit>
<othercredit role="reviewer">
<firstname>Ajit</firstname>
<surname>George provided information about plugins.</surname>
<contrib>Acknowledgements</contrib>
</othercredit>
<!-- This is appropriate place for other contributors: translators,
maintainers, etc. Commented out by default.
<othercredit role="translator">
<firstname>Latin</firstname>
<surname>Translator 1</surname>
<affiliation>
<orgname>Latin Translation Team</orgname>
<address> <email>translator@gnome.org</email> </address>
</affiliation>
<contrib>Latin translation</contrib>
</othercredit>
-->
</authorgroup>
<!-- According to GNU FDL, revision history is mandatory if you are -->
<!-- modifying/reusing someone else's document. If not, you can omit it. -->
<revhistory>
<!-- Remember to remove the &manrevision; entity from the revision entries other
than the current revision. -->
<revision>
<revnumber>pluma V1.0</revnumber>
<date>2000</date>
<revdescription>
<para role="author">Eric Baudais <email>baudais@okstate.edu</email>
</para>
<para role="publisher">MATE Documentation Project</para>
</revdescription>
</revision>
<revision>
<revnumber>pluma Manual V2.0</revnumber>
<date>March 2002</date>
<revdescription>
<para role="author">Sun MATE Documentation Team</para>
<para role="publisher">MATE Documentation Project</para>
</revdescription>
</revision>
<revision>
<revnumber>pluma Manual V2.1</revnumber>
<date>June 2002</date>
<revdescription>
<para role="author">Sun MATE Documentation Team</para>
<para role="publisher">MATE Documentation Project</para>
</revdescription>
</revision>
<revision>
<revnumber>pluma Manual V2.2</revnumber>
<date>August 2002</date>
<revdescription>
<para role="author">Sun MATE Documentation Team</para>
<para role="publisher">MATE Documentation Project</para>
</revdescription>
</revision>
<revision>
<revnumber>pluma Manual V2.3</revnumber>
<date>September 2002</date>
<revdescription>
<para role="author">Sun MATE Documentation Team</para>
<para role="publisher">MATE Documentation Project</para>
</revdescription>
</revision>
<revision>
<revnumber>pluma Manual V2.4</revnumber>
<date>January 2003</date>
<revdescription>
<para role="author">Sun MATE Documentation Team</para>
<para role="publisher">MATE Documentation Project</para>
</revdescription>
</revision>
<revision>
<revnumber>pluma Manual V2.5</revnumber>
<date>March 2003</date>
<revdescription>
<para role="author">Sun MATE Documentation Team</para>
<para role="publisher">MATE Documentation Project</para>
</revdescription>
</revision>
<revision>
<revnumber>pluma Manual V2.6</revnumber>
<date>September 2003</date>
<revdescription>
<para role="author">Sun MATE Documentation Team</para>
<para role="publisher">MATE Documentation Project</para>
</revdescription>
</revision>
<revision>
<revnumber>pluma Manual V2.7</revnumber>
<date>March 2004</date>
<revdescription>
<para role="author">Sun MATE Documentation Team</para>
<para role="publisher">MATE Documentation Project</para>
</revdescription>
</revision>
<revision>
<revnumber>&app; Manual V2.8</revnumber>
<date>&date;</date>
<revdescription>
<para role="author">Sun Java Desktop System Documentation Team</para>
<para role="publisher">MATE Documentation Project</para>
</revdescription>
</revision>
<revision>
<revnumber>&app; Manual V&manrevision;</revnumber>
<date>&date;</date>
<revdescription>
<para role="author">MATE Documentation Team</para>
<para role="publisher">MATE Documentation Project</para>
</revdescription>
</revision>
</revhistory>
<releaseinfo> This manual describes version &appversion; of &app;.
</releaseinfo>
<legalnotice>
<title>Feedback</title>
<para>To report a bug or make a suggestion regarding the <application>&app;</application> application or this manual, follow the directions in the <ulink url="ghelp:user-guide?feedback-bugs" type="help">MATE Feedback Page</ulink>.
</para>
<!-- Translators may also add here feedback address for translations -->
</legalnotice>
<abstract role="description">
<para>&app; is a text editor for the MATE Desktop featuring basic yet
robust capabilities such as printing, spell checking, find and replace,
and syntax highlighting. More advanced features are available as plugins.</para>
</abstract>
</articleinfo>
<indexterm><primary>pluma</primary></indexterm>
<indexterm><primary>text editor</primary></indexterm>
<!-- ============= Document Body ============================= -->
<!-- ============= Introduction ============================== -->
<sect1 id="pluma-intro">
<title>Introduction</title>
<!-- removed ids, here as anchors to prevent possible breakage -->
<anchor id="pluma-customize-toolbar"/>
<para>The <application>&app;</application> application enables you to create and edit text files.</para>
<para>The aim of <application>&app;</application> is to be a simple and easy to use text editor. More powerful features can be enabled with different <firstterm>plugins</firstterm>, allowing a variety of tasks related to text-editing.</para>
</sect1>
<!-- ============= Getting Started =========================== -->
<sect1 id="pluma-getting-started">
<title>Getting Started</title>
<!-- ============= To Start pluma ============================ -->
<sect2 id="pluma-to-start">
<title>Starting &app;</title>
<para>You can start <application>&app;</application> in the following ways:</para>
<variablelist>
<varlistentry>
<term><guimenu>Applications</guimenu> menu</term>
<listitem>
<para>Choose <menuchoice><guisubmenu>Accessories</guisubmenu><guimenuitem>Text Editor</guimenuitem></menuchoice>. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>Command line</term>
<listitem>
<para>Execute the following command: <command>pluma</command></para>
</listitem>
</varlistentry>
</variablelist>
<para>By default, when you open a text document in the file manager, pluma will start, and display the document.</para>
</sect2>
<sect2 id="pluma-when-you-start">
<title>The &app; Window</title>
<para>When you start <application>&app;</application>, the following window is displayed:</para>
<figure id="pluma-window">
<title>&app; Window</title>
<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="figures/pluma_window.png" format="PNG"/>
</imageobject>
<textobject> <phrase>Shows pluma main window.</phrase>
</textobject>
</mediaobject>
</screenshot>
</figure>
<para>The <application>&app;</application> window contains the following
elements: </para>
<variablelist>
<varlistentry> <term>Menubar</term>
<listitem>
<para>The menus on the menubar contain all of the commands you need to work with files in <application>&app;</application>.</para>
</listitem>
</varlistentry>
<varlistentry> <term>Toolbar</term>
<listitem>
<para> The toolbar contains a subset of the commands that you can access from the menubar.</para>
</listitem>
</varlistentry>
<varlistentry> <term>Display area</term>
<listitem>
<para> The display area contains the text of the file that you are editing. </para>
</listitem>
</varlistentry>
<varlistentry> <term>Statusbar</term>
<listitem>
<para>The statusbar displays information about current <application>&app;</application> activity and contextual information about the menu items. The statusbar also displays the following information:</para>
<itemizedlist>
<listitem>
<para>Cursor position: the line number and column number where the cursor is located.</para>
</listitem>
<listitem>
<para>Edit mode: If the editor is in insert mode, the statusbar contains the text <guilabel>INS</guilabel>. If the editor is in overwrite mode, the statusbar contains the text <guilabel>OVR</guilabel>. Press the <keycap>Insert</keycap> key to change edit mode.</para>
</listitem>
</itemizedlist>
</listitem>
</varlistentry>
<varlistentry> <term>Side Pane</term>
<listitem>
<para>The side pane displays a list of open documents, and other information depending on which plugins are enabled.</para>
<para>By default the side pane is not shown. To show it, choose <menuchoice><guimenu>View</guimenu><guimenuitem>Side Pane</guimenuitem></menuchoice>.</para>
</listitem>
</varlistentry>
<varlistentry> <term>Bottom Pane</term>
<listitem>
<para>The bottom pane is used by programming tools such as the <application>Python Console</application> plugin to display output.</para>
<para>By default the bottom pane is not shown. To show it, choose <menuchoice><guimenu>View</guimenu><guimenuitem>Bottom Pane</guimenuitem></menuchoice>.</para>
</listitem>
</varlistentry>
</variablelist>
<para>When you right-click in the <application>&app;</application> window, the application displays a popup menu. The popup menu contains the most common text editing commands. </para>
<para>Like other MATE applications, actions in <application>&app;</application> can be performed in several ways: with the menu, with the toolbar, or with shortcut keys. Shortcuts keys common to all applications are listed in the <ulink type="help" url="ghelp:user-guide?shortcuts-apps">User Guide</ulink>.</para>
</sect2>
<!-- ============= To Open Multiple Files from the Command Line ========= -->
<sect2 id="pluma-run-from-cmd-line">
<title>Running &app; from a Command Line</title>
<para>You can run <application>&app;</application> from a command line and open a single file or multiple files. To open multiple files from a command line, type the following command, then press <keycap>Return</keycap>:</para>
<para><command>pluma <replaceable>file1.txt file2.txt file3.txt</replaceable></command></para>
<para>Alternatively, you can specify a URI instead of a filename.</para>
<para>For more information on how to run <application>&app;</application> from a command line, see the unix manual page for &app;, <ulink url="man:pluma" type="man"><citerefentry><refentrytitle>&app;</refentrytitle><manvolnum>1</manvolnum></citerefentry></ulink>.</para>
</sect2>
</sect1>
<!-- ================ Usage ================================ -->
<sect1 id="pluma-usage">
<title>Working with Files</title>
<!-- ============= To Create a New File ======================== -->
<sect2 id="pluma-create-new-file">
<title>Creating a New Document</title>
<para>To create a new document, choose <menuchoice><guimenu>File</guimenu><guimenuitem>New</guimenuitem></menuchoice>. The application displays a new blank document in the <application>&app;</application> window.</para>
</sect2>
<!-- ============= To Open a File ============================= -->
<sect2 id="pluma-open-file">
<title>Opening a File</title>
<para>To open a file, choose <menuchoice><guimenu>File</guimenu><guimenuitem>Open</guimenuitem></menuchoice> to display the <guilabel>Open File</guilabel> dialog. Select the file that you want to open, then click <guibutton>Open</guibutton>. The file is displayed in the <application>&app;</application> window. </para>
<para>The application records the paths and filenames of the five most recent files that you edited and displays the files as menu items on the <menuchoice><guimenu>File</guimenu></menuchoice> menu. You can also click on the <inlinemediaobject><imageobject><imagedata fileref="figures/pluma_recent_files_menu_icon.png" format="PNG"/></imageobject><textobject><phrase>Shows Recent Files menu icon.</phrase></textobject></inlinemediaobject> icon on the toolbar to display the list of recent files. </para>
<note><para>You can open multiple files in <application>&app;</application>. The application adds a tab for each open file to the window. For more on this see <xref linkend="pluma-tabs"/>.</para></note>
</sect2>
<!-- ============= To Save a File ============================== -->
<sect2 id="pluma-save-file">
<title>Saving a File</title>
<para>You can save files in the following ways:</para>
<itemizedlist>
<listitem><para>To save changes to an existing file, choose <menuchoice><guimenu>File</guimenu><guimenuitem>Save</guimenuitem></menuchoice>. </para>
</listitem>
<listitem><para>To save a new file or to save an existing file under a new filename, choose <menuchoice> <guimenu>File</guimenu> <guimenuitem>Save As</guimenuitem> </menuchoice>. Enter a name for the file in the <guilabel>Save As</guilabel> dialog, then click <guibutton>Save</guibutton>. </para>
</listitem>
<listitem><para>To save all of the files that are currently open in <application>&app;</application>, choose <menuchoice> <guimenu>Documents</guimenu> <guimenuitem>Save All</guimenuitem> </menuchoice>.</para>
</listitem>
</itemizedlist>
<para>To close all of the files that are currently open in <application>&app;</application>, choose <menuchoice> <guimenu>Documents</guimenu> <guimenuitem>Close All</guimenuitem> </menuchoice>.</para>
</sect2>
<!-- ============= To Open a File from a URI ======================= -->
<sect2 id="pluma-open-from-uri">
<title>Opening a File from a URI</title>
<para>To open a file from a Uniform Resource Identifier (URI), perform the following steps:</para>
<orderedlist>
<listitem>
<para>Choose <menuchoice> <guimenu>File</guimenu> <guimenuitem>Open Location</guimenuitem> </menuchoice> to display the <guilabel>Open Location</guilabel> dialog. </para>
</listitem>
<listitem>
<para>Enter the URI of the file that you want to open.</para>
</listitem>
<listitem>
<para>Use the <guilabel>Character coding</guilabel> drop-down list to select the appropriate character coding. </para>
</listitem>
<listitem>
<para>Click <guibutton>Open</guibutton>.</para>
</listitem>
</orderedlist>
<para>Valid types of <replaceable>URI</replaceable> include <literal>http:</literal>, <literal>ftp:</literal>, <literal>file:</literal>, and all of the methods supported by <literal>mate-vfs</literal>.</para>
<para>Files from some types of URI are opened as read-only, and any changes you make must be saved to a different location. HTTP only allows files to be read. Files opened from FTP are read-only because because not all FTP servers may correctly work with saving remote files.</para>
<warning><para>Saving to FTP servers can be enabled with <ulink type="help" url="ghelp:mateconf-editor"><application>Configuration Editor</application></ulink>, setting the key <systemitem>/apps/pluma/preferences/editor/save/writable_vfs_schemes</systemitem>, but this may cause errors.</para></warning>
</sect2>
<!-- ============= Working with tabs ======================== -->
<sect2 id="pluma-tabs">
<title>Working With Tabs</title>
<para>When more than one file is open, <application>&app;</application> shows a <firstterm>tab</firstterm> for each document above the display area. To switch to another document, click on its tab.</para>
<para>To move a document to another <application> &app;</application> window, drag the tab corresponding to the file to the window you want to move it to.</para>
<para>To move a document to a new <application> &app;</application> window, either drag its tab to the desktop, or choose <menuchoice> <guimenu>Documents</guimenu> <guimenuitem>Move to New Window</guimenuitem> </menuchoice>.</para>
</sect2>
</sect1>
<sect1 id="working-with-text">
<title>Working with Text</title>
<!-- ============= To Edit Text ================================ -->
<sect2 id="pluma-edit-text">
<title>Editing Text</title>
<para>You can edit the text of a file in the following ways:</para>
<itemizedlist>
<listitem><para>Type new text from the keyboard. The blinking <firstterm>insertion cursor</firstterm> marks the point where new text appears. To change this, use the arrow keys on the keyboard or click with the mouse.</para>
</listitem>
<listitem><para>To copy the selected text to the clipboard, choose <menuchoice> <guimenu>Edit</guimenu> <guimenuitem>Copy</guimenuitem> </menuchoice>.</para>
</listitem>
<listitem><para>To delete the selected text from the file and move the selected text to the clipboard, choose <menuchoice> <guimenu>Edit</guimenu> <guimenuitem>Cut</guimenuitem> </menuchoice>.</para>
</listitem>
<listitem><para>To permanently delete the selected text from the file, choose <menuchoice> <guimenu>Edit</guimenu> <guimenuitem>Delete</guimenuitem> </menuchoice>.</para>
</listitem>
<listitem><para>To insert the contents of the clipboard at the cursor position, choose <menuchoice> <guimenu>Edit</guimenu> <guimenuitem>Paste</guimenuitem> </menuchoice>. You must cut or copy text before you can paste text into the file, either from &app; or another application.</para>
</listitem>
<listitem><para>To select all of the text in a file, choose <menuchoice> <guimenu>Edit</guimenu> <guimenuitem>Select All</guimenuitem> </menuchoice>. </para>
</listitem>
</itemizedlist>
</sect2>
<!-- ============== To Undo or Redo Edits ====================== -->
<sect2 id="pluma-undo-redo-edits">
<title>Undoing and Redoing Changes</title>
<para>To undo a change you have made, choose <menuchoice> <guimenu>Edit</guimenu> <guimenuitem>Undo</guimenuitem> </menuchoice>. To reverse this action, choose <menuchoice> <guimenu>Edit</guimenu> <guimenuitem>Redo</guimenuitem> </menuchoice>.</para>
</sect2>
</sect1>
<sect1 id="pluma-find">
<title>Finding and Replacing</title>
<para>In <application>&app;</application>, there are two ways of searching for text. You can use the <guilabel>Find</guilabel> dialog to search for a specific piece of text, or <guilabel>Incremental Search</guilabel> to highlight matching text as you type it.
</para>
<!-- ============= To Find Text ================================ -->
<sect2 id="pluma-find-text">
<title>Finding Text</title>
<para>To search a file for a string of text, perform the following steps:</para>
<orderedlist>
<listitem><para>Choose <menuchoice> <guimenu>Search</guimenu> <guimenuitem>Find</guimenuitem> </menuchoice> to display the <guilabel>Find</guilabel> dialog.</para>
</listitem>
<listitem><para>Type the string that you want to find in the <guilabel>Search for</guilabel> field. You can include special characters such as a new line or tab: see <xref linkend="pluma-find-escapes"/>.</para>
</listitem>
<listitem><para>Click <guibutton>Find</guibutton> to search the file for the first occurrence of the string after your current cursor position. If <application>&app;</application> finds the string, the application selects first occurrence of the string. Other occurrences of the string are highlighted.</para>
</listitem>
<listitem><para>To find the next occurrence of the string, click <guibutton>Find</guibutton> or choose <menuchoice> <guimenu>Search</guimenu> <guimenuitem>Find Next</guimenuitem> </menuchoice>. To find the previous occurrence of the text, choose <menuchoice> <guimenu>Search</guimenu> <guimenuitem>Find Previous</guimenuitem> </menuchoice>.</para>
</listitem>
</orderedlist>
<para>After you have closed the <guilabel>Find</guilabel> dialog, you can still move the selection to other occurrences of the text by choosing <menuchoice> <guimenu>Search</guimenu> <guimenuitem>Find Next</guimenuitem> </menuchoice> and <menuchoice> <guimenu>Search</guimenu> <guimenuitem>Find Previous</guimenuitem> </menuchoice>.</para>
<para>To remove the highlighting from the text, choose <menuchoice> <guimenu>Search</guimenu> <guimenuitem>Clear Highlight</guimenuitem> </menuchoice>.</para>
</sect2>
<sect2 id="pluma-find-incremental">
<title>Incremental Search</title>
<para>Incremental search highlights matching text in the document as you type it letter by letter. (This is similar to the search feature in several web browsers.)</para>
<para>To start an incremental search, choose <menuchoice> <guimenu>Search</guimenu> <guimenuitem>Incremental Search</guimenuitem> </menuchoice>. The search box appears at the top of the display area. </para>
<para>Begin typing, and text that matches will be highlighted in the document. The first instance after the cursor position is also selected.</para>
<para>To advance the selection to the next match while keeping the incremental search box open, press <keycombo><keycap>Ctrl</keycap><keycap>G</keycap></keycombo>. Press <keycombo><keycap>Ctrl</keycap><keycap>Shift</keycap><keycap>G</keycap></keycombo> to go back to the previous match.</para>
<tip><para>You can also use the up and down arrow keys or the mouse wheel to move the selection between matches.</para></tip>
</sect2>
<!-- ============= To Find and Replace Text =================== -->
<sect2 id="pluma-find-replace-text">
<title>Replacing Text</title>
<para>To search a file for a string, and replace the string with an alternative string, perform the following steps:</para>
<orderedlist>
<listitem><para>Choose <menuchoice> <guimenu>Search</guimenu> <guimenuitem>Replace</guimenuitem> </menuchoice> to display the <guilabel>Replace</guilabel> dialog.</para>
</listitem>
<listitem><para>Type the string that you want to find, in the <guilabel>Search for</guilabel> field. You can include special characters such as a new line or tab: see <xref linkend="pluma-find-escapes"/>.</para></listitem>
<listitem><para>Type the string that you want to use to replace the string that you find, in the <guilabel>Replace with</guilabel> field.</para>
</listitem>
</orderedlist>
<para>To examine each occurrence of the string before replacing it, click <guibutton>Find</guibutton>. If <application>&app;</application> finds the string, the application selects the string. Click <guibutton>Replace</guibutton> to replace the selected occurrence of the string. To find the next occurrence of the string, click <guibutton>Find</guibutton> again.</para>
<para>To replace all occurrences of the string throughout the document, click <guibutton>Replace All</guibutton>.</para>
</sect2>
<!-- ============= Find and Replace Options ============================ -->
<sect2 id="pluma-find-options">
<title>Find and Replace Options</title>
<para>The <guilabel>Find</guilabel> dialog and the <guilabel>Replace</guilabel> dialog both have the following options:</para>
<itemizedlist>
<listitem><para>Select the <guilabel>Match case</guilabel> option to only find occurrences of the string that match the case of the text that you type. For example, with <guilabel>Match case</guilabel> selected, "TEXT" will not match "text".</para>
</listitem>
<listitem><para>Select the <guilabel>Match entire word only</guilabel> option to only find occurrences of the string that match the entire words of the text that you type. For example, with <guilabel>Match entire word only</guilabel> selected, "text" will not match "texture". <!-- translators, please make up your own example ;) --></para>
</listitem>
<listitem><para>Select the <guilabel>Search backwards</guilabel> option to search backwards towards the beginning of the document. </para>
</listitem>
<listitem><para>Select the <guilabel>Wrap around</guilabel> option to search to one end of the document and then continue the search from the other end of the file. </para>
</listitem>
</itemizedlist>
</sect2>
<!-- ============= Special Characters ============================ -->
<sect2 id="pluma-find-escapes">
<title>Special Characters</title>
<para>You can include the following escape sequences in the text to find or replace to represent special characters:</para>
<variablelist>
<varlistentry>
<term><literal>\n</literal></term>
<listitem>
<para>Specifies a new line.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>\t</literal></term>
<listitem>
<para>Specifies a tab character.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>\r</literal></term>
<listitem>
<para>Specifies a carriage return.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>\\</literal></term>
<listitem>
<para>The backslash character itself must be escaped if it is being searched for.
For example, if you are looking for the "<literal>\n</literal>" literal, you will
have to type "\\n" in the <guilabel>Search for</guilabel> field. Or if you are
looking for a sequence of backslashes, you will have to double the number of
searched backslashes.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<!-- ============= To Position the Cursor on a Specific Line ======================= -->
<sect2 id="pluma-goto-line">
<title>Positioning the Cursor on a Specific Line</title>
<para>To position the cursor on a specific line in the current file, choose <menuchoice> <guimenu>Search</guimenu> <guimenuitem>Go to Line</guimenuitem> </menuchoice>. The line number box appears at the top of the display area.</para>
<para>Begin typing the number of the line that you want to move the cursor to and the document will scroll to the specified line.</para>
<para>To dismiss the box and move the cursor to the specified line, press <keycap>Return</keycap>.</para>
</sect2>
</sect1>
<sect1 id="pluma-printing">
<title>Printing</title>
<!-- ============= To Set the Page Options ============================ -->
<sect2 id="pluma-page-setup">
<title>Setting the Page Options</title>
<para>To set the page options, choose <menuchoice> <guimenu>File</guimenu> <guimenuitem>Page Setup</guimenuitem> </menuchoice> to display the <guilabel>Page Setup</guilabel> dialog.</para>
<para>The <guilabel>Page Setup</guilabel> dialog enables you to specify the following print options:</para>
<sect3 id="pluma-page-setup-general">
<title>General Tabbed Section</title>
<variablelist>
<varlistentry> <term><guilabel>Print syntax highlighting</guilabel> </term>
<listitem>
<para>Select this option to print syntax highlighting. For more information about syntax highlighting, see <xref linkend="pluma-set-highlightmode"/>. </para>
</listitem>
</varlistentry>
<varlistentry> <term><guilabel>Print page headers</guilabel> </term>
<listitem>
<para>Select this option to include a header on each page that you print. You cannot configure the header. </para>
</listitem>
</varlistentry>
<varlistentry> <term><guilabel>Line Numbers</guilabel>
</term>
<listitem>
<para>Select the <guilabel>Print line numbers</guilabel> option to include line numbers when you print a file. </para>
<para>Use the <guilabel>Number every ... lines </guilabel> spin box to specify how often to print the line numbers, for example every 5 lines, every 10 lines, and so on. </para>
</listitem>
</varlistentry>
<varlistentry> <term><guilabel>Text Wrapping</guilabel> </term>
<listitem>
<para>Select the <guilabel>Enable text wrapping</guilabel> option to wrap text onto the next line, at a character level, when you print a file. The application counts wrapped lines as one line for line numbering purposes.
</para>
<para>Select the <guilabel>Do not split words over two lines</guilabel> option to wrap text onto the next line, at a word level, when you print a file.
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="pluma-page-setup-fonts">
<title>Fonts</title>
<variablelist>
<varlistentry> <term><guilabel>Body</guilabel> </term>
<listitem>
<para>Click on this button to select the font to use to print the body text of a file.</para>
</listitem>
</varlistentry>
<varlistentry> <term><guilabel>Line numbers</guilabel>
</term>
<listitem>
<para>Click on this button to select the font to use to print line numbers.</para>
</listitem>
</varlistentry>
<varlistentry> <term><guilabel>Headers and footers</guilabel> </term>
<listitem>
<para>Click on this button to select the font to use to print the headers and footers in a file. </para>
</listitem>
</varlistentry>
</variablelist>
<para>To reset the fonts to the default fonts for printing a file from <application>&app;</application>, click <guibutton>Restore Default Fonts</guibutton>.</para>
</sect3>
</sect2>
<!-- ============= To Print a File ============================ -->
<sect2 id="pluma-print-file">
<title>Printing a Document</title>
<para>You can use <application>&app;</application> to perform the following print operations:</para>
<itemizedlist>
<listitem><para>Print a document to a printer. </para>
</listitem>
<listitem><para>Print the output of the print command to a file.</para>
</listitem>
</itemizedlist>
<para>If you print to a file, <application>&app;</application> sends the output of the file to a pre-press format file. The most common pre-press formats are PostScript and Portable Document Format (PDF).</para>
<para>To preview the pages that you want to print, choose <menuchoice> <guimenu>File</guimenu> <guimenuitem>Print Preview</guimenuitem> </menuchoice>.</para>
<para>To print the current file to a printer or a file, choose <menuchoice> <guimenu>File</guimenu> <guimenuitem>Print</guimenuitem> </menuchoice> to display the <guilabel>Print</guilabel> dialog.</para>
<para>The <guilabel>Print</guilabel> dialog enables you to specify the following print options:</para>
<sect3 id="print-dialog-job">
<title>Job Tabbed Section</title>
<variablelist>
<varlistentry> <term><guilabel>Print range</guilabel> </term>
<listitem>
<para>Select one of the following options to determine how many pages to print:</para>
<itemizedlist>
<listitem>
<para><guilabel>All</guilabel></para>
<para>Select this option to print all of the pages in the file.</para>
</listitem>
<listitem>
<para><guilabel>Lines</guilabel></para>
<para>Select this option to print the specified lines only. Use the <guilabel>From</guilabel> and <guilabel>To</guilabel> spin boxes to specify the line range.</para>
</listitem>
<listitem>
<para><guilabel>Selection</guilabel></para>
<para>Select this option to print the selected text only. This option is only available if you select text.</para>
</listitem>
</itemizedlist>
</listitem>
</varlistentry>
<varlistentry> <term><guilabel>Copies</guilabel> </term>
<listitem>
<para>Use the <guilabel>Number of copies</guilabel> spin box to specify the number of copies of the file that you want to print.</para>
<para>If you print multiple copies of the file, select the <guilabel>Collate</guilabel> option to collate the printed copies.</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="print-dialog-printer">
<title>Printer Tabbed Section</title>
<variablelist>
<varlistentry> <term><guilabel>Printer</guilabel> </term>
<listitem>
<para>Use this drop-down list to select the printer to which you want to print the file.</para>
</listitem>
</varlistentry>
<varlistentry> <term><guilabel>Settings</guilabel> </term>
<listitem>
<para>Use this drop-down list to select the printer settings.
</para>
<para>To configure the printer, click <guibutton>Configure</guibutton>. For example, you can enable or disable duplex printing, or schedule delayed printing, if this functionality is supported by the printer.
</para>
</listitem>
</varlistentry>
<varlistentry> <term><guilabel>Location</guilabel> </term>
<listitem>
<para>
Use this drop-down list to select one of the following print destinations:
</para>
<variablelist>
<varlistentry>
<term><guilabel>CUPS</guilabel></term>
<listitem>
<para>
Print the file to a CUPS printer.
</para>
<note>
<para>
If the selected printer is a CUPS printer, <guilabel>CUPS</guilabel> is the only entry in this drop-down list.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>lpr</guilabel></term>
<listitem>
<para>
Print the file to a printer.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>File</guilabel></term>
<listitem>
<para>
Print the file to a PostScript file.
</para>
<para>
Click <guibutton>Save As</guibutton> to display a dialog where you specify the name and location of the PostScript file.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Custom</guilabel></term>
<listitem>
<para>
Use the specified command to print the file.
</para>
<para>
Type the name of the command in the text box. Include all command-line arguments.
</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry> <term><guilabel>State</guilabel> </term>
<listitem>
<para>This functionality is not supported in this version of &app;.
</para>
</listitem>
</varlistentry>
<varlistentry> <term><guilabel>Type</guilabel> </term>
<listitem>
<para>This functionality is not supported in this version of &app;.
</para>
</listitem>
</varlistentry>
<varlistentry> <term><guilabel>Comment</guilabel> </term>
<listitem>
<para>This functionality is not supported in this version of &app;.
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="print-dialog-paper">
<title>Paper Tabbed Section</title>
<variablelist>
<varlistentry> <term><guilabel>Paper size</guilabel> </term>
<listitem>
<para>Use this drop-down list to select the size of the paper to which you want to print the file.</para>
</listitem>
</varlistentry>
<varlistentry> <term><guilabel>Width</guilabel> </term>
<listitem>
<para>Use this spin box to specify the width of the paper. Use the adjacent drop-down list to change the measurement unit.</para>
</listitem>
</varlistentry>
<varlistentry> <term><guilabel>Height</guilabel> </term>
<listitem>
<para>Use this spin box to specify the height of the paper.</para>
</listitem>
</varlistentry>
<varlistentry> <term><guilabel>Feed orientation</guilabel> </term>
<listitem>
<para>Use this drop-down list to select the orientation of the paper in the printer.</para>
</listitem>
</varlistentry>
<varlistentry> <term><guilabel>Page orientation</guilabel> </term>
<listitem>
<para>Use this drop-down list to select the page orientation.</para>
</listitem>
</varlistentry>
<varlistentry> <term><guilabel>Layout</guilabel> </term>
<listitem>
<para>Use this drop-down list to select the page layout. A preview of each layout that you select is displayed in the <guilabel>Preview</guilabel> area.</para>
</listitem>
</varlistentry>
<varlistentry> <term><guilabel>Paper tray</guilabel> </term>
<listitem>
<para>Use this drop-down list to select the paper tray.
</para> </listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>
</sect1>
<sect1 id="pluma-programming-features">
<title>Programming Features</title>
<para>Several of <application>&app;</application>'s features for programming are provided with plugins. For example, the Tag List plugin provides a list of commonly-used tags for different markup languages: see <xref linkend="pluma-tag-list-plugin"/>.</para>
<!-- ============= Syntax Highlighting =================== -->
<sect2 id="pluma-set-highlightmode">
<title>Syntax Highlighting</title>
<para>Syntax highlighting makes source code easier to read by showing different parts of the text in different colors.</para>
<para><application>&app;</application> chooses an appropriate syntax highlighting mode based on a document's type. To override the syntax highlighting mode, choose <menuchoice> <guimenu>View</guimenu> <guimenuitem>Highlight Mode</guimenuitem> </menuchoice>, then choose one of the following menu items:</para>
<variablelist>
<varlistentry>
<term><guimenuitem>Normal</guimenuitem></term>
<listitem>
<para>Do not display any syntax highlighting.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guisubmenu>Sources</guisubmenu></term>
<listitem>
<para>Display syntax highlighting to edit source code. Use the <guisubmenu>Sources</guisubmenu> submenu to select the source code type.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guisubmenu>Markup</guisubmenu></term>
<listitem>
<para>Display syntax highlighting to edit markup code. Use the <guisubmenu>Markup</guisubmenu> submenu to select the markup code type.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guisubmenu>Scripts</guisubmenu></term>
<listitem>
<para>Display syntax highlighting to edit script code. Use the <guisubmenu>Scripts</guisubmenu> submenu to select the script code type.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guisubmenu>Others</guisubmenu></term>
<listitem>
<para>Display syntax highlighting to edit other types of code. Use the <guisubmenu>Others</guisubmenu> submenu to select the code type.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<!-- ============= To Pipe the Output of a Command to a File ======= -->
<sect2 id="pluma-pipe-output">
<title>Piping the Output of a Command to a File</title>
<para>You can use <application>&app;</application> to pipe the output of a command to a text file. For example, to pipe the output of an <command>ls</command> command to a text file, type <command>ls | pluma</command>, then press <keycap>Return</keycap>.</para>
<para>The output of the <command>ls</command> command is displayed in a new text file in the <application>&app;</application> window.</para>
<para>Alternatively, you can use the <application>External tools</application> plugin to pipe command output to the current file. <!-- fixme: xref needed! --></para>
</sect2>
</sect1>
<!-- ================ Shortcut Keys ============================= -->
<sect1 id="pluma-shortcutkeys">
<title>Shortcut Keys</title>
<para>Use shortcut keys to perform common tasks more quickly than with the mouse and menus. The following tables list all of <application>&app;</application>'s shortcut keys.</para>
<para>For more on shortcut keys, see the <ulink type="help" url="ghelp:user-guide?keyboard-skills">Desktop User Guide</ulink>.</para>
<!-- ============= Tabs ======================== -->
<bridgehead>Tabs</bridgehead>
<para>Shortcuts for tabs:</para>
<informaltable frame="all">
<tgroup cols="2" colsep="1" rowsep="1">
<colspec colname="COLSPEC0" colwidth="50*"/>
<colspec colname="COLSPEC1" colwidth="50*"/>
<thead>
<row valign="top">
<entry colname="COLSPEC0">
<para>Shortcut Key</para></entry>
<entry colname="COLSPEC1" align="left">
<para>Command</para></entry>
</row>
</thead>
<tbody>
<row valign="top">
<entry><para>Ctrl + Alt + PageUp</para></entry>
<entry><para>Switches to the next tab to the left.</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + Alt + PageDown</para></entry>
<entry><para>Switches to the next tab to the right.</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + W</para></entry>
<entry><para>Close tab.</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + Shift + L</para></entry>
<entry><para>Save all tabs.</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + Shift + W</para></entry>
<entry><para>Close all tabs. </para></entry>
</row>
<row valign="top">
<entry><para>Alt + n</para></entry>
<entry><para>Jump to nth tab.</para></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<!-- ============= Files ======================== -->
<bridgehead>Files</bridgehead>
<para>Shortcuts for working with files:</para>
<informaltable frame="all">
<tgroup cols="2" colsep="1" rowsep="1">
<colspec colname="COLSPEC0" colwidth="50*"/>
<colspec colname="COLSPEC1" colwidth="50*"/>
<thead>
<row valign="top">
<entry colname="COLSPEC0">
<para>Shortcut Key</para></entry>
<entry colname="COLSPEC1" align="left">
<para>Command</para></entry>
</row>
</thead>
<tbody>
<row valign="top">
<entry><para>Ctrl + N</para></entry>
<entry><para>Create a new document.</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + O</para></entry>
<entry><para>Open a document.</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + L</para></entry>
<entry><para>Open a location.</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + S</para></entry>
<entry><para>Save the current document to disk.</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + Shift + S</para></entry>
<entry><para>Save the current document with a new filename.</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + P</para></entry>
<entry><para>Print the current document.</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + Shift + P</para></entry>
<entry><para>Print preview.</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + W</para></entry>
<entry><para>Close the current document.</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + Q</para></entry>
<entry><para>Quit Pluma.</para></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<!-- ============= Edit ======================= -->
<bridgehead>Edit</bridgehead>
<para>Shortcuts for editing documents:</para>
<informaltable frame="all">
<tgroup cols="2" colsep="1" rowsep="1">
<colspec colname="COLSPEC0" colwidth="50*"/>
<colspec colname="COLSPEC1" colwidth="50*"/>
<thead>
<row valign="top">
<entry colname="COLSPEC0">
<para>Shortcut Key</para></entry>
<entry colname="COLSPEC1" align="left">
<para>Command</para></entry>
</row>
</thead>
<tbody>
<row valign="top">
<entry><para>Ctrl + Z</para></entry>
<entry><para>Undo the last action.</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + Shift + Z</para></entry>
<entry><para>Redo the last undone action .</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + X</para></entry>
<entry><para>Cut the selected text or region and place it on the clipboard.</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + C</para></entry>
<entry><para>Copy the selected text or region onto the clipboard.</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + V</para></entry>
<entry><para>Paste the contents of the clipboard.</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + A</para></entry>
<entry><para>Select all.</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + D</para></entry>
<entry><para>Delete current line.</para></entry>
</row>
<row valign="top">
<entry><para>Alt + Up</para></entry>
<entry><para>Move the selected line up one line.</para></entry>
</row>
<row valign="top">
<entry><para>Alt + Down</para></entry>
<entry><para>Move the selected line down one line.</para></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<!-- ============= Panes ======================= -->
<bridgehead>Panes</bridgehead>
<para>Shortcuts for showing and hiding panes:</para>
<informaltable frame="all">
<tgroup cols="2" colsep="1" rowsep="1">
<colspec colname="COLSPEC0" colwidth="50*"/>
<colspec colname="COLSPEC1" colwidth="50*"/>
<thead>
<row valign="top">
<entry colname="COLSPEC0">
<para>Shortcut Key</para></entry>
<entry colname="COLSPEC1" align="left">
<para>Command</para></entry>
</row>
</thead>
<tbody>
<row valign="top">
<entry><para>F9</para></entry>
<entry><para>Show/hide the side pane.</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + F9</para></entry>
<entry><para>Show/hide the bottom pane.</para></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<!-- ============= Search ======================= -->
<bridgehead>Search</bridgehead>
<para>Shortcuts for searching:</para>
<informaltable frame="all">
<tgroup cols="2" colsep="1" rowsep="1">
<colspec colname="COLSPEC0" colwidth="50*"/>
<colspec colname="COLSPEC1" colwidth="50*"/>
<thead>
<row valign="top">
<entry colname="COLSPEC0">
<para>Shortcut Key</para></entry>
<entry colname="COLSPEC1" align="left">
<para>Command</para></entry>
</row>
</thead>
<tbody>
<row valign="top">
<entry><para>Ctrl + F</para></entry>
<entry><para>Find a string.</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + G</para></entry>
<entry><para>Find the next instance of the string.</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + Shift + G</para></entry>
<entry><para>Find the previous instance of the string.</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + K</para></entry>
<entry><para>Interactive search.</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + H</para></entry>
<entry><para>Search and replace.</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + Shift + K</para></entry>
<entry><para>Clear highlight.</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + I</para></entry>
<entry><para>Goto line.</para></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<!-- ============= Tools ======================= -->
<bridgehead>Tools</bridgehead>
<para>Shortcuts for tools:</para>
<informaltable frame="all">
<tgroup cols="2" colsep="1" rowsep="1">
<colspec colname="COLSPEC0" colwidth="50*"/>
<colspec colname="COLSPEC1" colwidth="50*"/>
<thead>
<row valign="top">
<entry colname="COLSPEC0">
<para>Shortcut Key</para></entry>
<entry colname="COLSPEC1" align="left">
<para>Command</para></entry>
</row>
</thead>
<tbody>
<row valign="top">
<entry><para>Shift + F7</para></entry>
<entry><para>Check spelling (with plugin).</para></entry>
</row>
<row valign="top">
<entry><para>Alt + F12</para></entry>
<entry><para>Remove trailing spaces (with plugin).</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + T</para></entry>
<entry><para>Indent (with plugin).</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + Shift + T</para></entry>
<entry><para>Remove Indent (with plugin).</para></entry>
</row>
<row valign="top">
<entry><para>F8</para></entry>
<entry><para>Run "make" in current directory (with plugin).</para></entry>
</row>
<row valign="top">
<entry><para>Ctrl + Shift + D</para></entry>
<entry><para>Directory listing (with plugin).</para></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<!-- ============= Help ======================= -->
<bridgehead>Help</bridgehead>
<para>Shortcuts for help:</para>
<informaltable frame="all">
<tgroup cols="2" colsep="1" rowsep="1">
<colspec colname="COLSPEC0" colwidth="50*"/>
<colspec colname="COLSPEC1" colwidth="50*"/>
<thead>
<row valign="top">
<entry colname="COLSPEC0">
<para>Shortcut Key</para></entry>
<entry colname="COLSPEC1" align="left">
<para>Command</para></entry>
</row>
</thead>
<tbody>
<row valign="top">
<entry><para>F1</para></entry>
<entry><para>Open <application>&app;</application>'s user manual.</para></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect1>
<!-- ============= Preferences ============================= -->
<sect1 id="pluma-prefs">
<title>Preferences</title>
<para>To configure <application>&app;</application>, choose <menuchoice> <guimenu>Edit</guimenu> <guimenuitem>Preferences</guimenuitem> </menuchoice>. The <guilabel>Preferences</guilabel> dialog contains the following categories:</para>
<itemizedlist>
<listitem><para><xref linkend="pluma-prefs-view"/></para></listitem>
<listitem><para><xref linkend="pluma-prefs-editor"/></para></listitem>
<listitem><para><xref linkend="pluma-prefs-fontsandcolors"/></para></listitem>
<listitem><para><xref linkend="pluma-prefs-plugins"/></para></listitem>
</itemizedlist>
<sect2 id="pluma-prefs-view">
<title>View Preferences</title>
<variablelist>
<varlistentry>
<term><guilabel>Text Wrapping</guilabel> </term>
<listitem>
<para>Select the <guilabel>Enable text wrapping</guilabel> option to have long lines of text flow into paragraphs instead of running off the edge of the text window. This avoids having to scroll horizontally</para>
<para>Select the <guilabel>Do not split words over two lines</guilabel> option to have the text wrapping option preserve whole words when flowing text to the next line. This makes text easier to read.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Line Numbers</guilabel></term>
<listitem>
<para>Select the <guilabel>Display line numbers</guilabel> option to display line numbers on the left side of the <application>&app;</application> window. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Current Line</guilabel></term>
<listitem>
<para>Select the <guilabel>Highlight current line</guilabel> option to highlight the line where the cursor is placed. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Right Margin</guilabel></term>
<listitem>
<para>Select the <guilabel>Display right margin</guilabel> option to display a vertical line that indicates the right margin. </para>
<para>Use the <guilabel>Right margin at column</guilabel> spin box to specify the location of the vertical line. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Bracket Matching</guilabel></term>
<listitem>
<para>Select the <guilabel>Highlight matching bracket</guilabel> option to highlight the corresponding bracket when the cursor is positioned on a bracket character. </para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="pluma-prefs-editor">
<title>Editor Preferences</title>
<variablelist>
<varlistentry>
<term><guilabel>Tabs</guilabel> </term>
<listitem>
<para>Use the <guilabel>Tab width</guilabel> spin box to specify the width of the space that <application> &app;</application> inserts when you press the <keycap>Tab</keycap> key. </para>
<para>Select the <guilabel>Insert spaces instead of tabs</guilabel> option to specify that <application> &app;</application> inserts spaces instead of a tab character when you press the <keycap>Tab</keycap> key. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Auto Indentation</guilabel> </term>
<listitem>
<para>Select the <guilabel>Enable auto indentation</guilabel> option to specify that the next line starts at the indentation level of the current line. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>File Saving</guilabel> </term>
<listitem>
<para>Select the <guilabel>Create a backup copy of files before saving</guilabel> option to create a backup copy of a file each time you save the file. The backup copy of the file contains a ~ at the end of the filename.</para>
<para>Select the <guilabel>Autosave files every ... minutes</guilabel> option to automatically save the current file at regular intervals. Use the spin box to specify how often you want to save the file.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="pluma-prefs-fontsandcolors">
<title>Font &amp; Colors Preferences</title>
<variablelist>
<varlistentry>
<term><guilabel>Font</guilabel> </term>
<listitem>
<para>Select the <guilabel>Use default theme font</guilabel> option to use the default system font for the text in the <application>&app;</application> text window. </para>
<para>The <guilabel>Editor font</guilabel> field displays the font that <application>&app;</application> uses to display text. Click on the button to specify the font type, style, and size to use for text. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Color Scheme</guilabel></term>
<listitem>
<para>You can choose a color scheme from the list of color schemes. By default, the following color schemes are installed:</para>
<variablelist>
<varlistentry>
<term><guilabel>Classic</guilabel></term>
<listitem>
<para>Classic color scheme based on the gvim color scheme.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Cobalt</guilabel></term>
<listitem>
<para>Blue based color scheme.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Kate</guilabel></term>
<listitem>
<para>Color scheme used in the Kate text editor.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Oblivion</guilabel></term>
<listitem>
<para>Dark color scheme using the Tango color palette.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Tango</guilabel></term>
<listitem>
<para>Color scheme using the Tango color scheme.</para>
</listitem>
</varlistentry>
</variablelist>
<para>You can add a new color scheme by clicking on <guilabel>Add...</guilabel>, and selecting a color scheme file</para>
<para>You can remove the selected color scheme by clicking on <guilabel>Remove</guilabel></para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="pluma-prefs-plugins">
<title>Plugins Preferences</title>
<para>Plugins add extra features to <application>&app;</application>. For more information on plugins and how to use the built-in plugins, see <xref linkend="pluma-plugins-overview"/>.</para>
<!-- ============= To Load pluma Plugins ========================= -->
<sect3 id="pluma-install-plugins">
<title>Enabling a Plugin</title>
<para>To enable a <application>&app;</application> plugin, perform the following steps:</para>
<orderedlist>
<listitem>
<para>Choose <menuchoice> <guimenu>Edit</guimenu> <guimenuitem>Preferences</guimenuitem> </menuchoice>. </para>
</listitem>
<listitem>
<para>Select the <guilabel>Plugins</guilabel> tab. </para>
</listitem>
<listitem>
<para>Select the check box next to the name of the plugin that you want to enable.</para>
</listitem>
<listitem>
<para>Click <guibutton>Close</guibutton> to close the <guilabel>Preferences</guilabel> dialog. </para>
</listitem>
</orderedlist>
</sect3>
<!-- ============= To Remove pluma Plugins ========================= -->
<sect3 id="pluma-remove-plugins">
<title>Disabling a Plugin</title>
<para>A plugin remains enabled when you quit <application>&app;</application>. </para>
<para>To disable a <application>&app;</application> plugin, perform the following steps:</para>
<orderedlist>
<listitem>
<para>Choose <menuchoice> <guimenu>Edit</guimenu> <guimenuitem>Preferences</guimenuitem> </menuchoice>. </para>
</listitem>
<listitem>
<para>Select the <guilabel>Plugins</guilabel> tab. </para>
</listitem>
<listitem>
<para>Deselect the check box next to the name of the plugin that you want to disable.</para>
</listitem>
<listitem>
<para>Click <guibutton>Close</guibutton> to close the <guilabel>Preferences</guilabel> dialog. </para>
</listitem>
</orderedlist>
</sect3>
</sect2>
</sect1>
<!-- ============= To Use the pluma Plugins ========================= -->
<sect1 id="pluma-plugins">
<title>Plugins</title>
<sect2 id="pluma-plugins-overview">
<title>Working with Plugins</title>
<para>You can add extra features to <application>&app;</application> by enabling <firstterm>plugins</firstterm>. A plugin is a supplementary program that enhances the functionality of an application. Plugins add new items to the <application>&app;</application> menus for the new features they provide.
</para>
<para>Several plugins come built-in with <application>&app;</application>, and you can install more. The <ulink type="http" url="http://live.gnome.org/Pluma/Plugins">pluma website</ulink> lists third-party plugins.</para>
<para>To enable and disable plugins, or see which plugins are currently enabled, use the <link linkend="pluma-prefs-plugins">Plugins Preferences</link>.</para>
<para>The following plugins come built-in with <application>&app;</application>:</para>
<!-- Not yet documented:
File browser
-->
<itemizedlist>
<listitem>
<para><link linkend="pluma-change-case-plugin"><application>Change Case</application></link> allows you to change the case of the selected text.</para>
</listitem>
<listitem>
<para><application><link linkend="pluma-document-statistics-plugin">Document Statistics</link></application> shows the number of lines, words, and characters in the document. </para>
</listitem>
<listitem>
<para><application><link linkend="pluma-external-tools-plugin">External Tools</link></application> allows you to execute external commands from <application>&app;</application>.</para>
</listitem>
<listitem>
<para><application><!-- <link linkend="pluma-file-browser-plugin">File Browser</link>-->File Browser</application> allows you to browse your files and folders in the side pane.</para>
</listitem>
<listitem>
<para><application><link linkend="pluma-indent-lines-plugin">Indent Lines</link></application> adds or removes indentation from the selected lines.</para>
</listitem>
<listitem>
<para><application><link linkend="pluma-insert-date-time-plugin">Insert Date/Time</link></application> adds the current date and time into a document.</para>
</listitem>
<listitem>
<para><application><link linkend="pluma-modelines-plugin">Modelines</link></application> allows you to set editing preferences for individual documents, and supports <application>Emacs</application>, <application>Kate</application> and <application>Vim</application>-style modelines.</para>
</listitem>
<listitem>
<para><application><link linkend="pluma-python-console-plugin">Python Console</link></application> allows you to run commands in the python programming language.</para>
</listitem>
<listitem>
<para><application><link linkend="pluma-snippets-plugin">Snippets</link></application> allows you to store frequently-used pieces of text and insert them quickly into a document.</para>
</listitem>
<listitem>
<para><application><link linkend="pluma-sort-plugin">Sort</link></application> arranges selected lines of text into alphabetical order.</para>
</listitem>
<listitem>
<para><application><link linkend="pluma-spell-checker-plugin">Spell Checker</link></application> corrects the spelling in the selected text, or marks errors automatically in the document.</para>
</listitem>
<listitem>
<para><application><link linkend="pluma-tag-list-plugin">Tag List</link></application> lets you insert commonly-used tags for HTML and other languages from a list in the side pane.</para>
</listitem>
</itemizedlist>
<note><para>For more information on creating plugins, see the <ulink type="http" url="http://live.gnome.org/Pluma/Plugins"><application>&app;</application> website</ulink>.</para></note>
</sect2>
<sect2 id="pluma-change-case-plugin">
<title>Change Case Plugin</title>
<para>The <application>Change Case</application> plugin changes the case of the selected text.</para>
<para>The following items are added to the <guimenu>Edit</guimenu> menu when the <application>Change Case</application> plugin is enabled:</para>
<informaltable frame="all">
<tgroup cols="3" colsep="1" rowsep="1">
<colspec colname="COLSPEC0" colwidth="33*"/>
<colspec colname="COLSPEC1" colwidth="33*"/>
<colspec colname="COLSPEC2" colwidth="33*"/>
<thead>
<row valign="top">
<entry colname="COLSPEC0">
<para>Menu Item</para></entry>
<entry colname="COLSPEC1">
<para>Action</para></entry>
<entry colname="COLSPEC2">
<para>Example</para></entry>
</row>
</thead>
<tbody>
<row valign="top">
<entry><para><menuchoice><guimenu>Edit</guimenu>
<guisubmenu>Change Case</guisubmenu><guimenuitem>All Upper Case</guimenuitem></menuchoice></para></entry>
<entry><para>Change each character to uppercase. </para></entry>
<entry><para><literal>This text</literal> becomes <literal>THIS TEXT</literal> </para></entry>
</row>
<row valign="top">
<entry><para><menuchoice><guimenu>Edit</guimenu>
<guisubmenu>Change Case</guisubmenu><guimenuitem>All Lower Case</guimenuitem></menuchoice></para></entry>
<entry><para>Change each character to lowercase. </para></entry>
<entry><para><literal>This Text</literal> becomes <literal>this text</literal> </para></entry>
</row>
<row valign="top">
<entry><para><menuchoice><guimenu>Edit</guimenu>
<guisubmenu>Change Case</guisubmenu><guimenuitem>Invert Case</guimenuitem></menuchoice></para></entry>
<entry><para>Change each lowercase character to uppercase, and change each uppercase character to lowercase. </para></entry>
<entry><para><literal>This Text</literal> becomes <literal>tHIS tEXT</literal> </para></entry>
</row>
<row valign="top">
<entry><para><menuchoice><guimenu>Edit</guimenu>
<guisubmenu>Change Case</guisubmenu><guimenuitem>Title Case</guimenuitem></menuchoice></para></entry>
<entry><para>Change the first character of each word to uppercase. </para></entry>
<entry><para><literal>this text</literal> becomes <literal>This Text</literal> </para></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
<sect2 id="pluma-document-statistics-plugin">
<title>Document Statistics Plugin</title>
<para>The <application>Document Statistics</application> plugin counts the number of lines, words, characters with spaces, characters without spaces, and bytes in the current file. The plugin displays the results in a <guilabel>Document Statistics</guilabel> dialog. To use the Document Statistics plugin, perform the following steps:</para>
<orderedlist>
<listitem><para>Choose <menuchoice> <guimenu>Tools</guimenu> <guimenuitem>Document Statistics</guimenuitem> </menuchoice> to display the <guilabel>Document Statistics</guilabel> dialog. The <guilabel>Document Statistics</guilabel> dialog displays the following information about the file:
</para>
<itemizedlist>
<listitem><para>Number of lines in the current document.
</para>
</listitem>
<listitem><para>Number of words in the current document.
</para>
</listitem>
<listitem><para>Number of characters, including spaces, in the current document.
</para>
</listitem>
<listitem><para>Number of characters, not including spaces, in the current document.
</para>
</listitem>
<listitem><para>Number of bytes in the current document.
</para>
</listitem>
</itemizedlist>
</listitem>
<listitem><para>You can continue to update the <application>&app;</application> file while the <guilabel>Document Statistics</guilabel> dialog is open. To refresh the contents of the <guilabel>Document Statistics</guilabel> dialog, click <guibutton>Update</guibutton>.
</para>
</listitem>
</orderedlist>
</sect2>
<sect2 id="pluma-external-tools-plugin">
<title>External Tools Plugin</title>
<para>The <application>External Tools</application> plugin allows you to execute external commands from <application>&app;</application>. You can pipe some content into a command and exploit its output (for example, <application>sed</application>), or launch a predefined command (for example, <application>make</application>).</para>
<para>Use the <guilabel>External Tools Manager</guilabel> to create and edit commands. To run an external command, choose it from the <guimenu>Tools</guimenu> menu.</para>
<sect3 id="pluma-external-tools-plugin-builtin">
<title>Built-in Commands</title>
<para>The following commands are provided with the <application>External Tools</application> plugin:</para>
<variablelist>
<varlistentry><term>Build</term>
<listitem>
<para>Runs <application>make</application> in the current document's directory.</para>
</listitem>
</varlistentry>
<varlistentry><term>Directory Listing</term>
<listitem>
<para>Lists the contents of the current document's directory in a new document.</para>
</listitem>
</varlistentry>
<varlistentry><term>Environment Variables</term>
<listitem>
<para>Displays the environment variables list in the bottom pane.</para>
</listitem>
</varlistentry>
<varlistentry><term>Grep</term>
<listitem>
<para>Searches for a term in all files in the current document directory, using pattern matching. Results are shown in the bottom pane.</para>
</listitem>
</varlistentry>
<varlistentry><term>Remove Trailing Spaces</term>
<listitem>
<para>Removes all spaces from the end of lines in the document.</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="pluma-external-tools-plugin-define">
<title>Defining a Command</title>
<para>To add an external command, choose <menuchoice><guimenu>Tools</guimenu><guimenuitem>External Tools</guimenuitem></menuchoice>.</para>
<para>In the <guilabel>External Tools Manager</guilabel> window, click <guibutton>New</guibutton>. You can speficy the following details for the new command:</para>
<variablelist>
<varlistentry><term>Description</term>
<listitem>
<para>This description is shown in the statusbar when the menu command is chosen.</para>
</listitem>
</varlistentry>
<varlistentry><term>Accelerator</term>
<listitem>
<para>Enter a keyboard shortcut for the command.</para>
</listitem>
</varlistentry>
<varlistentry><term>Commands</term>
<listitem>
<para>The actual commands to be run. Several <application>&app;</application> environment variables can be used to pass content to these commands: see <xref linkend="pluma-external-tools-plugin-variables"/>.</para>
</listitem>
</varlistentry>
<varlistentry><term>Input</term>
<listitem>
<para>The content to give to the commands (as <systemitem>stdin</systemitem>): the entire text of the current document, the current selection, line, or word.</para>
</listitem>
</varlistentry>
<varlistentry><term>Output</term>
<listitem>
<para>What to do with the output of the commands: display in the bottom pane, put in a new document, or place in the current document, at the end, at the cursor position, or replacing the selection or the entire document.</para>
</listitem>
</varlistentry>
<varlistentry><term>Applicability</term>
<listitem>
<para>Determines which sort of documents can be affected by the command, for example whether saved or not, and local or remote.</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="pluma-external-tools-plugin-edit">
<title>Editing and Removing Tools</title>
<para>To edit a tool, select it in the list and make changes to its properties.</para>
<para>To rename a tool, click it again in the list.</para>
<para>To restore a built-in tool that you have changed, press <guilabel>Revert</guilabel>.</para>
<para>To remove a tool, select it in the list and press <guibutton>Remove</guibutton>. You can not remove built-in tools, only those you have created yourself.</para>
</sect3>
<sect3 id="pluma-external-tools-plugin-variables">
<title>Variables</title>
<para>You can use the following variables in the <guilabel>Commands</guilabel> field of the command definition:</para>
<itemizedlist>
<listitem>
<para>PLUMA_CURRENT_DOCUMENT_URI</para>
</listitem>
<listitem>
<para>PLUMA_CURRENT_DOCUMENT_NAME</para>
</listitem>
<listitem>
<para>PLUMA_CURRENT_DOCUMENT_SCHEME</para>
</listitem>
<listitem>
<para>PLUMA_CURRENT_DOCUMENT_PATH</para>
</listitem>
<listitem>
<para>PLUMA_CURRENT_DOCUMENT_DIR</para>
</listitem>
<listitem>
<para>PLUMA_DOCUMENTS_URI</para>
</listitem>
<listitem>
<para>PLUMA_DOCUMENTS_PATH</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2 id="pluma-file-browser-plugin">
<title>File Browser Plugin</title>
<para>The <application>File Browser</application> Plugin shows your files and folders in the side pane, allowing you to quickly open files.</para>
<para>To view the File Browser, choose <menuchoice><guimenu>View</guimenu> <guimenuitem>Side Pane</guimenuitem> </menuchoice> and then click on the tab showing the File Browser icon at the bottom of the side pane.</para>
<sect3 id="pluma-file-browser-plugin-browsing">
<title>Browsing your Files</title>
<para>The File Browser tab initially shows your file manager bookmarks. To browse the contents of any item, double-click it.</para>
<para>To show a parent folder, choose from the drop-down list, or press the up arrow on the File Browser's toolbar.</para>
<para>To show the folder that contains the document you are currently working on, right-click in the file list and choose <guimenuitem>Set root to active document</guimenuitem>.</para>
</sect3>
<sect3 id="pluma-file-browser-plugin-open">
<title>Opening a File</title>
<para>To open a file in <application>&app;</application>, double-click it in the file list.</para>
</sect3>
<sect3 id="pluma-file-browser-plugin-create">
<title>Creating Files and Folders</title>
<para>To create a new, empty text file in the current folder shown in the browser, right-click in the file list and choose <guimenuitem>New File</guimenuitem>.</para>
<para>To create a new folder in the current folder shown in the browser, right-click in the file list and choose <guimenuitem>New Folder</guimenuitem>.</para>
</sect3>
</sect2>
<sect2 id="pluma-indent-lines-plugin">
<title>Indent Lines Plugin</title>
<para>The <application>Indent Lines</application> plugin adds or removes space from the beginning of lines of text.</para>
<para>To indent or unindent text, perform the following steps:</para>
<orderedlist>
<listitem><para>Select the lines that you want to indent. To indent or unindent a single line, place the cursor anywhere on that line.</para>
</listitem>
<listitem>
<itemizedlist>
<listitem>
<para>To indent the text, choose <menuchoice> <guimenu>Edit</guimenu> <guimenuitem>Indent</guimenuitem> </menuchoice>.</para>
</listitem>
<listitem>
<para>To remove the indentation, choose <menuchoice> <guimenu>Edit</guimenu> <guimenuitem>Unindent</guimenuitem> </menuchoice>.</para>
</listitem>
</itemizedlist>
</listitem>
</orderedlist>
<para>The amount of space used, and whether tab character or space characters are used, depends on the <guilabel>Tab Stops</guilabel> settings in the Editor Preferences: see <xref linkend="pluma-prefs-editor"/>.</para>
</sect2>
<sect2 id="pluma-insert-date-time-plugin">
<title>Insert Date/Time Plugin</title>
<para>The <application>Insert Date/Time</application> plugin inserts the current date and time into a document. To use the Insert Date/Time plugin, perform the following steps:</para>
<orderedlist>
<listitem><para>Choose <menuchoice> <guimenu>Edit</guimenu> <guimenuitem>Insert Date and Time</guimenuitem> </menuchoice>. </para>
<para>If you have not configured the Insert Date/Time plugin to automatically insert the date/time without prompting you for the format, <application>&app;</application> displays the <guilabel>Insert Date and Time</guilabel> dialog. Select the appropriate date/time format from the list. Click <guibutton>Insert</guibutton> to close the <guilabel>Insert Date and Time</guilabel> dialog. <application>&app;</application> inserts the date/time at the cursor position in the current file. </para>
<para>If you have configured <application>&app;</application> to use one particular date/time format, the <guilabel>Insert Date and Time</guilabel> dialog is not displayed. The date/time is automatically entered at the cursor position in the current file. </para>
</listitem>
</orderedlist>
<sect3 id="pluma-date-time-configure">
<title>Configuring the Insert Date/Time Plugin</title>
<para>To configure the Insert Date/Time plugin, perform the following steps:</para>
<orderedlist>
<listitem> <para>Choose <menuchoice> <guimenu>Edit</guimenu> <guimenuitem>Preferences</guimenuitem> </menuchoice>.
</para>
</listitem>
<listitem> <para>Select the <guilabel>Plugins</guilabel> tab.
</para>
</listitem>
<listitem> <para>Select the <guilabel>Insert Date/Time</guilabel> plugin.
</para>
</listitem>
<listitem> <para>Click <guibutton>Configure Plugin</guibutton> to display the <guilabel>Configure insert date/time plugin</guilabel> dialog.
</para>
</listitem>
<listitem> <para>Select one of the options, as follows: </para>
<itemizedlist>
<listitem><para>To specify the date/time format each time you insert the date/time, select the <guilabel>Prompt for a format</guilabel> option.
</para>
</listitem>
<listitem><para>To use the same <application>&app;</application>-provided date/time format each time you insert the date/time, select the <guilabel>Use the selected format</guilabel> option, then select the appropriate format from the list. When you select this option, <application>&app;</application> does not prompt you for the date/time format when you choose <menuchoice> <guimenu>Edit</guimenu> <guimenuitem>Insert Date and Time</guimenuitem> </menuchoice>.
</para>
</listitem>
<listitem><para>To use the same customized date/time format each time you insert the date/time, select the <guilabel>Use custom format</guilabel> option, then enter the appropriate format in the text box. For more information about how to specify a custom format, see <ulink url="man:strftime" type="man"><citerefentry><refentrytitle>strftime</refentrytitle><manvolnum>3</manvolnum></citerefentry></ulink>. When you select this option, <application>&app;</application> does not prompt you for the date/time format when you choose <menuchoice> <guimenu>Edit</guimenu> <guimenuitem>Insert Date and Time</guimenuitem> </menuchoice>.
</para>
</listitem>
</itemizedlist>
</listitem>
<listitem> <para>Click <guibutton>OK</guibutton> to close the <guilabel>Configure insert date/time plugin</guilabel> dialog.
</para>
</listitem>
<listitem> <para>To close the <guilabel>Preferences</guilabel> dialog, click <guibutton>Close</guibutton>.</para>
</listitem>
</orderedlist>
</sect3>
</sect2>
<sect2 id="pluma-modelines-plugin">
<title>Modelines Plugin</title>
<para>The <application>Modelines</application> plugin allows you to set preferences for individual documents. A <firstterm>modeline</firstterm> is a line of text at the start or end of the document with settings that <application>&app;</application> recognises.</para>
<para>Preferences set using modelines take precedence over the ones specified in the preference dialog.</para>
<para>You can set the following preferences with modelines:</para>
<itemizedlist>
<listitem>
<para>Tab width</para>
</listitem>
<listitem>
<para>Indent width</para>
</listitem>
<listitem>
<para>Insert spaces instead of tabs</para>
</listitem>
<listitem>
<para>Text Wrapping</para>
</listitem>
<listitem>
<para>Right margin width</para>
</listitem>
</itemizedlist>
<para>The <application>Modelines</application> plugin supports a subset of the options used by other text editors <application>Emacs</application>, <application>Kate</application> and <application>Vim</application>.</para>
<sect3 id="pluma-modelines-plugin-emacs">
<title>Emacs Modelines</title>
<para>The first two lines of a document are scanned for <application>Emacs</application> modelines.</para>
<para>The <application>Emacs</application> options for tab-width, indent-offset, indent-tabs-mode and autowrap are supported. For more information, see the <ulink type="http" url="http://www.delorie.com/gnu/docs/emacs/emacs_486.html">GNU Emacs Manual</ulink>.</para>
</sect3>
<sect3 id="pluma-modelines-plugin-kate">
<title>Kate Modelines</title>
<para>The first and last ten lines a document are scanned for <application>Kate</application> modelines.</para>
<para>The <application>Kate</application> options for tab-width, indent-width, space-indent, word-wrap and word-wrap-column are supported. For more information, see the <ulink type="http" url="http://www.kate-editor.org/article/katepart_modelines">Kate website</ulink>.</para>
</sect3>
<sect3 id="pluma-modelines-plugin-vim">
<title>Vim Modelines</title>
<para>The first and last three lines a document are scanned for <application>Vim</application> modelines.</para>
<para>The <application>Vim</application> options for et, expandtab, ts, tabstop, sw, shiftwidth, wrap, and textwidth are supported. For more information, see the <ulink type="http" url="http://vimdoc.sourceforge.net/htmldoc/options.html#modeline">Vim website</ulink>.</para>
</sect3>
</sect2>
<sect2 id="pluma-python-console-plugin">
<title>Python Console Plugin</title>
<para>The <application>Python Console</application> Plugin allows you to run commands in the python programming language from <application>&app;</application>. Enabling the plugin adds a tab to the bottom pane. This shows recent output and a command prompt field.</para>
<caution><para>Commands entered into the python console are not checked before they are run. It is therefore possible to hang <application>&app;</application>, for example by entering an infinite loop.</para></caution>
</sect2>
<sect2 id="pluma-snippets-plugin">
<title>Snippets Plugin</title>
<para>The <application>Snippets</application> plugin allows you to store frequently-used pieces of text, called <firstterm>snippets</firstterm>, and insert them quickly into a document.</para>
<para>Snippets are specific to the language syntax of the current document. For example, when you are working with an HTML document, you can choose from a list of snippets that are useful for HTML. In addition, some snippets are global, and are available in all documents.</para>
<para>A number of built-in snippets are installed with <application>&app;</application>, which can be modified.</para>
<sect3 id="pluma-snippets-plugin-insert">
<title>Inserting Snippets</title>
<para>To insert a snippet into a document, type its <firstterm>tab trigger</firstterm> and press <keycap>Tab</keycap>. A snippet's tab trigger is usually the first few letters of the snippet, or something else that is short and easy to remember.</para>
<para>Alternatively, press <keycombo><keycap>Ctrl</keycap><keycap>Space</keycap></keycombo> to see a list of snippets you can insert.</para>
</sect3>
<sect3 id="pluma-snippets-plugin-add">
<title>Adding Snippets</title>
<para>To create a new snippet, do the following:</para>
<orderedlist>
<listitem>
<para>Choose <menuchoice><guimenu>Tools</guimenu><guimenuitem>Manage Snippets</guimenuitem></menuchoice>. The <guilabel>Snippets Manager</guilabel> window opens.</para>
</listitem>
<listitem>
<para>The list of snippets is grouped by language. Select the language you want to add a snippet to, or a snippet in that language group. To add a snippet for all languages, choose Global at the top of the list. The syntax of the document you are currently working with is shown by default.</para>
</listitem>
<listitem>
<para>Click <guibutton>New</guibutton>. A new snippet appears in the list.</para>
</listitem>
<listitem>
<para>Enter the following information for the new snippet:</para>
<variablelist>
<varlistentry><term>Name</term>
<listitem>
<para>Enter a name for the snippet in the text field within the snippet list. The name of a snippet serves only as a reminder of its purpose. You can change name of a snippet you create by clicking on it in the list.</para>
</listitem>
</varlistentry>
<varlistentry><term>Snippet text</term>
<listitem>
<para>Enter the text of the snippet in the <guilabel>Edit snippet</guilabel> text box. For special codes you can use, see <xref linkend="pluma-snippets-plugin-syntax"/>.</para>
<tip><para>You can switch back to the document window to copy text without closing the <guilabel>Snippets Manager</guilabel> window.</para></tip>
</listitem>
</varlistentry>
<varlistentry><term>Tab Trigger</term>
<listitem>
<para>Enter the tab trigger for the snippet. This is the text that you type before pressing <keycap>Tab</keycap> to insert the snippet.</para>
<para>The tag must be either a single word comprising only letters, or any single character. The <guilabel>Tab trigger</guilabel> will highlight in red if an invalid tab trigger is entered.</para>
</listitem>
</varlistentry>
<varlistentry><term>Shortcut key</term>
<listitem>
<para>Type a shortcut key to use for inserting the snippet.</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</orderedlist>
</sect3>
<sect3 id="pluma-snippets-plugin-edit">
<title>Editing and Removing Snippets</title>
<para>To edit a snippet, select it in the list and make changes to its text and activation properties.</para>
<para>To rename a snippet, click it again in the list.</para>
<para>To restore a built-in snippet that you have changed, press <guilabel>Revert</guilabel>.</para>
<para>To remove a snippet, select it in the list and press <guibutton>Remove</guibutton>. You can not remove built-in snippets, only those you have created yourself.</para>
</sect3>
<sect3 id="pluma-snippets-plugin-syntax">
<title>Snippet Substitutions</title>
<para>In addition to inserting stored text, a snippet can include customizable text, or mark spaces where you can add text once the snippet is inserted in your document.</para>
<para></para>
<para>You can use the following placeholder codes in snippet text:</para>
<variablelist>
<varlistentry><term>Tab placeholders</term>
<listitem>
<para><literal>$<replaceable>n</replaceable></literal> defines a tab placeholder, where <literal>n</literal> is any number from 1 upwards. </para>
<para><literal>${<replaceable>n</replaceable>:<replaceable>default</replaceable>}</literal> defines a tab placeholder with a default value.</para>
<para>A tab placeholder marks a place in the snippet text where you can add extra text after the snippet is inserted.</para>
<para>To use tab placeholders, insert the snippet as normal. The cursor is placed at the first tab placeholder. Type text, and press <keycap>Tab</keycap> to advance to the next tab placeholder. The number in the placeholder code defines the order in which tab advances to each place in the text.</para>
<para>Press <keycombo><keycap>Shift</keycap><keycap>Tab</keycap></keycombo> to return to the previous tab placeholder. Pressing <keycap>Tab</keycap> when there are no more tab placeholders moves the cursor to the end of the snippet text, or to the end placeholder if it exists.</para>
</listitem>
</varlistentry>
<varlistentry><term>Mirror placeholders</term>
<listitem>
<para>A repeated tab placeholder will mirror the placeholder already defined. This allows you to type in text only once that you want to appear several times in the snippet.</para>
</listitem>
</varlistentry>
<varlistentry><term>End placeholder</term>
<listitem>
<para><literal>$0</literal> defines the end placeholder. This allows you to finish working with the snippet with the cursor at a point other than the end of the snippet text.</para>
</listitem>
</varlistentry>
<varlistentry><term>Environmental variables</term>
<listitem>
<para>Environmental variable such as <literal>$PATH</literal> and <literal>$HOME</literal> are substituted in snippet text. The following variables specific to <application>&app;</application> can also be used:</para>
<variablelist>
<varlistentry><term>$PLUMA_SELECTED_TEXT</term>
<listitem>
<para>The currently selected text.</para>
</listitem>
</varlistentry>
<varlistentry><term>$PLUMA_FILENAME</term>
<listitem>
<para>The full filename of the document, or an empty string if the document isn't saved yet.</para>
</listitem>
</varlistentry>
<varlistentry><term>$PLUMA_BASENAME</term>
<listitem>
<para>The basename of the filename of the document, or an empty string if the document isn't saved yet.</para>
</listitem>
</varlistentry>
<varlistentry><term>$PLUMA_CURRENT_WORD</term>
<listitem>
<para>The word at the cursor's location in the document. When this variable is used, the current word will be replaced by the snippet text.</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry><term>Shell placeholders</term>
<listitem>
<para><literal>$(<replaceable>cmd</replaceable>)</literal> is replaced by the result of executing <replaceable>cmd</replaceable> in a shell. </para>
<para><literal>$(<replaceable>n</replaceable>:<replaceable>cmd</replaceable>)</literal> allows you to give this placeholder a reference, where <replaceable>n</replaceable> is any number from 1 upwards. Use <literal>$<replaceable>n</replaceable></literal> to use the output from one shell placeholder as input in another.</para>
</listitem>
</varlistentry>
<varlistentry><term>Python placeholders</term>
<listitem>
<para><literal>$&lt;<replaceable>cmd</replaceable>&gt;</literal> is replaced by the result of evaluating <replaceable>cmd</replaceable> in the python interpreter.</para>
<para><literal>$&lt;<replaceable>a</replaceable>:<replaceable>cmd</replaceable>&gt;</literal> specifies another python placeholder as a dependency, where <replaceable>a</replaceable> gives its order in the snippet. This allows you to use python functions defined in another snippet. To specify several dependencies, separate the numbers with commas thus: <literal>$&lt;<replaceable>a</replaceable>,<replaceable>b</replaceable>:<replaceable>cmd</replaceable>&gt;</literal></para>
<para>To use a variable in all other python snippets, declare it as <literal>global</literal>.</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>
<sect2 id="pluma-sort-plugin">
<title>Sort Plugin</title>
<para>The <application>Sort</application> plugin arranges selected lines of text into alphabetical order.</para>
<caution><para>You cannot undo the Sort operation, so you should save the file before performing the sort. To revert to the saved version of the file after the sort operation, choose <menuchoice> <guimenu>File</guimenu> <guimenuitem>Revert</guimenuitem> </menuchoice>.
</para>
</caution>
<para>To use the Sort plugin, perform the following steps:</para>
<orderedlist>
<listitem>
<para>Select the lines of text you want to sort.</para>
</listitem>
<listitem><para>Choose <menuchoice> <guimenu>Edit</guimenu> <guimenuitem>Sort</guimenuitem> </menuchoice>. The <guilabel>Sort</guilabel> dialog opens.
</para>
</listitem>
<listitem><para>Choose the options you want for the sort:</para>
<itemizedlist>
<listitem>
<para>To arrange the text in reverse order, select <guilabel>Reverse order</guilabel>.
</para>
</listitem>
<listitem><para>To delete duplicate lines, select <guilabel>Remove duplicates</guilabel>.
</para>
</listitem>
<listitem><para>To ignore case sensitivity, select <guilabel>Ignore case</guilabel>.
</para>
</listitem>
<listitem><para>To have the sort ignore the characters at the start of the lines, set the first character that should be used for sorting in the <guilabel>Start at column</guilabel> spin box.
</para>
</listitem>
</itemizedlist>
</listitem>
<listitem><para>To perform the sort operation, click <guibutton>Sort</guibutton>.
</para>
</listitem>
</orderedlist>
</sect2>
<sect2 id="pluma-spell-checker-plugin">
<title>Spell Checker Plugin</title>
<para>The <application>Spell Checker</application> plugin checks the spelling in the selected text. You can configure <application>&app;</application> to check the spelling automatically, or you can check the spelling manually, in the specified language. The language setting, and the autocheck spelling properties, apply per document. To use the Spell checker plugin, perform the following steps:</para>
<orderedlist>
<listitem><para>Choose <menuchoice> <guimenu>Tools</guimenu> <guimenuitem>Set Language</guimenuitem> </menuchoice> to display the <guilabel>Set language</guilabel> dialog. Select the appropriate language from the list. Click <guibutton>OK</guibutton> to close the <guilabel>Set language</guilabel> dialog.
</para>
</listitem>
<listitem><para>To check the spelling automatically, choose <menuchoice> <guimenu>Tools</guimenu> <guimenuitem>Autocheck Spelling</guimenuitem> </menuchoice>. To unset the automatic spell check, choose <menuchoice> <guimenu>Tools</guimenu> <guimenuitem>Autocheck Spelling</guimenuitem> </menuchoice> again. When automatic spell checking is set, an icon is displayed beside the <guimenuitem>Autocheck Spelling</guimenuitem> menu item. Automatic spell checking is unset by default, each time <application>&app;</application> starts.</para>
<para>Unknown spellings are displayed in a different color, and underlined. Right-click on an unknown spelling, then select <guimenu>Spelling Suggestions</guimenu> from the popup menu:
</para>
<itemizedlist>
<listitem><para>To replace the unknown spelling with another spelling in the list, select the replacement spelling from the <guimenu>Spelling Suggestions</guimenu> popup menu.
</para>
</listitem>
<listitem><para>To add the unknown spelling to your personal dictionary, select <menuchoice> <guimenu>Spelling Suggestions</guimenu> <guimenuitem>Add</guimenuitem> </menuchoice>.
</para>
</listitem>
<listitem><para>To ignore all occurrences of the unknown spelling, so that they are no longer flagged as unknown but are not added to your personal dictionary, select <menuchoice> <guimenu>Spelling Suggestions</guimenu> <guimenuitem>Ignore All</guimenuitem> </menuchoice>. The unknown word is ignored in the current <application>&app;</application> session only.
</para>
</listitem>
</itemizedlist>
</listitem>
<listitem><para>To check the spelling manually, choose <menuchoice> <guimenu>Tools</guimenu> <guimenuitem>Check Spelling</guimenuitem> </menuchoice>.
</para>
<para>If there are no spelling errors, an <guilabel>Information</guilabel> dialog displays a message stating that the document does not contain misspelled words. Click <guibutton>OK</guibutton> to close the <guilabel>Information</guilabel> dialog.
</para>
<para>If there are spelling errors, the <guilabel>Check Spelling</guilabel> dialog is displayed:
</para>
<itemizedlist>
<listitem><para>The <guilabel>Misspelled word</guilabel> is displayed at the top of the dialog.
</para>
</listitem>
<listitem><para>A suggested known spelling is displayed in the <guilabel>Change to</guilabel> text box. You can replace this with another known spelling by selecting a spelling from the <guilabel>Suggestions</guilabel> list, or you can enter text directly into the <guilabel>Change to</guilabel> text box.
</para>
</listitem>
<listitem><para>To check the spelling of the text in the <guilabel>Change to</guilabel> text box, click <guibutton>Check Word</guibutton>. If this is a known word, the <guilabel>Suggestions</guilabel> list is replaced with the text <literal>(correct spelling)</literal>. If the word is not known, new entries appear in the <guilabel>Suggestions</guilabel> list.
</para>
</listitem>
<listitem><para>To ignore the current occurrence of the unknown word, click <guibutton>Ignore</guibutton>. To ignore all occurrences of the unknown word, click <guibutton>Ignore All</guibutton>. The unknown word is ignored in the current <application>&app;</application> session only.
</para>
</listitem>
<listitem><para>To change the current occurrence of the unknown word to the text in the <guilabel>Change to</guilabel> text box, click <guibutton>Change</guibutton>. To change all occurrences of the unknown word to the text in the <guilabel>Change to</guilabel> text box, click <guibutton>Change All</guibutton>.
</para>
</listitem>
<listitem><para>To add the unknown word to your personal dictionary, click <guibutton>Add word</guibutton>.
</para>
</listitem>
<listitem><para>To close the <guilabel>Check Spelling</guilabel> dialog, click <guibutton>Close</guibutton>.
</para>
</listitem>
</itemizedlist>
</listitem>
</orderedlist>
</sect2>
<sect2 id="pluma-tag-list-plugin">
<title>Tag List Plugin</title>
<para>The <application>Tag List</application> plugin allows you to insert common tags from a list in the side pane.</para>
<para>To use the Tag List plugin, perform the following steps:</para>
<orderedlist>
<listitem><para>Choose <menuchoice> <guimenu>View</guimenu> <guimenuitem>Side Pane</guimenuitem> </menuchoice>.
</para>
</listitem>
<listitem>
<para>By default, the side pane shows a tab containing a list of open documents. Click on the tab showing a + icon at the bottom of the side pane to show the tag list tab.</para>
</listitem>
<listitem><para>Select the appropriate tag category from the drop-down list. For example, <guilabel>HTML - Tags</guilabel>.
</para>
</listitem>
<listitem><para>Scroll through the tag list to find the required tag.
</para>
</listitem>
<listitem><para>To insert a tag at the cursor position in the current file, double-click on the tag in the tag list. You can also insert a tag as follows:</para>
<itemizedlist>
<listitem><para>To insert a tag in the current file and change the focus from the side pane to the display area, press <keycap>Return</keycap>.
</para>
</listitem>
<listitem><para>To insert a tag in the current file and maintain the focus on the <guilabel>Tag list plugin</guilabel> window, press <keycombo><keycap>Shift</keycap><keycap>Return</keycap></keycombo>.
</para>
</listitem>
</itemizedlist>
</listitem>
</orderedlist>
</sect2>
</sect1>
</article>