/usr/share/doc/vim/html/arabic.html is in vim-doc 2:8.0.1453-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 | <HTML>
<HEAD>
<META HTTP-EQUIV="Content-type" content="text/html; charset=ISO-8859-1">
<TITLE>Vim documentation: arabic</TITLE>
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>Vim documentation: arabic</H1>
<A NAME="top"></A>
<A HREF="index.html">main help file</A>
<HR>
<PRE>
*<A NAME="arabic.txt"></A><B>arabic.txt</B>* For Vim version 8.0. Last change: 2010 Nov 13
VIM REFERENCE MANUAL by Nadim Shaikli
<A HREF="#Arabic">Arabic</A> Language support (options <A HREF="change.html#&">&</A> mappings) for Vim *<A NAME="Arabic"></A><B>Arabic</B>*
{Vi does not have any of these commands}
*<A NAME="E800"></A><B>E800</B>*
In order to use right-to-left and <A HREF="#Arabic">Arabic</A> <A HREF="map.html#mapping">mapping</A> support, <A HREF="motion.html#it">it</A> is
necessary to compile Vim with the |<A HREF="various.html#+arabic">+arabic</A>| feature.
These <A HREF="eval.html#functions">functions</A> have been created by Nadim Shaikli <nadim-at-arabeyes.org>
It is best to <A HREF="starting.html#view">view</A> this file with these settings within Vim's <A HREF="gui.html#GUI">GUI</A>:
<B> :set encoding=utf-8</B>
<B> :set arabicshape</B>
Introduction
<A HREF="#Arabic">Arabic</A> is a rather demanding language in which a number of special
features are required. Characters are right-to-left oriented and
ought to appear <A HREF="motion.html#as">as</A> such on the screen (i.e. from right to left).
<A HREF="#Arabic">Arabic</A> also requires shaping of its characters, meaning the same
character has a different visual form based on its relative location
within a <A HREF="motion.html#word">word</A> (initial, medial, final or stand-alone). <A HREF="#Arabic">Arabic</A> also
requires two different forms of combining and the ability, in
certain instances, to either superimpose up to two characters on top
of another (composing) or the actual substitution of two characters
into one (combining). Lastly, to display <A HREF="#Arabic">Arabic</A> properly one will
require not only ISO-8859-6 (U+0600-U+06FF) fonts, but will also
require Presentation Form-B (U+FE70-U+FEFF) fonts both of which are
subsets within a so-called ISO-10646-1 font.
The commands, prompts and help files are not in <A HREF="#Arabic">Arabic</A>, therefore
the user interface remains the standard <A HREF="intro.html#Vi">Vi</A> interface.
Highlights
<A HREF="insert.html#o">o</A> Editing left-to-right files <A HREF="motion.html#as">as</A> in the original Vim hasn't changed.
<A HREF="insert.html#o">o</A> Viewing and editing files in right-to-left <A HREF="windows.html#windows">windows</A>. File
orientation is per <A HREF="windows.html#window">window</A>, so <A HREF="motion.html#it">it</A> is possible to <A HREF="starting.html#view">view</A> the same
file in right-to-left and left-to-right modes, simultaneously.
<A HREF="insert.html#o">o</A> No special <A HREF="terminal.html#terminal">terminal</A> with right-to-left capabilities is required.
The right-to-left changes are completely hardware independent.
Only <A HREF="#Arabic">Arabic</A> fonts are necessary.
<A HREF="insert.html#o">o</A> Compatible with the original Vim. Almost all features work in
right-to-left mode (there are liable to be bugs).
<A HREF="insert.html#o">o</A> Changing keyboard <A HREF="map.html#mapping">mapping</A> and reverse insert modes using a single
command.
<A HREF="insert.html#o">o</A> Toggling complete <A HREF="#Arabic">Arabic</A> support via a single command.
<A HREF="insert.html#o">o</A> While in <A HREF="#Arabic">Arabic</A> mode, numbers are entered from left to right. Upon
entering a none number character, that character will be inserted
just into the left of the last number.
<A HREF="insert.html#o">o</A> <A HREF="#Arabic">Arabic</A> keymapping on the command line in reverse insert mode.
<A HREF="insert.html#o">o</A> Proper Bidirectional functionality is possible given Vim is
started within a Bidi capable <A HREF="terminal.html#terminal">terminal</A> emulator.
<A HREF="#Arabic">Arabic</A> Fonts *<A NAME="arabicfonts"></A><B>arabicfonts</B>*
Vim requires monospaced fonts of which there are many out there.
<A HREF="#Arabic">Arabic</A> requires ISO-8859-6 <A HREF="motion.html#as">as</A> well <A HREF="motion.html#as">as</A> Presentation Form-B fonts
(without Form-B, <A HREF="#Arabic">Arabic</A> will _NOT_ be usable). It is highly
recommended that users search for so-called 'ISO-10646-1' fonts.
Do an Internet search or check www.arabeyes.org for further
info on where to attain the necessary <A HREF="#Arabic">Arabic</A> fonts.
Font Installation
<A HREF="insert.html#o">o</A> Installation of fonts for X Window systems (Unix/Linux)
Depending on your system, copy your_ARABIC_FONT file into a
directory of your choice. Change to the directory containing
the <A HREF="#Arabic">Arabic</A> fonts and execute the following commands:
<A HREF="motion.html#%">%</A> mkfontdir
<A HREF="motion.html#%">%</A> xset +fp path_name_of_arabic_fonts_directory
Usage
Prior to the actual usage of <A HREF="#Arabic">Arabic</A> within Vim, a number of settings
need to be accounted for and invoked.
<A HREF="insert.html#o">o</A> Setting the <A HREF="#Arabic">Arabic</A> fonts
+ For Vim <A HREF="gui.html#GUI">GUI</A> set the <A HREF="options.html#'guifont'">'guifont'</A> to your_ARABIC_FONT. This is done
by entering the following command in the Vim <A HREF="windows.html#window">window</A>.
<B> :set guifont=your_ARABIC_FONT</B>
NOTE: the <A HREF="eval.html#string">string</A> 'your_ARABIC_FONT' is used to denote a complete
font name akin to that used in Linux/Unix systems.
(e.g. -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1)
You can append the <A HREF="options.html#'guifont'">'guifont'</A> set command to your <A HREF="starting.html#.vimrc">.vimrc</A> file
in order to get the same above noted results. In other words,
you can include ':set guifont=your_ARABIC_FONT' to your <A HREF="starting.html#.vimrc">.vimrc</A>
file.
+ Under the X Window environment, you can also start Vim with
'-fn your_ARABIC_FONT' option.
<A HREF="insert.html#o">o</A> Setting the appropriate character Encoding
To enable the correct <A HREF="#Arabic">Arabic</A> encoding the following command needs
to be appended,
<B> :set encoding=utf-8</B>
to your <A HREF="starting.html#.vimrc">.vimrc</A> file (entering the command manually into you Vim
<A HREF="windows.html#window">window</A> is highly discouraged). In short, include ':set
encoding=utf-8' to your <A HREF="starting.html#.vimrc">.vimrc</A> file.
Attempts to use <A HREF="#Arabic">Arabic</A> without <A HREF="mbyte.html#UTF-8">UTF-8</A> will result the following
warning message,
*<A NAME="W17"></A><B>W17</B>*
<B> Arabic requires UTF-8, do ':set encoding=utf-8'</B>
<A HREF="insert.html#o">o</A> Enable <A HREF="#Arabic">Arabic</A> settings [short-cut]
In order to simplify and streamline things, you can either invoke
Vim with the command-line option,
<A HREF="motion.html#%">%</A> vim <A HREF="starting.html#-A">-A</A> my_utf8_arabic_file <A HREF="eval.html#...">...</A>
or enable <A HREF="options.html#'arabic'">'arabic'</A> via the following command within Vim
<B> :set arabic</B>
The two above noted possible invocations are the preferred manner
in which users are instructed to proceed. Barring an enabled <A HREF="options.html#'termbidi'">'termbidi'</A>
setting, both command <A HREF="options.html#options">options</A>:
1. set the appropriate keymap
2. enable the deletion of a single combined pair character
3. enable rightleft mode
4. enable rightleftcmd mode (affecting the command-line)
5. enable arabicshape mode (do visual character alterations)
You may also append the command to your <A HREF="starting.html#.vimrc">.vimrc</A> file and simply
include ':set arabic' to <A HREF="motion.html#it">it</A>.
You are also capable of disabling <A HREF="#Arabic">Arabic</A> support via
<B> :set noarabic</B>
which resets everything that the command had enabled without touching
the global settings <A HREF="motion.html#as">as</A> they could affect other possible open <A HREF="windows.html#buffers">buffers</A>.
In short the <A HREF="options.html#'noarabic'">'noarabic'</A> command,
1. resets to the alternate keymap
2. disables the deletion of a single combined pair character
3. disables rightleft mode
NOTE: the <A HREF="options.html#'arabic'">'arabic'</A> command takes into consideration <A HREF="options.html#'termbidi'">'termbidi'</A> for
possible external bi-directional (bidi) support from the
<A HREF="terminal.html#terminal">terminal</A> ("mlterm" for instance offers such support).
<A HREF="options.html#'termbidi'">'termbidi'</A>, if available, is superior to rightleft support
and its support is preferred due to its level of offerings.
<A HREF="options.html#'arabic'">'arabic'</A> when <A HREF="options.html#'termbidi'">'termbidi'</A> is enabled only sets the keymap.
If, on the other hand, you'd like to be <A HREF="starting.html#verbose">verbose</A> and explicit and
are opting not to use the <A HREF="options.html#'arabic'">'arabic'</A> short-cut command, here's what
is needed (i.e. if you use ':set arabic' you can skip this section) -
+ <A HREF="#Arabic">Arabic</A> Keymapping Activation
To activate the <A HREF="#Arabic">Arabic</A> keymap (i.e. to remap your English/Latin
keyboard to look-n-feel like a standard <A HREF="#Arabic">Arabic</A> one), set the
<A HREF="options.html#'keymap'">'keymap'</A> command to "arabic". This is done by entering
<B> :set keymap=arabic</B>
in your Vim <A HREF="windows.html#window">window</A>. You can also append the <A HREF="options.html#'keymap'">'keymap'</A> set command to
your <A HREF="starting.html#.vimrc">.vimrc</A> file. In other words, you can include ':set keymap=arabic'
to your <A HREF="starting.html#.vimrc">.vimrc</A> file.
To turn toggle (or switch) your keymapping between <A HREF="#Arabic">Arabic</A> and the
default <A HREF="map.html#mapping">mapping</A> (English), <A HREF="motion.html#it">it</A> is advised that users use the '<A HREF="editing.html#CTRL-^">CTRL-^</A>'
key press while in insert (or add/replace) mode. The command-line
will display your current <A HREF="map.html#mapping">mapping</A> by displaying an "<A HREF="#Arabic">Arabic</A>" <A HREF="eval.html#string">string</A>
next to your insertion mode (e.g. <A HREF="starting.html#--">--</A> INSERT <A HREF="#Arabic">Arabic</A> <A HREF="starting.html#--">--</A>) indicating
your current keymap.
+ <A HREF="#Arabic">Arabic</A> deletion of a combined pair character
By default Vim has the <A HREF="options.html#'delcombine'">'delcombine'</A> option disabled. This option
allows the deletion of ALEF in a LAM_ALEF (LAA) combined character
and still retain the LAM (i.e. <A HREF="motion.html#it">it</A> reverts to treating the combined
character <A HREF="motion.html#as">as</A> its natural two characters form <A HREF="starting.html#--">--</A> this also pertains
to harakat and their combined forms). You can enable this option
by entering
<B> :set delcombine</B>
in our Vim <A HREF="windows.html#window">window</A>. You can also append the <A HREF="options.html#'delcombine'">'delcombine'</A> set command
to your <A HREF="starting.html#.vimrc">.vimrc</A> file. In other words, you can include ':set delcombine'
to your <A HREF="starting.html#.vimrc">.vimrc</A> file.
+ <A HREF="#Arabic">Arabic</A> right-to-left Mode
By default Vim starts in Left-to-right mode. <A HREF="options.html#'rightleft'">'rightleft'</A> is the
command that allows one to alter a window's orientation - that can
be accomplished via,
- Toggling between left-to-right and right-to-left modes is
accomplished through ':set rightleft' and ':set norightleft'.
- While in Left-to-right mode, enter ':set rl' in the command line
('rl' is the abbreviation for rightleft).
- Put the ':set rl' line in your '<A HREF="starting.html#.vimrc">.vimrc</A>' file to start Vim in
right-to-left mode permanently.
+ <A HREF="#Arabic">Arabic</A> right-to-left command-line Mode
For certain commands the editing can be done in right-to-left mode.
Currently this is only applicable to search commands.
This is controlled with the <A HREF="options.html#'rightleftcmd'">'rightleftcmd'</A> option. The default is
"search", which means that <A HREF="windows.html#windows">windows</A> in which <A HREF="options.html#'rightleft'">'rightleft'</A> is set will
edit search commands in right-left mode. To disable this behavior,
<B> :set rightleftcmd=</B>
To enable right-left editing of search commands again,
<B> :set rightleftcmd&</B>
+ <A HREF="#Arabic">Arabic</A> Shaping Mode
To activate the required visual characters alterations (shaping,
composing, combining) which the <A HREF="#Arabic">Arabic</A> language requires, enable
the <A HREF="options.html#'arabicshape'">'arabicshape'</A> command. This is done by entering
<B> :set arabicshape</B>
in our Vim <A HREF="windows.html#window">window</A>. You can also append the <A HREF="options.html#'arabicshape'">'arabicshape'</A> set
command to your <A HREF="starting.html#.vimrc">.vimrc</A> file. In other words, you can include
':set arabicshape' to your <A HREF="starting.html#.vimrc">.vimrc</A> file.
Keymap/Keyboard *<A NAME="arabickeymap"></A><B>arabickeymap</B>*
The character/letter encoding used in Vim is the standard <A HREF="mbyte.html#UTF-8">UTF-8</A>.
It is widely discouraged that any other encoding be used or even
attempted.
Note: <A HREF="mbyte.html#UTF-8">UTF-8</A> is an all encompassing encoding and <A HREF="motion.html#as">as</A> such is
the only supported (and encouraged) encoding with
regard to <A HREF="#Arabic">Arabic</A> (all other proprietary encodings
should be discouraged and frowned upon).
<A HREF="insert.html#o">o</A> Keyboard
+ <A HREF="editing.html#CTRL-^">CTRL-^</A> in insert/replace mode toggles between Arabic/Latin mode
+ Keyboard <A HREF="map.html#mapping">mapping</A> is based on the Microsoft's <A HREF="#Arabic">Arabic</A> keymap (the
de facto standard in the Arab world):
+---------------------------------------------------------------------+
|! |@ |# |$ |% |^ |& |* |( |) |_ |+ || |~ ّ |
|1 ١ |2 ٢ |3 ٣ |4 ٤ |5 ٥ |6 ٦ |7 ٧ |8 ٨ |9 ٩ |0 ٠ |- |= |\ |` ذ ||||||||||||||||
+---------------------------------------------------------------------+
|Q َ |W ً |E ُ |R ٌ |T لإ |Y إ |U ` |I ÷ |O x |P ؛ |{ < |} > ||||||||||||||
|q ض |w ص |e ث |r ق |t ف |y غ |u ع |i ه |o خ |p ح |[ ج |] د ||||||||||||||
+-----------------------------------------------------------+
|A ِ |S ٍ |D [ |F ] |G لأ |H أ |J ـ |K ، |L / |: |" |
|a ش |s س |d ي |f ب |g ل |h ا |j ت |k ن |l م |; ك |' ط |
+------------------------------------------------------+
|Z ~ |X ْ |C { |V } |B لآ |N آ |M ' |< , |> . |? ؟ ||||||||||||
|z ئ |x ء |c ؤ |v ر |b لا |n ى |m ة |, و |. ز |/ ظ ||||||||||||
+-------------------------------------------------+
Restrictions
<A HREF="insert.html#o">o</A> Vim in its <A HREF="gui.html#GUI">GUI</A> form does not currently support Bi-directionality
(i.e. the ability to see both <A HREF="#Arabic">Arabic</A> and Latin intermixed within
the same line).
Known Bugs
There is one known minor bug,
1. If you insert a haraka (e.g. Fatha (U+064E)) after a LAM (U+0644)
and then insert an ALEF (U+0627), the appropriate combining will
not happen due to the sandwiched haraka resulting in something
that will NOT be displayed correctly.
WORK-AROUND: Don't include harakats between LAM and ALEF combos.
In general, don't anticipate to see correct visual
representation with regard to harakats and LAM+ALEF
combined characters (even those entered after both
characters). The problem noted is strictly a visual
one, meaning saving such a file will contain all the
appropriate info/encodings - nothing is lost.
No other bugs are known to exist.
<A HREF="#top">top</A> - <A HREF="index.html">main help file</A>
</PRE>
</BODY>
</HTML>
|