comparison runtime/doc/os_haiku.txt @ 19526:22f0dda71638 v8.2.0320

patch 8.2.0320: no Haiku support Commit: https://github.com/vim/vim/commit/b3f740695a0199d22cd97aee314f06c7ae32d2ea Author: Bram Moolenaar <Bram@vim.org> Date: Wed Feb 26 16:16:53 2020 +0100 patch 8.2.0320: no Haiku support Problem: No Haiku support. Solution: Add support for Haiku. (Emir Sari, closes https://github.com/vim/vim/issues/5605)
author Bram Moolenaar <Bram@vim.org>
date Wed, 26 Feb 2020 16:30:04 +0100
parents
children bceeded72898
comparison
equal deleted inserted replaced
19525:619eb9bc3249 19526:22f0dda71638
1 *os_haiku.txt* For Vim version 8.2. Last change: 2020 Feb 26
2
3
4 VIM REFERENCE MANUAL by Bram Moolenaar
5
6
7 *Haiku*
8 This file contains the particularities for the Haiku version of Vim. For
9 matters not discussed in this file, Vim behaves very much like the Unix
10 |os_unix.txt| version.
11
12 Haiku is an open-source operating system inspired by BeOS, that specifically
13 targets personal computing.
14
15 1. General |haiku-general|
16 2. Compiling Vim |haiku-compiling|
17 3. The Haiku GUI |haiku-gui|
18 4. The $VIM directory |haiku-vimdir|
19 5. The $BE_USER_SETTINGS
20 directory |haiku-user-settings-dir|
21 6. Drag & Drop |haiku-dragndrop|
22 7. Single Launch vs. Multiple
23 Launch |haiku-launch|
24 8. Fonts |haiku-fonts|
25 9. The meta key modifier |haiku-meta|
26 10. Mouse key mappings |haiku-mouse|
27 11. Color names |haiku-colors|
28 12. Credits |haiku-support-credits|
29 13. Bugs & things To Do |haiku-bugs|
30
31
32 1. General *haiku-general*
33
34 The default syntax highlighting mostly works with different foreground colors
35 to highlight items. This works best if you set your Terminal window to a
36 darkish background and light letters. Some middle-grey background (for
37 instance (r,g,b)=(168,168,168)) with black letters also works nicely.
38
39
40 2. Compiling Vim *haiku-compiling*
41
42 Vim can be compiled using the standard configure/make approach. Running
43 ./configure without any arguments or passing --enable-gui=haiku, will compile
44 vim with the Haiku GUI support. Run ./configure --help , to find out other
45 features you can enable/disable.
46
47 Now you should use "make" to compile Vim, then "make install" to install it.
48 For seamless integration into the Haiku the GUI-less vim binary should be
49 additionally installed over the GUI version. Typical build commands are: >
50
51 ./configure --prefix=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY` \
52 --datarootdir=`finddir B_SYSTEM_NONPACKAGED_DATA_DIRECTORY` \
53 --mandir=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY`/documentation/man \
54 make clean
55 make install
56
57 ./configure --prefix=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY` \
58 --datarootdir=`finddir B_SYSTEM_NONPACKAGED_DATA_DIRECTORY` \
59 --mandir=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY`/documentation/man \
60 --disable-gui
61 make clean
62 make install
63
64
65 3. The Haiku GUI *haiku-gui*
66
67 Normally Vim starts with the GUI if you start it as gvim or vim -g. The vim
68 version with GUI tries to determine if it was started from the Tracker instead
69 of the Terminal, and if so, uses the GUI anyway. However, the current detection
70 scheme is fooled if you use the command "vim - </dev/null".
71
72 Stuff that does not work yet:
73
74 - Mouse up events are not generated when outside the window. This may be a bug in
75 Haiku. You can notice this when selecting text and moving the cursor outside
76 the window, then letting go of the mouse button. Another way is when you
77 drag the scrollbar and do the same thing. Because Vim still thinks you are
78 still playing with the scrollbar it won't change it itself. I provided a
79 workaround which kicks in when the window is activated or deactivated (so it
80 works best with focus- follows-mouse turned on).
81 - The cursor does not flash (very low priority; I'm not sure I even like it
82 when it flashes)
83
84
85 4. The $VIM directory *haiku-vimdir*
86
87 $VIM is the symbolic name for the place where Vims support files are stored.
88 The default value for $VIM is set at compile time and can be determined with >
89
90 :version
91
92 The normal value is /boot/common/data/vim. If you don't like it you can
93 set the VIM environment variable to override this, or set 'helpfile' in your
94 .vimrc: >
95
96 :if version >= 500
97 : set helpfile=~/vim/runtime/doc/help.txt
98 : syntax on
99 :endif
100
101
102 5. The $USER_SETTINGS_DIR directory *haiku-user-settings-dir*
103
104 $USER_SETTINGS_DIR is the symbolic name for the place where Haiku
105 configuration and settings files are stored.
106
107 The normal value is /boot/home/config/settings.
108
109
110 6. Drag & Drop *haiku-dragndrop*
111
112 You can drop files and directories on either the Vim icon (starts a new Vim
113 session, unless you use the File Types application to set Vim to be "Single
114 Launch") or on the Vim window (starts editing the files). Dropping a folder
115 sets Vim's current working directory. |:cd| |:pwd| If you drop files or
116 folders with either SHIFT key pressed, Vim changes directory to the folder
117 that contains the first item dropped. When starting Vim, there is no need to
118 press shift: Vim behaves as if you do.
119
120 Files dropped set the current argument list. |argument-list|
121
122
123 7. Single Launch vs. Multiple Launch *haiku-launch*
124
125 As distributed Vim's Application Flags (as seen in the FileTypes preference)
126 are set to Multiple Launch. If you prefer, you can set them to Single Launch
127 instead. Attempts to start a second copy of Vim will cause the first Vim to
128 open the files instead. This works from the Tracker but also from the command
129 line. In the latter case, non-file (option) arguments are not supported.
130 Another drawback of the Single Launch is silent ignore of "Open With ..."
131 requests by vim instance that running as non-GUI application even GUI support
132 was compiled in. Vim instance running with GUI has no such problems.
133
134 NB: Only the GUI version has a BApplication (and hence Application Flags).
135 This section does not apply to the GUI-less version, should you compile one.
136
137
138 8. Fonts *haiku-fonts*
139
140 Set fonts with >
141
142 :set guifont=DejaVu_Sans_Mono/Book/12
143
144 where the first part is the font family, the second part the style, and the
145 third part the size. You can use underscores instead of spaces in family and
146 style.
147
148 Best results are obtained with monospaced fonts. Vim attempts to use all
149 fonts in B_FIXED_SPACING mode but apparently this does not work for
150 proportional fonts (despite what the BeBook says).
151
152 To verify which encodings are supported by the current font give the >
153
154 :digraphs
155
156 command, which lists a bunch of characters with their ISO Latin 1 encoding.
157 If, for instance, there are "box" characters among them, or the last character
158 isn't a dotted-y, then for this font the encoding does not work.
159
160 If the font you specify is unavailable, you get the system fixed font.
161
162 GUI Font Selection Dialog is available at giving the >
163
164 :set guifont=*
165
166 command.
167
168
169 9. The meta key modifier *haiku-meta*
170
171 The META key modifier is obtained by the left or right OPTION keys. This is
172 because the ALT (aka COMMAND) keys are not passed to applications.
173
174
175 10. Mouse key mappings *haiku-mouse*
176
177 Vim calls the various mouse buttons LeftMouse, MiddleMouse and RightMouse. If
178 you use the default Mouse preference settings these names indeed correspond to
179 reality. Vim uses this mapping:
180
181 Button 1 -> LeftMouse,
182 Button 2 -> RightMouse,
183 Button 3 -> MiddleMouse.
184
185 If your mouse has fewer than 3 buttons you can provide your own mapping from
186 mouse clicks with modifier(s) to other mouse buttons. See the file
187 $VIM/macros/swapmous.vim for an example. |gui-mouse-mapping|
188
189
190 11. Color names *haiku-colors*
191
192 Vim has a number of color names built-in. Additional names are read from the
193 file $VIMRUNTIME/rgb.txt, if present. This file is basically the color
194 database from X. Names used from this file are cached for efficiency.
195
196
197 12. GUI Toolbar Images *haiku-toolbar-images*
198
199 Alternative set of toolbar images should be the PNG image of any height you
200 like. Image width is calculated to contain at least 32 buttons in one-row
201 cells.
202 The image should be stored under the name $VIRUNTIME/bitmaps/builtin-tools.png
203 More info about the buttons assignment are at |builtin-tools|.
204
205
206 13. Credits *haiku-support-credits*
207
208 Haiku port is based on work done for BeOS version by many people
209 - BeBox GUI support Copyright 1998 by Olaf Seibert;
210 - Ported to R4 by Richard Offer <richard@whitequeen.com> Jul 99;
211 - Those who contributed, not listed above but not forgotten;
212 - Haiku support by Siarzhuk Zharski <imker@gmx.li> Apr-Mai 2009.
213
214 All the changes and patches released under vim-license.
215
216 Thank you, all!
217
218
219 13. Bugs & things To Do *haiku-bugs*
220
221 The port is under development now and far away from the perfect state. Bug
222 reports, patches and wishes are welcome.
223
224
225 -Siarzhuk Zharski <imker@gmx.li>
226
227
228 vim:tw=78:ts=8:ft=help:norl: