annotate runtime/doc/arabic.txt @ 20510:3d9a2c8d4f95 v8.2.0809

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