Browse Source

* a lot of new stuff

florian 25 years ago
parent
commit
e818f77d31
1 changed files with 568 additions and 104 deletions
  1. 568 104
      docs/ide.tex

+ 568 - 104
docs/ide.tex

@@ -1,11 +1,35 @@
+%
+%   $Id$
+%   This file is part of the FPC documentation.
+%   Copyright (C) 2000 by Florian Klaempfl
+%
+%   The FPC documentation is free text; you can redistribute it and/or
+%   modify it under the terms of the GNU Library General Public License as
+%   published by the Free Software Foundation; either version 2 of the
+%   License, or (at your option) any later version.
+%
+%   The FPC Documentation is distributed in the hope that it will be useful,
+%   but WITHOUT ANY WARRANTY; without even the implied warranty of
+%   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+%   Library General Public License for more details.
+%
+%   You should have received a copy of the GNU Library General Public
+%   License along with the FPC documentation; see the file COPYING.LIB.  If not,
+%   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+%   Boston, MA 02111-1307, USA.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Using the IDE
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \chapter{Using the IDE}
 \chapter{Using the IDE}
 
 
-The IDE (\textbf{I}ntegrated \textbf{D}evelopment \textbf{E}nvironment) 
-provides a comfortable user interface to the compiler. The IDE is a textmode
+The IDE (\textbf{I}ntegrated \textbf{D}evelopment \textbf{E}nvironment)
+provides a comfortable user interface to the compiler, further it
+provides a debugger, symbol browser etc. The IDE is a textmode
 application this allows the same look and feel for all supported
 application this allows the same look and feel for all supported
 operating systems. Furthermore, it will be very familiar to all
 operating systems. Furthermore, it will be very familiar to all
 Turbo Pascal users.
 Turbo Pascal users.
-Currently is the IDE available for DOS, Win32 and Linux.
+Currently the IDE is available for DOS, Win32 and Linux.
 
 
 \section{First steps with the IDE}
 \section{First steps with the IDE}
 
 
@@ -18,8 +42,45 @@ from a graphical user interface (under the Windows enviroment, you
 can switch between windowed mode and full screen mode by pressing
 can switch between windowed mode and full screen mode by pressing
 Alt-Enter).
 Alt-Enter).
 
 
-You can exit from the IDE by selecting \var{File|Exit} or by pressing
-Alt-X.
+\subsection{The IDE screen}
+
+\begin{htmlonly}
+The screen of the IDE looks like this after start up:
+\htmladdimg{../pics/idestart.gif}
+\end{htmlonly}
+\begin{latexonly}
+The screen of the IDE looks like this after start up like figure \ref{fig:idestart}.
+\begin{figure}
+\caption{The IDE screen immediatly after startup}
+\label{fig:idestart}
+\ifpdf
+\epsfig{file=pics/idestart.pdf,width=\textwidth}
+\else
+\epsfig{file=pics/idestart.eps,width=\textwidth}
+\fi
+\end{figure}
+\end{latexonly}
+At top of the screen you see the menu bar, at the bottom the statusbar.
+The empty bar between them is called the desktop.
+
+The statusbar allows a quick access to often used commands by
+clicking them with the mouse. Further, it reminds you about often used
+keyboard shortcuts.
+
+In upper right corner of the IDE screen a clock is displayed to
+remind you to go to bed in time. At lower right corner a you'll
+see the current amount of unsed memory. Don't worry if this value
+is low the IDE allocates more memory from the operating system
+if it runs out of memory.
+
+You can exit from the IDE by selecting \var{File|Exit}\footnote{Select
+the item Exit in the menu File} or by pressing
+\textsc{Alt-X}.
+
+\begin{remark}
+A complete reference of all keyboard shortcuts can be found in the
+section \ref{ide:keyshortcuts}.
+\end{remark}
 
 
 \subsection{IDE Command line options}
 \subsection{IDE Command line options}
 
 
