annotate runtime/doc/os_beos.txt @ 81:bf3f798c35c6

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