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