@@ -32,7 +93,7 @@ Option is one of the following switches (the option letters
 aren't case sensitive):
 aren't case sensitive):
 
 
 \begin{description}
 \begin{description}
-\item [-N] Only DOS: Don't use long file names. Since Win95 an interface
+\item [-N] DOS only: Don't use long file names. Since Win95 an interface
 is provided to DOS applications to access long file names. The IDE uses
 is provided to DOS applications to access long file names. The IDE uses
 this interface by default to access files. Under certain circumstances, this
 this interface by default to access files. Under certain circumstances, this
 can lead to problems.
 can lead to problems.
@@ -42,116 +103,519 @@ a filename uses the given file to read the options
 which was active when you left the IDE the last time.
 which was active when you left the IDE the last time.
 \end{description}
 \end{description}
 
 
-Under DOS/Win32, \var{/} can be used instead of \var{\-} to pass a 
+Under DOS/Win32, \var{/} can be used instead of \var{\-} to pass a
 command line switch to the IDE
 command line switch to the IDE
 
 
 Furthermore, the files given at the command line are loaded into edit
 Furthermore, the files given at the command line are loaded into edit
 windows automatically.
 windows automatically.
 
 
-\section{Debugging programs with the IDE}
+\subsection{Using the mouse}
+\label{ide:mouseusage}
+If the system is equipped with a mouse, it can be use it to work with the
+IDE. The left button is used to select menu items, press buttons, select
+text blocks etc. The right mouse button is used to access the local menu.
+The local menu isn't always available. Holding down the \textsc{Ctrl} or
+\textsc{Alt} key and clicking the right button will
+execute user defined functions, see \ref{ide:prefmouse}
+
+\begin{remark}
+This manual uses at several places the term "drag the mouse". This
+means that you have to move the mouse while keeping the left
+mouse button pressed.
+\end{remark}
+
+\begin{remark}
+When talking about left and right mouse, it means always that the
+mouse buttons aren't reversed, if you want you can exchange the
+bavior of the left and right mouse button, see \ref{ide:prefmouse}.
+\end{remark}
+
+\begin{remark}
+Under certain circumstances you won't be able to use the mouse,
+even if your system has one:
+\begin{itemize}
+\item The IDE is running under Linux throught a telnet connection
+\item The IDE is running under Linux in a window
+\end{itemize}
+\end{remark}
+
+\subsection{Accessing the menu}
+The menu (the gray bar at the top of the IDE) can be accessed by using
+the mouse to select items. If you don't use a mouse, you can use
+\textsc{F10} to switch the menu. Use the arrow keys to navigate and the Enter
+key to select items. To access the menu very fast without leaving the
+keyboard with your hands, \textsc{Alt-<highlighted letter>}
+can be used, afterwards
+menu entries can be selected by pressing also the highlighted letter, but
+without \textsc{Alt}. E.g. \textsc{Alt-S G} is a fast way to
+display the goto line dialog.
+
+Every menu item is explained by a short text in the statusbar.
+
+In certain cases, a local menu is available. It can be access by pressing
+the right mouse button or \textsc{Alt-F10}.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Windows
+\section{Windows}
+In our days, working with windowed applications should be a known
+by most users. Nevertheless, the following section describes how
+the windows work in the \fpc IDE to allow an efficient work with it.
+
+\subsection{Basics}
+\begin{htmlonly}
+A common IDE window looks like:
+\htmladdimg{../pics/idewin.gif}
+\end{htmlonly}
+\begin{latexonly}
+Figure \ref{fig:idewin} shows a common IDE edit window.
+\begin{figure}
+\caption{A common IDE window}
+\label{fig:idewin}
+\ifpdf
+\epsfig{file=pics/idewin.pdf,width=\textwidth}
+\else
+\epsfig{file=pics/idewin.eps,width=\textwidth}
+\fi
+\end{figure}
+\end{latexonly}
+The window is surround by the so called frame, the whith double
+line around the window.
+At the top of the window you'll see the title bar, it contains the title
+of the window (what else?). To move the window click on
+the title bar and drag window with the mouse.
+If you don't have a mouse, see \ref{ide:keyboardwindow} how
+to use the keyboard to work with windows.
+
+At the upper left corner you see the close icon. If you click it the
+window will be closed, it can be also closed by pressing \textsc{Alt-F3} or
+selecting the menu item \var{Window|Close}. All open windows can be closed
+by selecting the menu item \var{Window|Close all}
+
+To resize the window click on the lower left corner of the window
+and drag it (move the mouse while holding the left button pressed).
+Keyboard users should look at the section \ref{ide:keyboardwindow}.
+Not all windows can be resized, for examples dialog windows
+(\ref{ide:dialogwindow}) can't be resized.
+
+At the upper right you'll see a green arrow. Clicking this arrow
+zooms the window to the whole desktop. If you click this arrow on
+a zoomed window, the old size of the window will be restored. Pressing
+the key F5 has the same affect as clicking that arrow. Furthermore,
+this can be also done by selecting the menu item \var{Window|Zoom}.
+Windows which aren't resizeable can't be zoom.
+
+The scrollbars at the right and bottom border can be used to scroll
+the window contents with the mouse. Click on the arrows to scroll
+line by line and on the dotted area between the arrows and the cyan
+rectangle to scroll page by page. By dragging the rectangle you can
+scroll continously throught the window contents.
+
+The star and the numbers at the lower left corner
+are explained in the section about the editor, see \ref{ide:editingtext}.
+
+\subsection{Working with multiple windows}
+When working with larger projects, you'll have multile windows on your
+desktop. An inactive window is identified by a greyed frame, you can
+activate it, by clicking on the window with the mouse. Or you can
+step trought all open windows by pressing \textsc{F6}
+(menu item \var{Window|Next}).
+To activate the last activated window, press \textsc{Shift-F6}
+(menu item \var{Window|Previous}).
+
+If the window has number at the upper
+right corner, you can activate it by pressing \textsc{Alt-<number>}.
+\textsc{Alt-0} has a special meaning,
+it shows a dialog box with all available
+windows which allows a quick activation of windows which doesn't have a
+number.
+
+Of course, you can order the windows on the IDE desktop by zooming and
+resizing them with the mouse or keyboard. Especially with the
+keyboard, this is very hard. You can use instead the menu items
+\var{Window|Tile} and \var{Window|Cascade}. Tile means that the
+whole desktop space is tiled even by all windows. Cascade brings
+all windows in a cascaded position. Just try these commands if you've
+multiple windows on the IDE desktop.
+
+In very rare cases the screen of the IDE may be mixed up. In this
+case the whole IDE screen can be forced to be redrawn by selecting
+the menu item \var{Window|Refresh}.
+
+\subsection{Dialog windows}
+\label{ide:dialogwindow}
+In many cases the IDE displays a dialog window to get user input.
+The main difference to other windows is that you can't activate
+other windows will the dialog is active. This behavior is called modal.
+To activate another window, you've to close a modal window/dialog.
+
+\begin{htmlonly}
+A typical dialog window looks like:
+\htmladdimg{../pics/idedlg.gif}
+\end{htmlonly}
+\begin{latexonly}
+Figure \ref{fig:idedlg} shows a typical dialog window.
+\begin{figure}
+\caption{A typical dialog window}
+\label{fig:idedlg}
+\ifpdf
+\epsfig{file=pics/idedlg.pdf,width=\textwidth}
+\else
+\epsfig{file=pics/idedlg.eps,width=\textwidth}
+\fi
+\end{figure}
+\end{latexonly}
+
+\subsection{Moving and zooming windows with the keyboard}
+\label{ide:keyboardwindow}
+To resize/move a window with the keyboard, go into the size/move mode
+by pressing \textsc{Ctrl-F5} or selecting the menu item
+\var{Window|Size/Move}. Now the window frame will be green. Using the
+cursor keys you can move window and pressing shift and the cursor
+keys, it can be resized. The size/move mode can be left by pressing
+\textsc{Enter} and the window will keep it's size and position
+or by pressing \textsc{Esc} and the old size will be restored.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% The help system
+\section{The help system}
+If you are stuck somewhere while editing files, regarding the syntax
+of a pascal statment or the behavior of a subroutine of the runtime
+library, you can use the help system to get some information. The
+help system is called by pressing F1.
+
+\subsection{Navigating in the help system}
+The help system contains hyperlinks which can be access by clicking
+them with the mouse. Alternativly, \textsc{Tab} and \textsc{Shift-Tab}
+can be used to move between the different hyperlinks of a page
+and the \textsc{Enter} key can be used to select them.
+
+The contents of the help system is display, if you press \textsc{Shift-F1}.
+To go back to the last help topic, \textsc{press Alt-F1}. This works
+also if the help window isn't displayed on the window.
+
+\subsection{Working with help files}
+The IDE contains a help system which can display HTML files
+as well as the TPH format known from TP. Of course, the HTML
+viewer of the help system is limited, so forget about displaying
+HTML files which use e.g. CSS. It is designed to display the FPC
+help files, but feel free to improve it and send us patches...
+
+The menu item \var{Help|Files} allows you to add and delete
+help files.
+
+Press the new button to add a new file. You'll be asked for the location
+of the help file. If it is a HTML file, a dialog box will be display
+which asks for a title, this title will be included in the
+contents of help.
+
+A help file can be deleted from the help system (it ISN'T deleted from
+your hard disk) by pressing the delete button.
+
+\subsection{The about dialog}
+The about dialog (\var{Help|About...}) shows some information
+about the IDE, please include versions and dates of this
+dialog if you report bugs, have suggestion etc regarding the IDE.
+Furthermore, it contains the copyright information.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Editing text
+\section{Editing text}
+\label{ide:editingtext}
+%%%!!!!!!!!!!!!!!
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Searching in the text
+\section{Searching in the text}
+\label{ide:searching}
+%%%!!!!!!!!!!!!!!
+
+\subsection{The symbol browser}
+%%%!!!!!!!!!!!!!!
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Running programs
+\section{Running programs}
+\label{ide:running}
+%%%!!!!!!!!!!!!!!
 
 
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Debugging programs
+\section{Debugging programs}
+%%%!!!!!!!!!!!!!!
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% The tools menu
+\section{The tools menu}
+\label{ide:toolsmenu}
+The tools menu allows you an easy access to external tools. Further,
+it contains two other probaly helpful tools for programmers: an
+ascii table and a calculator.
+
+\subsection{The messages window}
+The output of the external utilies is redirected by the IDE and it
+will be displayed in the message window. The message window is
+displayed automatically, if an external tool was run. The
+messages window can be also display manual by the selecting the
+menu item \var{Tools|Messages} or by pressing the key \textsc{F11}.
+
+If the output of the tools contains filenames and line numbers,
+you can goto the source line by pressing \textsc{Enter} or
+double clicking the output line. To trace the source, press
+\textsc{Space}. The difference between goto and tracking is that
+goto closes the message window while tracking keeps the message
+window active and the source file is displayed only in the background.
+
+The algorithm which extracts the file names and line numbers from
+the tool output is quite sophisticated, but in some cases it may
+fail. In this case, please refer the sources of the IDE.
+
+\subsection{GREP}
+One external tool in the Tools menu is already predefined: an
+menu item to call the \file{grep} utility (\var{Tools|Grep} or
+\textsc{Shift-F2}). \file{grep} search for a given string in files and
+returns the lines which contain the string. The search string can
+be even a regular expression (see \ref{ide:regexpr}).
+%%%!!!!!!!!!!!!!!
+
+\subsection{The ascii table}
+%%%!!!!!!!!!!!!!!
+
+\subsection{The calculator}
+%%%!!!!!!!!!!!!!!
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Project management
+\section{Project management}
+\label{ide:projectmanagement}
+Lucily, project mangament in pascal is much easier than with C. The
+compiler knows from the source which units, sources etc. it needs.
+So the \fpc IDE doesn't need a full features project manager like
+some C development environments offer. But some things make life easier...
+
+\subsection{The primary file}
+Without a primary file the IDE compiles/runs the source of the actived
+window when you start your program. If you have specified a primary
+file, the IDE compiles/runs always this source, no matter if another
+source window is active. Select the menu item \var{Compile|Primary file...}
+to get a file dialog where you can enter the primary file. Only the command
+\var{Compile|Compile} compiles still the active window, this is usefull
+if you have a large project and you want only check the syntax of the
+current source.
+
+The menu item \var{Compiler|Clear primary file} restores the default behavior
+i.e. the compile and run commands apply to the active window.
+
+\subsection{The switches mode}
+The IDE allows you to work with three different sets of compiler
+switches: Normal, Debug and Release. The different switch
+sets can be selected in the \var{Switches Mode} dialog which
+is executed by the menu item \var{Options|Mode...}.
+Change the switches mode doesn't do any active switch change, i.e.
+the debug mode doesn't include debug information automatically,
+it just loads another set of switches which were adjusted before
+by the user in the compiler or directory dialog.
+
+\subsection{The directory dialog}
+%%%!!!!!!!!!!!!!!
+
+\subsection{The target operating system}
+The menu item \var{Compile|Target} allows you to specify the target
+operating system. Changing the target doesn't affect any compiler
+switches or directories.
+
+\subsection{The configuration files}
+%%%!!!!!!!!!!!!!!
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Customize the IDE
+\section{Customize the IDE}
+The IDE is configurable in a wide range, you can change colors, screen
+resolution etc. The configuration setting can reached via the
+submenu \var{Environment} in the \var{Options} menu.
+
+\subsection{Mouse}
+\label{ide:prefmouse}
+The mouse options dialog is called by the menu item
+\var{Options|Environment|Mouse}. You can use the slider to adjust the
+double clock speed. If you're left handed you can exchange the
+behavior of the left and right mouse button by checking the checkbox
+item \var{Reverse mouse buttons}.
+
+The two lists with the radio buttons allows you
+to configure the behavior of the
+right mouse button, if it is clicked together while
+pressing the \textsc{Ctrl} or
+\textsc{Alt} key in an edit window.
+
+The following actions can be assigned to \textsc{Ctrl}-right mouse button or
+\textsc{Alt}-right mouse button:
+
+\begin{description}
+\item [Topic search] The keyword at the mouse cursor is searched in the
+help index
+\item [Go to cursor] The program is executed until the line where
+the mouse cursor is located
+\item [Breakpoint] Set a breakpoint at the mouse cursor position
+\item [Evalute] Evaluate the value of the variable at the mouse
+cursor
+\item [Add watch] Add the variable at the mouse cursor to the
+watch window
+\item [Browse symbol] The symbol at the mouse cursor is displayed
+by the browser
+\end{description}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Trouble shooting
 \section{Trouble shooting}
 \section{Trouble shooting}
+%%%!!!!!!!!!!!!!!
 
 
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Regular expressions
+\section{Regular expressions}
+\label{ide:regexpr}
+%%%!!!!!!!!!!!!!!
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Keyboard shortcuts
 \section{Keyboard shortcuts}
 \section{Keyboard shortcuts}
+\label{ide:keyshortcuts}
 
 
 A lot of keyboard shortcuts used by the IDE are compatible with the
 A lot of keyboard shortcuts used by the IDE are compatible with the
 good old WordStar and should be well known to Turbo Pascal users.
 good old WordStar and should be well known to Turbo Pascal users.
 
 
-\begin{FPCltable}{p{5cm}ll}{Key shortcuts in the IDE}{shortcuts}
-\hline \\
+\begin{FPCltable}{p{5cm}ll}{General}{shortcutsgeneral}
+Command & Key shortcut & Alternative \\
+\hline
+Help & \textsc{F1} & \\
+Goto last help topic & \textsc{Alt-F1} & \\
+Search word at cursor position in help & \textsc{Ctrl-F1} & \\
+Help index & \textsc{Shift-F1} & \\
+Close active window & \textsc{Alt-F3} & \\
+Zomm/Unzoom window & \textsc{F5} & \\
+Move/Zoom active window & \textsc{Ctrl-F5} & \\
+Switch to next window & \textsc{F6} & \\
+Switch to last window & \textsc{Shift-F6} & \\
+Menu & \textsc{F10} & \\
+Local menu & \textsc{Alt-F10} & \\
+List of windows & \textsc{Alt-0} & \\
+Active another window & \textsc{Alt-<digit>} & \\
+Call \var{GREP} utility & \textsc{Shift-F2} & \\
+Exit IDE & \textsc{Alt-X} & \\
+\end{FPCltable}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{FPCltable}{p{5cm}ll}{Compiler}{shortcutscompiler}
+Command & Key shortcut & Alternative \\
+\hline
+Reset debugger/program & \textsc{Ctrl-F2} & \\
+Display call stack & \textsc{Ctrl-F3} & \\
+Run til cursor & \textsc{F4} & \\
+Switch to user screen & \textsc{Alt-F5} & \\
+Trace into & \textsc{F7} & \\
+Add watch & \textsc{Ctrl-F7} & \\
+Step over & \textsc{F8} & \\
+Set breakpoint at current line & \textsc{Ctrl-F8} & \\
+Make & \textsc{F9} & \\
+Run & \textsc{Ctrl-F9} & \\
+Compile the active source file & \textsc{Alt-F9} & \\
+Message & \textsc{F11} & \\
+Compiler messages & \textsc{F12} & \\
+\end{FPCltable}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{FPCltable}{p{5cm}ll}{Text navigation}{shortcutstextnavigation}
+Command & Key shortcut & Alternative \\
+\hline
+Char left & \textsc{Arrow left} & \textsc{Ctrl-S} \\
+Char right & \textsc{Arrow right} & \textsc{Ctrl-D} \\
+Line up & \textsc{Arrow up} & \textsc{Ctrl-E} \\
+Line down & \textsc{Arrow down} & \textsc{Ctrl-X} \\
+Word left & \textsc{Ctrl-Arrow left} & \textsc{Ctrl-A} \\
+Word right & \textsc{Ctrl-Arror right} & \textsc{Ctrl-F} \\
+Scroll one line up & \textsc{Ctrl-W} & \\
+Scroll one line down & \textsc{Ctrl-Z} & \\
+Page up & \textsc{PageUp} & \textsc{Ctrl-R} \\
+Page down & \textsc{PageDown} & \\
+Beginning of Line & \textsc{Pos1} & \textsc{Ctrl-Q-S} \\
+End of Line & \textsc{End} & \textsc{Ctrl-Q-D} \\
+First line of window & \textsc{Ctrl-Pos1} & \textsc{Ctrl-Q-E} \\
+Last line of window & \textsc{Ctrl-End} & \textsc{Ctrl-Q-X} \\
+First line of file & \textsc{Ctrl-PageUp} & \textsc{Ctrl-Q-R} \\
+Last line of file & \textsc{Ctrl-PageDown} & \textsc{Ctrl-Q-C} \\
+Last cursor position & \textsc{Ctrl-Q-P} & \\
+\end{FPCltable}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{FPCltable}{p{5cm}ll}{Edit}{shortcutsedit}
+Command & Key shortcut & Alternative \\
+\hline
+Delete char & \textsc{Del} & \textsc{Ctrl-G} \\
+Delete left char & \textsc{Backspace} & \textsc{Ctrl-H} \\
+Delete line & \textsc{Ctrl-Y} & \\
+Delete til end of line & \textsc{Ctrl-Q-Y} & \\
+Delete word & \textsc{Ctrl-T} & \\
+Insert line & \textsc{Ctrl-N} & \\
+Toggle insert mode & \textsc{Insert} & \textsc{Ctrl-V} \\
+\end{FPCltable}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{FPCltable}{p{5cm}ll}{Block commands}{shortcutsblockcommands}
+Command & Key shortcut & Alternative \\
+\hline
+Goto Beginning of selected text & \textsc{Ctrl-Q-B} & \\
+Goto end of selected text & \textsc{Ctrl-Q-K} & \\
+Select current line & \textsc{Ctrl-K-L} & \\
+Print selected text & \textsc{Ctrl-K-P} & \\
+Select current word & \textsc{Ctrl-K-T} & \\
+Delete selected text & \textsc{Ctrl-Del} & \textsc{Ctrl-K-Y} \\
+Copy selected text to cursor position & \textsc{Ctrl-K-C} & \\
+Move selected text to cursor position & \textsc{Ctrl-K-V} & \\
+Copy selected text to clipboard & \textsc{Ctrl-Ins} & \\
+Move selected text to the clipboard & \textsc{Shift-Del} & \\
+Indent block one coloumn & \textsc{Ctrl-K-I} & \\
+Unindent block one coloumn & \textsc{Ctrl-K-U} & \\
+Insert text from clipboard & \textsc{Shift-Insert} & \\
+Insert file & \textsc{Ctrl-K-R} & \\
+Write selected text to file & \textsc{Ctrl-K-W} & \\
+\end{FPCltable}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{FPCltable}{p{5cm}ll}{Change selection}{changeselection}
+Command & Key shortcut & Alternative \\
+\hline
+Mark beginning of selected text & \textsc{Ctrl-K-B} & \\
+Mark end of selected text& \textsc{Ctrl-K-K} & \\
+Remove selection & \textsc{Ctrl-K-H} & \\
+Extend selection one char to the left & \textsc{Shift-Arrow left} & \\
+Extend selection one char to the right & \textsc{Shift-Arrow right} & \\
+Extend selection to the beginning of the line & \textsc{Shift-Pos1} & \\
+Extend selection to the end of the line & \textsc{Shift-End} & \\
+Extend selection to the same coloumn in the last row & \textsc{Shift-Arrow up} & \\
+Extend selection to the same coloumn in the next row & \textsc{Shift-Arrow down} & \\
+Extend selection to the end of the line & \textsc{Shift-End} & \\
+Extend selection one word to the left & \textsc{Ctrl-Shift-Arrow left} & \\
+Extend selection one word to the right & \textsc{Ctrl-Shift-Arrow right} & \\
+Extend selection one page up & \textsc{Shift-PageUp} & \\
+Extend selection one page down & \textsc{Shift-PageDown} & \\
+Extend selection to the beginning of the file & \textsc{Ctrl-Shift-Pos1} &
+\textsc{Ctrl-Shift-PageUp} \\
+Extend selection to the end of the file & \textsc{Ctrl-Shift-End} &
+\textsc{Ctrl-Shift-PageUp} \\
+\end{FPCltable}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{FPCltable}{p{5cm}ll}{Misc. commands}{shortcutsmisccommands}
 Command & Key shortcut & Alternative \\
 Command & Key shortcut & Alternative \\
-\hline \\
-Help & F1 & \\
-Goto last help topic & Alt-F1 & \\
-Search word at cursor position in help & Ctrl-F1 & \\
-Help index & Shift-F1 & \\
-Save file & F2 & Ctrl-K-S\\
-Close active window & Alt-F3 & \\
-Reset debugger/program & Ctrl-F2 & \\
-Open file & F3 & \\
-Display call stack & Ctrl-F3 & \\
-Run til cursor & F4 & \\
-Zomm/Unzoom window & F5 & \\
-Switch to user screen & Alt-F5 & \\
-Move/Zoom active window & Ctrl-F5 & \\
-Switch to next window & F6 & \\
-Switch to last window & Shift-F6 & \\
-Trace into & F7 & \\
-Add watch & Ctrl-F7 & \\
-Step over & F8 & \\
-Set breakpoint at current line & Ctrl-F8 & \\
-Make & F9 & \\
-Run & Ctrl-F9 & \\
-Compile the active source file & Alt-F9 & \\
-Menu & F10 & \\
-Message & F11 & \\
-Compiler messages & F12 & \\
-List of windows & Alt-0 & \\
-Exit IDE & Alt-X & \\
-\hline \\
-Char left & Arrow left & Ctrl-S \\
-Char right & Arrow right & Ctrl-D \\
-Line up & Arrow up & Ctrl-E \\
-Line down & Arrow down & Ctrl-X \\
-Word left & Ctrl-Arrow left & Ctrl-A \\
-Word right & Ctrl-Arror right & Ctrl-F \\
-Scroll one line up & Ctrl-W & \\
-Scroll one line down & Ctrl-Z & \\
-Page up & PageUp & Ctrl-R \\
-Page down & PageDown & \\
-Beginning of Line & Pos1 & Ctrl-Q-S \\
-End of Line & End & Ctrl-Q-D \\
-First line of window & Ctrl-Pos1 & Ctrl-Q-E \\
-Last line of window & Ctrl-End & Ctrl-Q-X \\
-First line of file & Ctrl-PageUp & Ctrl-Q-R \\
-Last line of file & Ctrl-PageDown & Ctrl-Q-C \\
-Last cursor position & Ctrl-Q-P & \\
-\hline \\
-Delete char & Del & Ctrl-G \\
-Delete left char & Backspace & Ctrl-H \\
-Delete line & Ctrl-Y & \\
-Delete til end of line & Ctrl-Q-Y & \\
-Delete word & Ctrl-T & \\
-Insert line & Ctrl-N & \\
-Toggle insert mode & Insert & Ctrl-V \\
-\hline \\
-Goto Beginning of selected text & Ctrl-Q-B & \\
-Goto end of selected text & Ctrl-Q-K & \\
-Mark beginning of selected text & Ctrl-K-B & \\
-Mark end of selected text& Ctrl-K-K & \\
-Remove selection & Ctrl-K-H & \\
-Select current line & Ctrl-K-L & \\
-Print selected text & Ctrl-K-P & \\
-Select current word & Ctrl-K-T & \\
-Delete selected text & Ctrl-Del & Ctrl-K-Y \\
-Copy selected text to cursor position & Ctrl-K-C & \\
-Move selected text to cursor position & Ctrl-K-V & \\
-Copy selected text to clipboard & Ctrl-Ins & \\
-Move selected text to the clipboard & Shift-Del & \\
-Indent block one coloumn & Ctrl-K-I & \\
-Unindent block one coloumn & Ctrl-K-U & \\
-Insert text from clipboard & Shift-Insert & \\
-Insert file & Ctrl-K-R & \\
-Write selected text to file & Ctrl-K-W & \\
-Extend selection one char to the left & Shift-Arrow left & \\
-Extend selection one char to the right & Shift-Arrow right & \\
-Extend selection to the beginning of the line & Shift-Pos1 & \\
-Extend selection to the end of the line & Shift-End & \\
-Extend selection to the same coloumn in the last row & Shift-Arrow up & \\
-Extend selection to the same coloumn in the next row & Shift-Arrow down & \\
-Extend selection to the end of the line & Shift-End & \\
-Extend selection one word to the left & Ctrl-Shift-Arrow left & \\
-Extend selection one word to the right & Ctrl-Shift-Arrow right & \\
-Extend selection one page up & Shift-PageUp & \\
-Extend selection one page down & Shift-PageDown & \\
-Extend selection to the beginning of the file & Ctrl-Shift-Pos1 & Ctrl-Shift-PageUp \\
-Extend selection to the end of the file & Ctrl-Shift-End & Ctrl-Shift-PageUp \\
-\hline \\
-Search & Ctrl-Q-F & \\
-Search again & Ctrl-L & \\
-Search and replace & Ctrl-Q-A & \\
-Set mark & Ctrl-K-n (where n can be 0..9) & \\
-Goto mark & Ctrl-Q-n (where n can be 0..9) & \\
-Undo & Alt-Backspace & \\
-\hline \\
+\hline
+Save file & \textsc{F2} & \textsc{Ctrl-K-S} \\
+Open file & \textsc{F3} & \\
+Search & \textsc{Ctrl-Q-F} & \\
+Search again & \textsc{Ctrl-L}\ & \\
+Search and replace & \textsc{Ctrl-Q-A} & \\
+Set mark & \textsc{Ctrl-K-n} (where n can be 0..9) & \\
+Goto mark & \textsc{Ctrl-Q-n} (where n can be 0..9) & \\
+Undo & \textsc{Alt-Backspace} & \\
 \end{FPCltable}
 \end{FPCltable}
+%
+%  $Log$
+%  Revision 1.3  2000-02-28 17:45:40  florian
+%    * a lot of new stuff
+%
+%