Mercurial > vim
annotate runtime/doc/os_beos.txt @ 19156:5ad73bc6f845
Added tag v8.2.0137 for changeset 013f20a3bc6ba9cd2073523c90059ba129c09370
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 20 Jan 2020 21:45:05 +0100 |
parents | af69c9335223 |
children | 1908e92b02fd |
rev | line source |
---|---|
18879 | 1 *os_beos.txt* For Vim version 8.2. Last change: 2016 Mar 28 |
7 | 2 |
3 | |
4 VIM REFERENCE MANUAL by Bram Moolenaar | |
5 | |
6 | |
7 *BeOS* *BeBox* | |
8 This is a port of Vim 5.1 to the BeOS Preview Release 2 (also known as PR2) | |
9 or later. | |
10 | |
11 This file contains the particularities for the BeBox/BeOS version of Vim. For | |
12 matters not discussed in this file, Vim behaves very much like the Unix | |
13 |os_unix.txt| version. | |
14 | |
15 1. General |beos-general| | |
16 2. Compiling Vim |beos-compiling| | |
17 3. Timeout in the Terminal |beos-timeout| | |
18 4. Unicode vs. Latin1 |beos-unicode| | |
19 5. The BeOS GUI |beos-gui| | |
20 6. The $VIM directory |beos-vimdir| | |
21 7. Drag & Drop |beos-dragndrop| | |
22 8. Single Launch vs. Multiple | |
23 Launch |beos-launch| | |
24 9. Fonts |beos-fonts| | |
25 10. The meta key modifier |beos-meta| | |
26 11. Mouse key mappings |beos-mouse| | |
27 12. Color names |beos-colors| | |
28 13. Compiling with Perl |beos-perl| | |
29 | |
30 | |
31 1. General *beos-general* | |
32 | |
33 The default syntax highlighting mostly works with different foreground colors | |
236 | 34 to highlight items. This works best if you set your Terminal window to a |
35 darkish background and light letters. Some middle-grey background (for | |
7 | 36 instance (r,g,b)=(168,168,168)) with black letters also works nicely. If you |
37 use the default light background and dark letters, it may look better to | |
236 | 38 simply reverse the notion of foreground and background color settings. To do |
7 | 39 this, add this to your .vimrc file (where <Esc> may need to be replaced with |
40 the escape character): > | |
41 | |
42 :if &term == "beos-ansi" | |
43 : set t_AB=<Esc>[3%dm | |
44 : set t_AF=<Esc>[4%dm | |
45 :endif | |
46 | |
47 | |
48 2. Compiling Vim *beos-compiling* | |
49 | |
50 From the Advanced Access Preview Release (AAPR) on, Vim can be configured with | |
236 | 51 the standard configure script. To get the compiler and its flags right, use |
7 | 52 the following command-line in the shell (you can cut and paste it in one go): |
53 | |
54 CC=$BE_C_COMPILER CFLAGS="$BE_DEFAULT_C_FLAGS -O7" \ | |
55 ./configure --prefix=/boot/home/config | |
56 | |
57 $BE_C_COMPILER is usually "mwcc", $BE_DEFAULT_C_FLAGS is usually "-I- -I." | |
58 | |
59 When configure has run, and you wish to enable GUI support, you must edit the | |
60 config.mk file so that the lines with GUI_xxx refer to $(BEOSGUI_xxx) instead | |
61 of $(NONE_xxx). | |
62 Alternatively you can make this change in the Makefile; it will have a | |
236 | 63 more permanent effect. Search for "NONE_". |
7 | 64 |
236 | 65 After compilation you need to add the resources to the binary. Add the |
7 | 66 following few lines near the end (before the line with "exit $exit_value") of |
67 the link.sh script to do this automatically. | |
68 | |
69 rmattr BEOS:TYPE vim | |
70 copyres os_beos.rsrc vim | |
71 mimeset vim | |
72 | |
73 Also, create a dummy file "strip": | |
74 | |
75 #!/bin/sh | |
76 mimeset $1 | |
77 exit 0 | |
78 | |
79 You will need it when using "make install" to install Vim. | |
80 | |
81 Now type "make" to compile Vim, then "make install" to install it. | |
82 | |
83 If you want to install Vim by hand, you must copy Vim to $HOME/config/bin, and | |
236 | 84 create a bunch of symlinks to it ({g,r,rg}{vim,ex,view}). Furthermore you must |
85 copy Vim's configuration files to $HOME/config/share/vim: | |
7 | 86 vim-5.0s/{*.vim,doc,syntax}. For completeness, you should also copy the nroff |
236 | 87 manual pages to $HOME/config/man/man1. Don't forget ctags/ctags and xxd/xxd! |
7 | 88 |
236 | 89 Obviously, you need the unlimited linker to actually link Vim. See |
7 | 90 http://www.metrowerks.com for purchasing the CodeWarrior compiler for BeOS. |
91 There are currently no other linkers that can do the job. | |
92 | |
93 This won't be able to include the Perl or Python interfaces even if | |
94 you have the appropriate files installed. |beos-perl| | |
95 | |
96 | |
97 3. Timeout in the Terminal *beos-timeout* | |
98 | |
99 Because some POSIX/UNIX features are still missing[1], there is no direct OS | |
236 | 100 support for read-with-timeout in the Terminal. This would mean that you cannot |
7 | 101 use :mappings of more than one character, unless you also :set notimeout. |
102 |'timeout'| | |
103 | |
104 To circumvent this problem, I added a workaround to provide the necessary | |
105 input with timeout by using an extra thread which reads ahead one character. | |
106 As a side effect, it also makes Vim recognize when the Terminal window | |
107 resizes. | |
108 | |
109 Function keys are not supported in the Terminal since they produce very | |
110 indistinctive character sequences. | |
111 | |
112 These problems do not exist in the GUI. | |
113 | |
114 [1]: there is no select() on file descriptors; also the termios VMIN and VTIME | |
236 | 115 settings do not seem to work properly. This has been the case since DR7 at |
7 | 116 least and still has not been fixed as of PR2. |
117 | |
118 *beos-unicode* | |
119 4. Unicode vs. Latin1 *beos-utf8* | |
120 | |
121 BeOS uses Unicode and UTF-8 for text strings (16-bit characters encoded to | |
236 | 122 8-bit characters). Vim assumes ISO-Latin1 or other 8-bit character codes. |
123 This does not produce the desired results for non-ASCII characters. Try the | |
124 command :digraphs to see. If they look messed up, use :set isprint=@ to | |
7 | 125 (slightly) improve the display of ISO-Latin1 characters 128-255. This works |
126 better in the GUI, depending on which font you use (below). | |
127 | |
128 You may also use the /boot/bin/xtou command to convert UTF-8 files from (xtou | |
129 -f iso1 filename) or to (xtou -t iso1 filename) ISO-Latin1 characters. | |
130 | |
131 | |
132 5. The BeOS GUI *beos-gui* | |
133 | |
2564
f85004953416
README and help file updates.
Bram Moolenaar <bram@vim.org>
parents:
2561
diff
changeset
|
134 The BeOS GUI is no longer included. It was not maintained for a while and |
f85004953416
README and help file updates.
Bram Moolenaar <bram@vim.org>
parents:
2561
diff
changeset
|
135 most likely didn't work. If you want to work on this: get the Vim 6.x version |
f85004953416
README and help file updates.
Bram Moolenaar <bram@vim.org>
parents:
2561
diff
changeset
|
136 and merge it back in. |
7 | 137 |
138 | |
302 | 139 6. The $VIM directory *beos-vimdir* |
7 | 140 |
141 $VIM is the symbolic name for the place where Vims support files are stored. | |
142 The default value for $VIM is set at compile time and can be determined with > | |
143 | |
144 :version | |
145 | |
236 | 146 The normal value is /boot/home/config/share/vim. If you don't like it you can |
14123 | 147 set the VIM environment variable to override this, or set 'helpfile' in your |
7 | 148 .vimrc: > |
149 | |
150 :if version >= 500 | |
151 : set helpfile=~/vim/vim54/doc/help.txt | |
152 : syntax on | |
153 :endif | |
154 | |
155 | |
156 7. Drag & Drop *beos-dragndrop* | |
157 | |
158 You can drop files and directories on either the Vim icon (starts a new Vim | |
159 session, unless you use the File Types application to set Vim to be "Single | |
160 Launch") or on the Vim window (starts editing the files). Dropping a folder | |
161 sets Vim's current working directory. |:cd| |:pwd| If you drop files or | |
162 folders with either SHIFT key pressed, Vim changes directory to the folder | |
236 | 163 that contains the first item dropped. When starting Vim, there is no need to |
7 | 164 press shift: Vim behaves as if you do. |
165 | |
166 Files dropped set the current argument list. |argument-list| | |
167 | |
168 | |
169 8. Single Launch vs. Multiple Launch *beos-launch* | |
170 | |
171 As distributed Vim's Application Flags (as seen in the FileTypes preference) | |
236 | 172 are set to Multiple Launch. If you prefer, you can set them to Single Launch |
7 | 173 instead. Attempts to start a second copy of Vim will cause the first Vim to |
236 | 174 open the files instead. This works from the Tracker but also from the command |
175 line. In the latter case, non-file (option) arguments are not supported. | |
7 | 176 |
177 NB: Only the GUI version has a BApplication (and hence Application Flags). | |
178 This section does not apply to the GUI-less version, should you compile one. | |
179 | |
180 | |
181 9. Fonts *beos-fonts* | |
182 | |
183 Set fonts with > | |
184 | |
185 :set guifont=Courier10_BT/Roman/10 | |
186 | |
187 where the first part is the font family, the second part the style, and the | |
236 | 188 third part the size. You can use underscores instead of spaces in family and |
7 | 189 style. |
190 | |
236 | 191 Best results are obtained with monospaced fonts (such as Courier). Vim |
7 | 192 attempts to use all fonts in B_FIXED_SPACING mode but apparently this does not |
193 work for proportional fonts (despite what the BeBook says). | |
194 | |
195 Vim also tries to use the B_ISO8859_1 encoding, also known as ISO Latin 1. | |
236 | 196 This also does not work for all fonts. It does work for Courier, but not for |
197 ProFontISOLatin1/Regular (strangely enough). You can verify this by giving the > | |
7 | 198 |
199 :digraphs | |
200 | |
201 command, which lists a bunch of characters with their ISO Latin 1 encoding. | |
202 If, for instance, there are "box" characters among them, or the last character | |
203 isn't a dotted-y, then for this font the encoding does not work. | |
204 | |
205 If the font you specify is unavailable, you get the system fixed font. | |
206 | |
207 Standard fixed-width system fonts are: | |
208 | |
209 ProFontISOLatin1/Regular | |
210 Courier10_BT/Roman | |
211 Courier10_BT/Italic | |
212 Courier10_BT/Bold | |
213 Courier10_BT/Bold_Italic | |
214 | |
215 Standard proportional system fonts are: | |
216 | |
217 Swis721_BT/Roman | |
218 Swis721_BT/Italic | |
219 Swis721_BT/Bold | |
220 Swis721_BT/Bold_Italic | |
221 Dutch801_Rm_BT/Roman | |
222 Dutch801_Rm_BT/Italic | |
223 Dutch801_Rm_BT/Bold | |
224 Dutch801_Rm_BT/Bold_Italic | |
225 Baskerville/Roman | |
226 Baskerville/Italic | |
227 Baskerville/Bold | |
228 Baskerville/Bold_Italic | |
229 SymbolProp_BT/Regular | |
230 | |
231 Try some of them, just for fun. | |
232 | |
233 | |
234 10. The meta key modifier *beos-meta* | |
235 | |
236 The META key modifier is obtained by the left or right OPTION keys. This is | |
237 because the ALT (aka COMMAND) keys are not passed to applications. | |
238 | |
239 | |
240 11. Mouse key mappings *beos-mouse* | |
241 | |
242 Vim calls the various mouse buttons LeftMouse, MiddleMouse and RightMouse. If | |
243 you use the default Mouse preference settings these names indeed correspond to | |
236 | 244 reality. Vim uses this mapping: |
7 | 245 |
246 Button 1 -> LeftMouse, | |
247 Button 2 -> RightMouse, | |
248 Button 3 -> MiddleMouse. | |
249 | |
250 If your mouse has fewer than 3 buttons you can provide your own mapping from | |
8795
aba2d0a01290
commit https://github.com/vim/vim/commit/7db8f6f4f85e5d0526d23107b2a5e2334dc23354
Christian Brabandt <cb@256bit.org>
parents:
5294
diff
changeset
|
251 mouse clicks with modifier(s) to other mouse buttons. See the swapmouse |
aba2d0a01290
commit https://github.com/vim/vim/commit/7db8f6f4f85e5d0526d23107b2a5e2334dc23354
Christian Brabandt <cb@256bit.org>
parents:
5294
diff
changeset
|
252 package for an example: |gui-mouse-mapping| |
aba2d0a01290
commit https://github.com/vim/vim/commit/7db8f6f4f85e5d0526d23107b2a5e2334dc23354
Christian Brabandt <cb@256bit.org>
parents:
5294
diff
changeset
|
253 $VIMRUNTIME/pack/dist/opt/swapmouse/plugin/swapmouse.vim |
7 | 254 |
255 | |
256 12. Color names *beos-colors* | |
257 | |
236 | 258 Vim has a number of color names built-in. Additional names are read from the |
259 file $VIMRUNTIME/rgb.txt, if present. This file is basically the color | |
260 database from X. Names used from this file are cached for efficiency. | |
7 | 261 |
262 | |
263 13. Compiling with Perl *beos-perl* | |
264 | |
236 | 265 Compiling with Perl support enabled is slightly tricky. The Metrowerks |
266 compiler has some strange ideas where to search for include files. Since | |
7 | 267 several include files with Perl have the same names as some Vim header |
236 | 268 files, the wrong ones get included. To fix this, run the following Perl |
7 | 269 script while in the vim-5.0/src directory: > |
270 | |
271 preproc.pl > perl.h | |
272 | |
273 #!/bin/env perl | |
274 # Simple #include expander, just good enough for the Perl header files. | |
275 | |
276 use strict; | |
277 use IO::File; | |
278 use Config; | |
279 | |
280 sub doinclude | |
281 { | |
282 my $filename = $_[0]; | |
283 my $fh = new IO::File($filename, "r"); | |
284 if (defined $fh) { | |
285 print "/* Start of $filename */\n"; | |
286 | |
287 while (<$fh>) { | |
288 if (/^#include "(.*)"/) { | |
289 doinclude($1); | |
290 print "/* Back in $filename */\n"; | |
291 } else { | |
292 print $_; | |
293 } | |
294 } | |
295 print "/* End of $filename */\n"; | |
296 | |
297 undef $fh; | |
298 } else { | |
299 print "/* Cannot open $filename */\n"; | |
300 print "#include \"$filename\"\n"; | |
301 } | |
302 } | |
303 | |
304 chdir $Config{installarchlib}."/CORE"; | |
305 doinclude "perl.h"; | |
306 | |
307 It expands the "perl.h" header file, using only other Perl header files. | |
308 | |
309 Now you can configure & make Vim with the --enable-perlinterp option. | |
310 Be warned though that this adds about 616 kilobytes to the size of Vim! | |
311 Without Perl, Vim with default features and GUI is about 575K, with Perl | |
312 it is about 1191K. | |
313 | |
314 -Olaf Seibert | |
315 | |
316 [Note: these addresses no longer work:] | |
317 <rhialto@polder.ubc.kun.nl> | |
318 http://polder.ubc.kun.nl/~rhialto/be | |
319 | |
14421 | 320 vim:tw=78:ts=8:noet:ft=help:norl: |