Provided by: fp-ide-3.2.2_3.2.2+dfsg-22_amd64 bug

NAME

       fp - Free Pascal Compiler (FPC) integrated development environment

SYNOPSIS

       fp [options] [sourcefile]

DESCRIPTION

       This  binary  is  the integrated development environment of the Free Pascal Compiler (FPC)
       which is an advanced Turbo Pascal and Delphi (7.0) compatible multitarget Pascal compiler.
       The compiler engine is not based on GCC, but is completely standalone.

       The  compiler  uses  LD(1)  and  can  use AS(1) (see parameter -Aas), but also has its own
       binary object writer.

       The current main targets are Go32V2 (Dos DJGPP extender), Freebsd, Linux,  MacOS,  MacOSX,
       MorphOS,  Netware, OS/2 and Win32.  The other targets (M68K compilers for Atari and Amiga)
       are either based on older versions of the compiler or are still in development.

       This manpage is meant for quick-reference only. FPC  comes  with  a  great  (2000+  pages)
       manual, which is updated constantly, while this man page can be out of date.

Usage

       The  user  interface  of  the  IDE  has  been  designed to be similar to Turbo Pascal.  It
       provides the user with a user friendly, but rather powerful editor, an  extensive  on-line
       help system and a debugger.

       A  text  mode  windowing system is the base of the user interface. The mouse is supported,
       but most people will use the keyboard. The user  will  usually  open  a  few  text  editor
       windows in which he will design his program, during which he can regularly check and debug
       through the use of hot keys. The high speed of the compiler ensures that  programmers  can
       do this often and therefore allows speedy development of code.

Help files

       No  help  files  are  provided  by  default.  The  user  must  download  the  Free  Pascal
       documentation in HTML format and install it into the IDE using the Help->Files menu. Turbo
       Pascal  .tph  files  can  also be installed in this menu and can be useful for source code
       that ships with .tphfilesasdocumentation.

Character sets

       The IDE has been designed for VGA  text  mode  fonts.  These  fonts  allow  visually  more
       interresting  text  modes  than the the VT100 fonts normally used on Unix systems and also
       more portable, since most operating systems use VGA character sets for their text modes.

       When running on a VT100 compatible terminal, some emulation will occur. Internally the IDE
       will  think  it  is running on a VGA text mode font (most likely code page 850), while all
       characters will (in the case of code page 850) be converted to Latin-1 and VT100 alternate
       character set characters.

       The  Linux console can do VGA fonts and therefore the IDE can be viewed as it was intended
       on it. The Linux console mode supports the all  of  the  VGA  character  set  through  the
       /dev/vcsa*  devices  and  most  of it through normal escape sequences. To prevent bad user
       experiences, the IDE has been made rather aggressive in using VGA character sets. First it
       will  determine  the  actual  console number you are running on (even if you run on a pty,
       like in Midnight Commander). Then the IDE will open the  /dev/vcsa*  device  belonging  to
       that  console. If permission is denied the IDE will call the grab_vcsa utility, which is a
       setuid root utility which will grant permissions to the vcsa device.

       In case the vcsa device is not available, the IDE will send escape codes to enable the VGA
       font.  In  this  mode  a few characters in the low 32 ascii positions are unavailable, but
       mainly since the full set of line drawing characters is available the user will notice few
       differences.

       The  Linux frame buffer device and the Free Pascal IDE are an excellent combination.  With
       fbdev it is possible to use text mode resolutions higher  than  the  normal  80x25,  which
       allows the programmer to see a lot more code at a time.

       The  Linux console allows the user to load user defined fonts. If you do this, such a font
       must have a VGA styled layout, i.e. code page 437/850/... (Note that this  does  not  mean
       your  file  system  has  to use such an encoding, the Linux console handles the conversion
       from ISO-8859-1, UTF-8 or whatever to the font.) Since the default fonts have a code  page
       437 layout, only users that have experimented with fonts will have to take care here.

       The  IDE  recognizes  the environment variable CONSOLEFONT_CP in which you can specify the
       code page of the console font. Recognized values are currently "cp437"  and  "cp850".   If
       you  do  not  set  this variable code page 437 will be assumed. Currently, if you use code
       page 850 without setting the variable there won't be a  huge  impact  at  this  time,  the
       characters that the IDE uses exist in both code pages.

       Note:  KOI8-R/KOI8-U  fonts  have all required characters, but the line drawing characters
       are not in the right positions. We may support this in the future, but currently do not.

Keyboard

       Unix keyboard handling is a complicated matter because not all key  combinations  generate
       escape  codes,  different terminal emulators generate different escape codes, and some key
       combinations may trigger actions in the X11 Window manager.

       Because the Free Pascal IDE's user interface is designed to be similar  to  Turbo  Pascal,
       including  keyboard  commands,  you  may  experience  one  of  the above situations.  Some
       alternative keys have been added, and perhaps more will have to be added in the future.

       When running on the Linux console, the keyboard is reprogrammed for full functionality.

       Here are some common problems you may encounter and possible work-arounds:

       Problem: Selecting text with shift+arrow keys does not work.

       Solution: Use the mouse

       Solution: Use "ctrl+k b" to mark start of block,"ctrl+k e" to mark end of  block,  "ctrl+k
       h" to hide the block.

       Problem: Cut/Copy/Paste keys do not work.

       Solution:  Go  to  Options->Environment->Keyboard  & mouse and enable the Microsoft styled
       Cut/Copy/Paste keys.

       Solution: Use the menu bar.

       Problem: Alt key does not work.

       Solution: Press Escape first, then the key without alt. Note that this is not possible  on
       the Linux console, but the Alt key does work there.

       If  for  whatever  reason  the  reprogrammed Linux console keyboard is not restored to the
       original state after exit (IDE crash?), you can do something like "/etc/init.d/kbd  start"
       to reprogram it into its normal behaviour.

AUTHORS

       Free Pascal development team (see http://www.freepascal.org)

SEE ALSO

       grab_vcsa fpc fpc.cfg(5) ppdep(1) ppudump(1) ppumove(1) ptop(1) h2pas(1) ld(1) as(1)