mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
324 lines
12 KiB
Plaintext
324 lines
12 KiB
Plaintext
*os_risc.txt* For Vim version 7.0aa. Last change: 2004 May 01
|
|
|
|
|
|
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 (ie 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> (ie 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 (eg &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 (eg 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:
|