|
| 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 < [email protected]> Jul 99; |
| 211 | + - Those who contributed, not listed above but not forgotten; |
| 212 | + - Haiku support by Siarzhuk Zharski < [email protected]> 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 < [email protected]> |
| 226 | + |
| 227 | + |
| 228 | + vim:tw=78:ts=8:ft=help:norl: |
0 commit comments