| *os_risc.txt* For Vim version 7.0e. Last change: 2005 Mar 29 |
| |
| |
| VIM REFERENCE MANUAL by Thomas Leonard |
| |
| |
| *riscos* *RISCOS* *RISC-OS* |
| This file contains the particularities for the RISC OS version of Vim. |
| |
| The RISC OS port is a completely new port and is not based on the old `archi' |
| port. |
| |
| 1. File locations |riscos-locations| |
| 2. Filename munging |riscos-munging| |
| 3. Command-line use |riscos-commandline| |
| 4. Desktop (GUI) use |riscos-gui| |
| 5. Remote use (telnet) |riscos-remote| |
| 6. Temporary files |riscos-temp-files| |
| 7. Interrupting |riscos-interrupt| |
| 8. Memory usage |riscos-memory| |
| 9. Filetypes |riscos-filetypes| |
| 10. The shell |riscos-shell| |
| 11. Porting new releases |riscos-porting| |
| |
| If I've missed anything, email me and I'll try to fix it. In fact, even if I |
| haven't missed anything then email me anyway to give me some confidence that it |
| actually works! |
| |
| Thomas Leonard <tal197@ecs.soton.ac.uk> |
| |
| [these URLs no longer work...] |
| Port homepage: http://www.ecs.soton.ac.uk/~tal197/ |
| or try: http://www.soton.ac.uk/~tal197/ |
| |
| ============================================================================== |
| *riscos-locations* |
| 1. File locations |
| |
| The Vim executable and shared resource files are all stored inside the !Vim |
| application directory. |
| |
| When !Vim is first seen by the filer, it aliases the *vi and *ex commands to |
| run the command-line versions of Vim (see |riscos-commandline|). |
| |
| !Vim.Resources and !Vim.Resources2 contain the files from the standard Vim |
| distribution, but modified slightly to work within the limits of ADFS, plus |
| some extra files such as the window templates. |
| |
| User choices are read from `Choices:*' and are saved to `<Choices$Write>.*'. |
| If you have the new !Boot structure then these should be set up already. If |
| not, set Choices$Path to a list of directories to search when looking for |
| user configuration files. Set Choices$Write to the directory you want files |
| to be saved into (so your search patterns and marks can be remembered between |
| sessions). |
| |
| ============================================================================== |
| *riscos-munging* |
| 2. Filename munging |
| |
| All pathname munging is disabled by default, so Vim should behave like a |
| normal RISC OS application now. So, if you want to edit `doc/html' then you |
| actually type `*vi doc/html'. |
| |
| The only times munging is done is when: |
| |
| - Searching included files from C programs, since these are always munged. |
| See |[I|. |
| Note: make sure you are in the right directory when you use this |
| command (i.e. the one with subdirectories 'c' and 'h'). |
| |
| - Sourcing files using |:so|. |
| Paths starting `$VIM/' are munged like this: |
| |
| $VIM/syntax/help.vim -> Vim:syntax.help |
| |
| Also, files ending in `.vim' have their extensions removed, and slashes |
| replaced with dots. |
| |
| Some tag files and script files may have to be edited to work under this port. |
| |
| ============================================================================== |
| *riscos-commandline* |
| 3. Command-line use |
| |
| To use Vim from the command-line use the `*vi' command (or '*ex' for |
| |Ex-mode|). |
| |
| Type `*vi -h' for a list of options. |
| |
| Running the command-line version of Vim in a large high-color mode may cause |
| the scrolling to be very slow. Either change to a mode with fewer colors or |
| use the GUI version. |
| |
| Also, holding down Ctrl will slow it down even more, and Ctrl-Shift will |
| freeze it, as usual for text programs. |
| |
| ============================================================================== |
| *riscos-gui* |
| 4. Desktop use |
| |
| Limitations: |
| |
| - Left scrollbars don't work properly (right and bottom are fine). |
| - Doesn't increase scroll speed if it gets behind. |
| |
| You can resize the window by dragging the lower-right corner, even though |
| there is no icon shown there. |
| |
| You can use the --rows and --columns arguments to specify the initial size of |
| the Vim window, like this: > |
| |
| *Vi -g --rows 20 --columns 80 |
| |
| The global clipboard is supported, so you can select some text and then |
| paste it directly into another application (provided it supports the |
| clipboard too). |
| |
| Clicking Menu now opens a menu like a normal RISC OS program. Hold down Shift |
| when clicking Menu to paste (from the global clipboard). |
| |
| Dragging a file to the window replaces the CURRENT buffer (the one with the |
| cursor, NOT the one you dragged to) with the file. |
| |
| Dragging with Ctrl held down causes a new Vim window to be opened for the |
| file (see |:sp|). |
| |
| Dragging a file in with Shift held down in insert mode inserts the pathname of |
| the file. |
| |
| :browse :w opens a standard RISC OS save box. |
| :browse :e opens a directory viewer. |
| |
| For fonts, you have the choice of the system font, an outline font, the system |
| font via ZapRedraw and any of the Zap fonts via ZapRedraw: > |
| |
| :set guifont= |
| < To use the system font via the VDU drivers. Supports |
| bold and underline. |
| > |
| :set guifont=Corpus.Medium |
| < Use the named outline font. You can use any font, but |
| only monospaced ones like Corpus look right. |
| > |
| :set guifont=Corpus.Medium:w8:h12:b:i |
| < As before, but with size of 8 point by 12 point, and |
| in bold italic. |
| If only one of width and height is given then that |
| value is used for both. If neither is given then 10 |
| point is used. |
| |
| Thanks to John Kortink, Vim can use the ZapRedraw module. Start the font name |
| with '!' (or '!!' for double height), like this: > |
| |
| :set guifont=!! |
| < Use the system font, but via ZapRedraw. This gives a |
| faster redraw on StrongARM processors, but you can't |
| get bold or italic text. Double height. |
| > |
| :set guifont=!script |
| < Uses the named Zap font (a directory in VimFont$Path). |
| The redraw is the same speed as for '!!', but you get |
| a nicer looking font. |
| Only the "man+" and "script" fonts are supplied |
| currently, but you can use any of the Zap fonts if |
| they are in VimFont$Path. |
| Vim will try to load font files '0', 'B', 'I' and 'IB' |
| from the named directory. Only '0' (normal style) MUST |
| be present. Link files are not currently supported. |
| |
| Note that when using ZapRedraw the edit bar is drawn in front of the character |
| you are on rather than behind it. Also redraw is incorrect for screen modes |
| with eigen values of 0. If the font includes control characters then you can |
| get Vim to display them by changing the 'isprint' option. |
| |
| If you find the scrolling is too slow on your machine, try experimenting |
| with the 'scrolljump' and 'ttyscroll' options. |
| |
| In particular, StrongARM users may find that: > |
| |
| :set ttyscroll=0 |
| |
| makes scrolling faster in high-color modes. |
| |
| ============================================================================= |
| *riscos-remote* |
| 5. Remote use (telnet) |
| |
| I have included a built-in termcap entry, but you can edit the termcap file to |
| allow other codes to be used if you want to use Vim from a remote terminal. |
| |
| Although I do not have an internet connection to my Acorn, I have managed to |
| run Vim in a FreeTerm window using the loopback connection. |
| |
| It seems to work pretty well now, using '*vi -T ansi'. |
| |
| ============================================================================== |
| *riscos-temp-files* |
| 6. Temporary files |
| |
| If Vim crashes then the swap and backup files (if any) will be in the |
| directories set with the 'directory' and 'bdir' options. By default the swap |
| files are in <Wimp$ScrapDir> (i.e. inside !Scrap) and backups are in the |
| directory you were saving to. Vim will allow you to try and recover the file |
| when you next try to edit it. |
| |
| To see a list of swap files, press <F12> and type `*vi -r'. |
| |
| Vim no longer brings up ATTENTION warnings if you try to edit two files with |
| the same name in different directories. |
| |
| However, it also no longer warns if you try to edit the same file twice (with |
| two copies of Vim), though you will still be warned when you save that the |
| datestamp has changed. |
| |
| ============================================================================== |
| *riscos-interrupt* |
| 7. Interrupting |
| |
| To break out of a looping macro, or similar, hold down Escape in the |
| command-line version, or press CTRL-C in the GUI version. |
| |
| ============================================================================== |
| *riscos-memory* |
| 8. Memory usage |
| |
| Vim will use dynamic areas on RISC OS 3.5 or later. If you can use them on |
| older machines then edit the !RunTxt and GVim files. I don't know what UnixLib |
| does by default on these machines so I'm playing safe. |
| |
| It doesn't work at all well without dynamic areas, since it can't change its |
| memory allocation once running. Hence you should edit `!Vim.GVim' and |
| `!Vim.!RunTxt' to choose the best size for you. You probably need at least |
| about 1400K. |
| |
| ============================================================================== |
| *riscos-filetypes* |
| 9. Filetypes |
| |
| You can now specify that autocommands are only executed for files of certain |
| types. The filetype is given in the form &xxx, when xxx is the filetype. |
| |
| Filetypes must be specified by number (e.g. &fff for Text). |
| |
| The system has changed from version 5.3. The new sequence of events is: |
| |
| - A file is loaded. |'osfiletype'| is set to the RISC OS filetype. |
| - Based on the filetype and pathname, Vim will try to set |'filetype'| to the |
| Vim-type of the file. |
| - Setting this option may load syntax files and perform other actions. |
| - Saving the file will give it a filetype of |'osfiletype'|. |
| |
| Some examples may make this clearer: |
| |
| Kind of file loaded osfiletype filetype ~ |
| C code 'c.hellow' Text (&fff) C |
| LaTeX document LaTeX (&2a8) TeX |
| Draw document DrawFile (&aff) (not changed) |
| |
| ============================================================================== |
| *riscos-shell* |
| 10. The shell |
| |
| - Bangs (!s) are only replaced if they are followed by a space or end-of-line, |
| since many pathnames contain them. |
| |
| - You can prefix the command with '~', which stops any output from being |
| displayed. This also means that you don't have to press <Enter> afterwards, |
| and stops the screen from being redrawn. {only in the GUI version} |
| |
| ============================================================================== |
| *riscos-porting* |
| 11. Porting new releases to RISC OS |
| |
| Downloading everything you need: |
| |
| - Get the latest source distribution (see www.vim.org) |
| - Get the runtime environment files (e.g. these help files) |
| - Get the `extra' archive (contains the RISC OS specific bits) |
| - Get the RISC OS binary distribution (if possible) |
| |
| |
| Unarchiving: |
| |
| - Create a raFS disk and put the archives on it |
| - Un-gzip them |
| - Un-tar them (*tar xELf 50 archive/tar) |
| |
| |
| Recompiling the sources: |
| |
| - Create c, s, and h directories. |
| - Put all the header files in 'h'. \ |
| - Put all the C files in `c'. | And lose the extensions |
| - Put the assembler file (`swis/s') in 's'. / |
| - Rename all the files in `proto' to `h', like this: |
| raFS::VimSrc.source.proto.file/pro |
| becomes |
| raFS::VimSrc.source.h.file_pro |
| - In the files `h.proto' and `c.termlib', search and replace |
| .pro" |
| with |
| _pro.h" |
| - Create a simple Makefile if desired and do '*make -k'. |
| Use 'CC = gcc -DRISCOS -DUSE_GUI -O2 -x c' in the Makefile. |
| - Save the binary as !Vim.Vim in the binary distribution. |
| |
| |
| Updating the run-time environment: |
| |
| - Replace old or missing files inside !Vim.Resources with the |
| new files. |
| - Remove files in `doc' not ending in `/txt', except for `tags'. |
| - Lose the extensions from the files in `doc'. |
| - Edit the `doc.tags' file. Remove extensions from the second column: > |
| :%s/^\(.[^\t]*\t.*\)\.txt\t/\1\t/ |
| - Remove extensions from the syntax files. Split them into two directories |
| to avoid the 77 entry limit on old ADFS filesystems. |
| - Edit `Vim:FileType' to match `*.c.*' as well as `*/c' and so on. |
| Add filetype checking too. |
| - Edit `Vim:Menu' and remove all the keys from the menus: > |
| :%s/<Tab>[^ \t]*// |
| < |
| vim:tw=78:ts=8:ft=help:norl: |