annotate runtime/doc/arabic.txt @ 11177:76fb679a310e v8.0.0475

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