mirror of
https://github.com/amix/vimrc
synced 2025-07-21 20:05:00 +08:00
319
doc/os_beos.txt
Normal file
319
doc/os_beos.txt
Normal file
@ -0,0 +1,319 @@
|
||||
*os_beos.txt* For Vim version 7.4. Last change: 2010 Aug 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
|
||||
*BeOS* *BeBox*
|
||||
This is a port of Vim 5.1 to the BeOS Preview Release 2 (also known as PR2)
|
||||
or later.
|
||||
|
||||
This file contains the particularities for the BeBox/BeOS version of Vim. For
|
||||
matters not discussed in this file, Vim behaves very much like the Unix
|
||||
|os_unix.txt| version.
|
||||
|
||||
1. General |beos-general|
|
||||
2. Compiling Vim |beos-compiling|
|
||||
3. Timeout in the Terminal |beos-timeout|
|
||||
4. Unicode vs. Latin1 |beos-unicode|
|
||||
5. The BeOS GUI |beos-gui|
|
||||
6. The $VIM directory |beos-vimdir|
|
||||
7. Drag & Drop |beos-dragndrop|
|
||||
8. Single Launch vs. Multiple
|
||||
Launch |beos-launch|
|
||||
9. Fonts |beos-fonts|
|
||||
10. The meta key modifier |beos-meta|
|
||||
11. Mouse key mappings |beos-mouse|
|
||||
12. Color names |beos-colors|
|
||||
13. Compiling with Perl |beos-perl|
|
||||
|
||||
|
||||
1. General *beos-general*
|
||||
|
||||
The default syntax highlighting mostly works with different foreground colors
|
||||
to highlight items. This works best if you set your Terminal window to a
|
||||
darkish background and light letters. Some middle-grey background (for
|
||||
instance (r,g,b)=(168,168,168)) with black letters also works nicely. If you
|
||||
use the default light background and dark letters, it may look better to
|
||||
simply reverse the notion of foreground and background color settings. To do
|
||||
this, add this to your .vimrc file (where <Esc> may need to be replaced with
|
||||
the escape character): >
|
||||
|
||||
:if &term == "beos-ansi"
|
||||
: set t_AB=<Esc>[3%dm
|
||||
: set t_AF=<Esc>[4%dm
|
||||
:endif
|
||||
|
||||
|
||||
2. Compiling Vim *beos-compiling*
|
||||
|
||||
From the Advanced Access Preview Release (AAPR) on, Vim can be configured with
|
||||
the standard configure script. To get the compiler and its flags right, use
|
||||
the following command-line in the shell (you can cut and paste it in one go):
|
||||
|
||||
CC=$BE_C_COMPILER CFLAGS="$BE_DEFAULT_C_FLAGS -O7" \
|
||||
./configure --prefix=/boot/home/config
|
||||
|
||||
$BE_C_COMPILER is usually "mwcc", $BE_DEFAULT_C_FLAGS is usually "-I- -I."
|
||||
|
||||
When configure has run, and you wish to enable GUI support, you must edit the
|
||||
config.mk file so that the lines with GUI_xxx refer to $(BEOSGUI_xxx) instead
|
||||
of $(NONE_xxx).
|
||||
Alternatively you can make this change in the Makefile; it will have a
|
||||
more permanent effect. Search for "NONE_".
|
||||
|
||||
After compilation you need to add the resources to the binary. Add the
|
||||
following few lines near the end (before the line with "exit $exit_value") of
|
||||
the link.sh script to do this automatically.
|
||||
|
||||
rmattr BEOS:TYPE vim
|
||||
copyres os_beos.rsrc vim
|
||||
mimeset vim
|
||||
|
||||
Also, create a dummy file "strip":
|
||||
|
||||
#!/bin/sh
|
||||
mimeset $1
|
||||
exit 0
|
||||
|
||||
You will need it when using "make install" to install Vim.
|
||||
|
||||
Now type "make" to compile Vim, then "make install" to install it.
|
||||
|
||||
If you want to install Vim by hand, you must copy Vim to $HOME/config/bin, and
|
||||
create a bunch of symlinks to it ({g,r,rg}{vim,ex,view}). Furthermore you must
|
||||
copy Vim's configuration files to $HOME/config/share/vim:
|
||||
vim-5.0s/{*.vim,doc,syntax}. For completeness, you should also copy the nroff
|
||||
manual pages to $HOME/config/man/man1. Don't forget ctags/ctags and xxd/xxd!
|
||||
|
||||
Obviously, you need the unlimited linker to actually link Vim. See
|
||||
http://www.metrowerks.com for purchasing the CodeWarrior compiler for BeOS.
|
||||
There are currently no other linkers that can do the job.
|
||||
|
||||
This won't be able to include the Perl or Python interfaces even if
|
||||
you have the appropriate files installed. |beos-perl|
|
||||
|
||||
|
||||
3. Timeout in the Terminal *beos-timeout*
|
||||
|
||||
Because some POSIX/UNIX features are still missing[1], there is no direct OS
|
||||
support for read-with-timeout in the Terminal. This would mean that you cannot
|
||||
use :mappings of more than one character, unless you also :set notimeout.
|
||||
|'timeout'|
|
||||
|
||||
To circumvent this problem, I added a workaround to provide the necessary
|
||||
input with timeout by using an extra thread which reads ahead one character.
|
||||
As a side effect, it also makes Vim recognize when the Terminal window
|
||||
resizes.
|
||||
|
||||
Function keys are not supported in the Terminal since they produce very
|
||||
indistinctive character sequences.
|
||||
|
||||
These problems do not exist in the GUI.
|
||||
|
||||
[1]: there is no select() on file descriptors; also the termios VMIN and VTIME
|
||||
settings do not seem to work properly. This has been the case since DR7 at
|
||||
least and still has not been fixed as of PR2.
|
||||
|
||||
*beos-unicode*
|
||||
4. Unicode vs. Latin1 *beos-utf8*
|
||||
|
||||
BeOS uses Unicode and UTF-8 for text strings (16-bit characters encoded to
|
||||
8-bit characters). Vim assumes ISO-Latin1 or other 8-bit character codes.
|
||||
This does not produce the desired results for non-ASCII characters. Try the
|
||||
command :digraphs to see. If they look messed up, use :set isprint=@ to
|
||||
(slightly) improve the display of ISO-Latin1 characters 128-255. This works
|
||||
better in the GUI, depending on which font you use (below).
|
||||
|
||||
You may also use the /boot/bin/xtou command to convert UTF-8 files from (xtou
|
||||
-f iso1 filename) or to (xtou -t iso1 filename) ISO-Latin1 characters.
|
||||
|
||||
|
||||
5. The BeOS GUI *beos-gui*
|
||||
|
||||
The BeOS GUI is no longer included. It was not maintained for a while and
|
||||
most likely didn't work. If you want to work on this: get the Vim 6.x version
|
||||
and merge it back in.
|
||||
|
||||
|
||||
6. The $VIM directory *beos-vimdir*
|
||||
|
||||
$VIM is the symbolic name for the place where Vims support files are stored.
|
||||
The default value for $VIM is set at compile time and can be determined with >
|
||||
|
||||
:version
|
||||
|
||||
The normal value is /boot/home/config/share/vim. If you don't like it you can
|
||||
set the VIM environment variable to override this, or set 'helpfile' in your
|
||||
.vimrc: >
|
||||
|
||||
:if version >= 500
|
||||
: set helpfile=~/vim/vim54/doc/help.txt
|
||||
: syntax on
|
||||
:endif
|
||||
|
||||
|
||||
7. Drag & Drop *beos-dragndrop*
|
||||
|
||||
You can drop files and directories on either the Vim icon (starts a new Vim
|
||||
session, unless you use the File Types application to set Vim to be "Single
|
||||
Launch") or on the Vim window (starts editing the files). Dropping a folder
|
||||
sets Vim's current working directory. |:cd| |:pwd| If you drop files or
|
||||
folders with either SHIFT key pressed, Vim changes directory to the folder
|
||||
that contains the first item dropped. When starting Vim, there is no need to
|
||||
press shift: Vim behaves as if you do.
|
||||
|
||||
Files dropped set the current argument list. |argument-list|
|
||||
|
||||
|
||||
8. Single Launch vs. Multiple Launch *beos-launch*
|
||||
|
||||
As distributed Vim's Application Flags (as seen in the FileTypes preference)
|
||||
are set to Multiple Launch. If you prefer, you can set them to Single Launch
|
||||
instead. Attempts to start a second copy of Vim will cause the first Vim to
|
||||
open the files instead. This works from the Tracker but also from the command
|
||||
line. In the latter case, non-file (option) arguments are not supported.
|
||||
|
||||
NB: Only the GUI version has a BApplication (and hence Application Flags).
|
||||
This section does not apply to the GUI-less version, should you compile one.
|
||||
|
||||
|
||||
9. Fonts *beos-fonts*
|
||||
|
||||
Set fonts with >
|
||||
|
||||
:set guifont=Courier10_BT/Roman/10
|
||||
|
||||
where the first part is the font family, the second part the style, and the
|
||||
third part the size. You can use underscores instead of spaces in family and
|
||||
style.
|
||||
|
||||
Best results are obtained with monospaced fonts (such as Courier). Vim
|
||||
attempts to use all fonts in B_FIXED_SPACING mode but apparently this does not
|
||||
work for proportional fonts (despite what the BeBook says).
|
||||
|
||||
Vim also tries to use the B_ISO8859_1 encoding, also known as ISO Latin 1.
|
||||
This also does not work for all fonts. It does work for Courier, but not for
|
||||
ProFontISOLatin1/Regular (strangely enough). You can verify this by giving the >
|
||||
|
||||
:digraphs
|
||||
|
||||
command, which lists a bunch of characters with their ISO Latin 1 encoding.
|
||||
If, for instance, there are "box" characters among them, or the last character
|
||||
isn't a dotted-y, then for this font the encoding does not work.
|
||||
|
||||
If the font you specify is unavailable, you get the system fixed font.
|
||||
|
||||
Standard fixed-width system fonts are:
|
||||
|
||||
ProFontISOLatin1/Regular
|
||||
Courier10_BT/Roman
|
||||
Courier10_BT/Italic
|
||||
Courier10_BT/Bold
|
||||
Courier10_BT/Bold_Italic
|
||||
|
||||
Standard proportional system fonts are:
|
||||
|
||||
Swis721_BT/Roman
|
||||
Swis721_BT/Italic
|
||||
Swis721_BT/Bold
|
||||
Swis721_BT/Bold_Italic
|
||||
Dutch801_Rm_BT/Roman
|
||||
Dutch801_Rm_BT/Italic
|
||||
Dutch801_Rm_BT/Bold
|
||||
Dutch801_Rm_BT/Bold_Italic
|
||||
Baskerville/Roman
|
||||
Baskerville/Italic
|
||||
Baskerville/Bold
|
||||
Baskerville/Bold_Italic
|
||||
SymbolProp_BT/Regular
|
||||
|
||||
Try some of them, just for fun.
|
||||
|
||||
|
||||
10. The meta key modifier *beos-meta*
|
||||
|
||||
The META key modifier is obtained by the left or right OPTION keys. This is
|
||||
because the ALT (aka COMMAND) keys are not passed to applications.
|
||||
|
||||
|
||||
11. Mouse key mappings *beos-mouse*
|
||||
|
||||
Vim calls the various mouse buttons LeftMouse, MiddleMouse and RightMouse. If
|
||||
you use the default Mouse preference settings these names indeed correspond to
|
||||
reality. Vim uses this mapping:
|
||||
|
||||
Button 1 -> LeftMouse,
|
||||
Button 2 -> RightMouse,
|
||||
Button 3 -> MiddleMouse.
|
||||
|
||||
If your mouse has fewer than 3 buttons you can provide your own mapping from
|
||||
mouse clicks with modifier(s) to other mouse buttons. See the file
|
||||
vim-5.x/macros/swapmous.vim for an example. |gui-mouse-mapping|
|
||||
|
||||
|
||||
12. Color names *beos-colors*
|
||||
|
||||
Vim has a number of color names built-in. Additional names are read from the
|
||||
file $VIMRUNTIME/rgb.txt, if present. This file is basically the color
|
||||
database from X. Names used from this file are cached for efficiency.
|
||||
|
||||
|
||||
13. Compiling with Perl *beos-perl*
|
||||
|
||||
Compiling with Perl support enabled is slightly tricky. The Metrowerks
|
||||
compiler has some strange ideas where to search for include files. Since
|
||||
several include files with Perl have the same names as some Vim header
|
||||
files, the wrong ones get included. To fix this, run the following Perl
|
||||
script while in the vim-5.0/src directory: >
|
||||
|
||||
preproc.pl > perl.h
|
||||
|
||||
#!/bin/env perl
|
||||
# Simple #include expander, just good enough for the Perl header files.
|
||||
|
||||
use strict;
|
||||
use IO::File;
|
||||
use Config;
|
||||
|
||||
sub doinclude
|
||||
{
|
||||
my $filename = $_[0];
|
||||
my $fh = new IO::File($filename, "r");
|
||||
if (defined $fh) {
|
||||
print "/* Start of $filename */\n";
|
||||
|
||||
while (<$fh>) {
|
||||
if (/^#include "(.*)"/) {
|
||||
doinclude($1);
|
||||
print "/* Back in $filename */\n";
|
||||
} else {
|
||||
print $_;
|
||||
}
|
||||
}
|
||||
print "/* End of $filename */\n";
|
||||
|
||||
undef $fh;
|
||||
} else {
|
||||
print "/* Cannot open $filename */\n";
|
||||
print "#include \"$filename\"\n";
|
||||
}
|
||||
}
|
||||
|
||||
chdir $Config{installarchlib}."/CORE";
|
||||
doinclude "perl.h";
|
||||
|
||||
It expands the "perl.h" header file, using only other Perl header files.
|
||||
|
||||
Now you can configure & make Vim with the --enable-perlinterp option.
|
||||
Be warned though that this adds about 616 kilobytes to the size of Vim!
|
||||
Without Perl, Vim with default features and GUI is about 575K, with Perl
|
||||
it is about 1191K.
|
||||
|
||||
-Olaf Seibert
|
||||
|
||||
[Note: these addresses no longer work:]
|
||||
<rhialto@polder.ubc.kun.nl>
|
||||
http://polder.ubc.kun.nl/~rhialto/be
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
Reference in New Issue
Block a user