blob: b0790d4918807450bfa9d659c6ba8701294015c0 [file] [log] [blame]
Bram Moolenaar7f036442010-08-15 15:24:20 +02001*os_risc.txt* For Vim version 7.3. Last change: 2010 Aug 07
Bram Moolenaar071d4272004-06-13 20:20:40 +00002
3
4 VIM REFERENCE MANUAL by Thomas Leonard
5
6
7 *riscos* *RISCOS* *RISC-OS*
8This file contains the particularities for the RISC OS version of Vim.
9
Bram Moolenaarc236c162008-07-13 17:41:49 +000010The RISC OS port is a completely new port and is not based on the old "archi"
Bram Moolenaar071d4272004-06-13 20:20:40 +000011port.
12
131. File locations |riscos-locations|
142. Filename munging |riscos-munging|
153. Command-line use |riscos-commandline|
164. Desktop (GUI) use |riscos-gui|
175. Remote use (telnet) |riscos-remote|
186. Temporary files |riscos-temp-files|
197. Interrupting |riscos-interrupt|
208. Memory usage |riscos-memory|
219. Filetypes |riscos-filetypes|
2210. The shell |riscos-shell|
2311. Porting new releases |riscos-porting|
24
25If I've missed anything, email me and I'll try to fix it. In fact, even if I
26haven't missed anything then email me anyway to give me some confidence that it
27actually works!
28
29Thomas Leonard <tal197@ecs.soton.ac.uk>
30
31 [these URLs no longer work...]
32 Port homepage: http://www.ecs.soton.ac.uk/~tal197/
33 or try: http://www.soton.ac.uk/~tal197/
34
35==============================================================================
36 *riscos-locations*
371. File locations
38
39The Vim executable and shared resource files are all stored inside the !Vim
40application directory.
41
42When !Vim is first seen by the filer, it aliases the *vi and *ex commands to
43run the command-line versions of Vim (see |riscos-commandline|).
44
45!Vim.Resources and !Vim.Resources2 contain the files from the standard Vim
46distribution, but modified slightly to work within the limits of ADFS, plus
47some extra files such as the window templates.
48
Bram Moolenaarc236c162008-07-13 17:41:49 +000049User choices are read from "Choices:*" and are saved to "<Choices$Write>.*".
Bram Moolenaar402d2fe2005-04-15 21:00:38 +000050If you have the new !Boot structure then these should be set up already. If
Bram Moolenaar071d4272004-06-13 20:20:40 +000051not, set Choices$Path to a list of directories to search when looking for
Bram Moolenaar402d2fe2005-04-15 21:00:38 +000052user configuration files. Set Choices$Write to the directory you want files
Bram Moolenaar071d4272004-06-13 20:20:40 +000053to be saved into (so your search patterns and marks can be remembered between
54sessions).
55
56==============================================================================
57 *riscos-munging*
582. Filename munging
59
60All pathname munging is disabled by default, so Vim should behave like a
Bram Moolenaarc236c162008-07-13 17:41:49 +000061normal RISC OS application now. So, if you want to edit "doc/html" then you
62actually type "*vi doc/html".
Bram Moolenaar071d4272004-06-13 20:20:40 +000063
64The only times munging is done is when:
65
66- Searching included files from C programs, since these are always munged.
67 See |[I|.
68 Note: make sure you are in the right directory when you use this
Bram Moolenaarc236c162008-07-13 17:41:49 +000069 command (i.e. the one with subdirectories "c" and "h").
Bram Moolenaar071d4272004-06-13 20:20:40 +000070
71- Sourcing files using |:so|.
Bram Moolenaarc236c162008-07-13 17:41:49 +000072 Paths starting "$VIM/" are munged like this:
Bram Moolenaar071d4272004-06-13 20:20:40 +000073
74 $VIM/syntax/help.vim -> Vim:syntax.help
75
Bram Moolenaarc236c162008-07-13 17:41:49 +000076 Also, files ending in ".vim" have their extensions removed, and slashes
Bram Moolenaar071d4272004-06-13 20:20:40 +000077 replaced with dots.
78
79Some tag files and script files may have to be edited to work under this port.
80
81==============================================================================
82 *riscos-commandline*
833. Command-line use
84
Bram Moolenaarc236c162008-07-13 17:41:49 +000085To use Vim from the command-line use the "*vi" command (or "*ex" for
Bram Moolenaar071d4272004-06-13 20:20:40 +000086|Ex-mode|).
87
Bram Moolenaarc236c162008-07-13 17:41:49 +000088Type "*vi -h" for a list of options.
Bram Moolenaar071d4272004-06-13 20:20:40 +000089
90Running the command-line version of Vim in a large high-color mode may cause
Bram Moolenaar402d2fe2005-04-15 21:00:38 +000091the scrolling to be very slow. Either change to a mode with fewer colors or
Bram Moolenaar071d4272004-06-13 20:20:40 +000092use the GUI version.
93
94Also, holding down Ctrl will slow it down even more, and Ctrl-Shift will
95freeze it, as usual for text programs.
96
97==============================================================================
98 *riscos-gui*
994. Desktop use
100
101Limitations:
102
103- Left scrollbars don't work properly (right and bottom are fine).
104- Doesn't increase scroll speed if it gets behind.
105
106You can resize the window by dragging the lower-right corner, even though
107there is no icon shown there.
108
109You can use the --rows and --columns arguments to specify the initial size of
110the Vim window, like this: >
111
112 *Vi -g --rows 20 --columns 80
113
114The global clipboard is supported, so you can select some text and then
115paste it directly into another application (provided it supports the
116clipboard too).
117
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000118Clicking Menu now opens a menu like a normal RISC OS program. Hold down Shift
Bram Moolenaar071d4272004-06-13 20:20:40 +0000119when clicking Menu to paste (from the global clipboard).
120
121Dragging a file to the window replaces the CURRENT buffer (the one with the
122cursor, NOT the one you dragged to) with the file.
123
124Dragging with Ctrl held down causes a new Vim window to be opened for the
125file (see |:sp|).
126
127Dragging a file in with Shift held down in insert mode inserts the pathname of
128the file.
129
130:browse :w opens a standard RISC OS save box.
131:browse :e opens a directory viewer.
132
133For fonts, you have the choice of the system font, an outline font, the system
134font via ZapRedraw and any of the Zap fonts via ZapRedraw: >
135
136 :set guifont=
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000137< To use the system font via the VDU drivers. Supports
Bram Moolenaar071d4272004-06-13 20:20:40 +0000138 bold and underline.
139>
140 :set guifont=Corpus.Medium
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000141< Use the named outline font. You can use any font, but
Bram Moolenaar071d4272004-06-13 20:20:40 +0000142 only monospaced ones like Corpus look right.
143>
144 :set guifont=Corpus.Medium:w8:h12:b:i
145< As before, but with size of 8 point by 12 point, and
146 in bold italic.
147 If only one of width and height is given then that
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000148 value is used for both. If neither is given then 10
Bram Moolenaar071d4272004-06-13 20:20:40 +0000149 point is used.
150
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000151Thanks to John Kortink, Vim can use the ZapRedraw module. Start the font name
Bram Moolenaarc236c162008-07-13 17:41:49 +0000152with "!" (or "!!" for double height), like this: >
Bram Moolenaar071d4272004-06-13 20:20:40 +0000153
154 :set guifont=!!
155< Use the system font, but via ZapRedraw. This gives a
156 faster redraw on StrongARM processors, but you can't
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000157 get bold or italic text. Double height.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000158>
159 :set guifont=!script
160< Uses the named Zap font (a directory in VimFont$Path).
Bram Moolenaarc236c162008-07-13 17:41:49 +0000161 The redraw is the same speed as for "!!", but you get
Bram Moolenaar071d4272004-06-13 20:20:40 +0000162 a nicer looking font.
163 Only the "man+" and "script" fonts are supplied
164 currently, but you can use any of the Zap fonts if
165 they are in VimFont$Path.
Bram Moolenaarc236c162008-07-13 17:41:49 +0000166 Vim will try to load font files "0", "B", "I" and "IB"
167 from the named directory. Only "0" (normal style) MUST
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000168 be present. Link files are not currently supported.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000169
170Note that when using ZapRedraw the edit bar is drawn in front of the character
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000171you are on rather than behind it. Also redraw is incorrect for screen modes
172with eigen values of 0. If the font includes control characters then you can
Bram Moolenaar071d4272004-06-13 20:20:40 +0000173get Vim to display them by changing the 'isprint' option.
174
175If you find the scrolling is too slow on your machine, try experimenting
176with the 'scrolljump' and 'ttyscroll' options.
177
178In particular, StrongARM users may find that: >
179
180 :set ttyscroll=0
181
182makes scrolling faster in high-color modes.
183
184=============================================================================
185 *riscos-remote*
1865. Remote use (telnet)
187
188I have included a built-in termcap entry, but you can edit the termcap file to
189allow other codes to be used if you want to use Vim from a remote terminal.
190
191Although I do not have an internet connection to my Acorn, I have managed to
192run Vim in a FreeTerm window using the loopback connection.
193
Bram Moolenaarc236c162008-07-13 17:41:49 +0000194It seems to work pretty well now, using "*vi -T ansi".
Bram Moolenaar071d4272004-06-13 20:20:40 +0000195
196==============================================================================
197 *riscos-temp-files*
1986. Temporary files
199
200If Vim crashes then the swap and backup files (if any) will be in the
201directories set with the 'directory' and 'bdir' options. By default the swap
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000202files are in <Wimp$ScrapDir> (i.e. inside !Scrap) and backups are in the
203directory you were saving to. Vim will allow you to try and recover the file
Bram Moolenaar071d4272004-06-13 20:20:40 +0000204when you next try to edit it.
205
Bram Moolenaarc236c162008-07-13 17:41:49 +0000206To see a list of swap files, press <F12> and type "*vi -r".
Bram Moolenaar071d4272004-06-13 20:20:40 +0000207
208Vim no longer brings up ATTENTION warnings if you try to edit two files with
209the same name in different directories.
210
211However, it also no longer warns if you try to edit the same file twice (with
212two copies of Vim), though you will still be warned when you save that the
213datestamp has changed.
214
215==============================================================================
216 *riscos-interrupt*
2177. Interrupting
218
219To break out of a looping macro, or similar, hold down Escape in the
220command-line version, or press CTRL-C in the GUI version.
221
222==============================================================================
223 *riscos-memory*
2248. Memory usage
225
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000226Vim will use dynamic areas on RISC OS 3.5 or later. If you can use them on
227older machines then edit the !RunTxt and GVim files. I don't know what UnixLib
Bram Moolenaar071d4272004-06-13 20:20:40 +0000228does by default on these machines so I'm playing safe.
229
230It doesn't work at all well without dynamic areas, since it can't change its
Bram Moolenaarc236c162008-07-13 17:41:49 +0000231memory allocation once running. Hence you should edit "!Vim.GVim" and
232"!Vim.!RunTxt" to choose the best size for you. You probably need at least
Bram Moolenaar071d4272004-06-13 20:20:40 +0000233about 1400K.
234
235==============================================================================
236 *riscos-filetypes*
2379. Filetypes
238
239You can now specify that autocommands are only executed for files of certain
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000240types. The filetype is given in the form &xxx, when xxx is the filetype.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000241
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000242Filetypes must be specified by number (e.g. &fff for Text).
Bram Moolenaar071d4272004-06-13 20:20:40 +0000243
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000244The system has changed from version 5.3. The new sequence of events is:
Bram Moolenaar071d4272004-06-13 20:20:40 +0000245
246- A file is loaded. |'osfiletype'| is set to the RISC OS filetype.
247- Based on the filetype and pathname, Vim will try to set |'filetype'| to the
248 Vim-type of the file.
249- Setting this option may load syntax files and perform other actions.
250- Saving the file will give it a filetype of |'osfiletype'|.
251
252Some examples may make this clearer:
253
254 Kind of file loaded osfiletype filetype ~
Bram Moolenaarc236c162008-07-13 17:41:49 +0000255 C code "c.hellow" Text (&fff) C
Bram Moolenaar071d4272004-06-13 20:20:40 +0000256 LaTeX document LaTeX (&2a8) TeX
257 Draw document DrawFile (&aff) (not changed)
258
259==============================================================================
260 *riscos-shell*
26110. The shell
262
263- Bangs (!s) are only replaced if they are followed by a space or end-of-line,
264 since many pathnames contain them.
265
Bram Moolenaarc236c162008-07-13 17:41:49 +0000266- You can prefix the command with "~", which stops any output from being
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000267 displayed. This also means that you don't have to press <Enter> afterwards,
Bram Moolenaar071d4272004-06-13 20:20:40 +0000268 and stops the screen from being redrawn. {only in the GUI version}
269
270==============================================================================
271 *riscos-porting*
27211. Porting new releases to RISC OS
273
274Downloading everything you need:
275
276- Get the latest source distribution (see www.vim.org)
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000277- Get the runtime environment files (e.g. these help files)
Bram Moolenaar071d4272004-06-13 20:20:40 +0000278- Get the RISC OS binary distribution (if possible)
279
280
281Unarchiving:
282
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000283- Create a raFS disk and put the archives on it
Bram Moolenaar071d4272004-06-13 20:20:40 +0000284- Un-gzip them
285- Un-tar them (*tar xELf 50 archive/tar)
286
287
288Recompiling the sources:
289
290- Create c, s, and h directories.
Bram Moolenaarc236c162008-07-13 17:41:49 +0000291- Put all the header files in "h". \
292- Put all the C files in "c". | And lose the extensions
293- Put the assembler file ("swis/s") in "s". /
294- Rename all the files in "proto" to "h", like this:
Bram Moolenaar071d4272004-06-13 20:20:40 +0000295 raFS::VimSrc.source.proto.file/pro
296 becomes
297 raFS::VimSrc.source.h.file_pro
Bram Moolenaarc236c162008-07-13 17:41:49 +0000298- In the files "h.proto" and "c.termlib", search and replace
Bram Moolenaar071d4272004-06-13 20:20:40 +0000299 .pro"
300 with
301 _pro.h"
Bram Moolenaarc236c162008-07-13 17:41:49 +0000302- Create a simple Makefile if desired and do "*make -k".
303 Use "CC = gcc -DRISCOS -DUSE_GUI -O2 -x c" in the Makefile.
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000304- Save the binary as !Vim.Vim in the binary distribution.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000305
306
307Updating the run-time environment:
308
309- Replace old or missing files inside !Vim.Resources with the
310 new files.
Bram Moolenaarc236c162008-07-13 17:41:49 +0000311- Remove files in "doc" not ending in "/txt", except for "tags".
312- Lose the extensions from the files in "doc".
313- Edit the "doc.tags" file. Remove extensions from the second column: >
Bram Moolenaar071d4272004-06-13 20:20:40 +0000314 :%s/^\(.[^\t]*\t.*\)\.txt\t/\1\t/
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000315- Remove extensions from the syntax files. Split them into two directories
Bram Moolenaar071d4272004-06-13 20:20:40 +0000316 to avoid the 77 entry limit on old ADFS filesystems.
Bram Moolenaarc236c162008-07-13 17:41:49 +0000317- Edit "Vim:FileType" to match "*.c.*" as well as "*/c" and so on.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000318 Add filetype checking too.
Bram Moolenaarc236c162008-07-13 17:41:49 +0000319- Edit "Vim:Menu" and remove all the keys from the menus: >
Bram Moolenaar071d4272004-06-13 20:20:40 +0000320 :%s/<Tab>[^ \t]*//
321<
322 vim:tw=78:ts=8:ft=help:norl: