Mercurial > vim
annotate runtime/doc/farsi.txt @ 7368:adc796ba7dda v7.4.989
commit https://github.com/vim/vim/commit/0107f5ba87ca9427500d0fc42ec80a1f3fca9fdb
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Dec 28 22:51:20 2015 +0100
patch 7.4.989
Problem: Leaking memory when hash_add() fails. Coverity error 99126.
Solution: When hash_add() fails free the memory.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Mon, 28 Dec 2015 23:00:04 +0100 |
parents | f717d96a39b3 |
children | 9f48eab77d62 |
rev | line source |
---|---|
7100
f717d96a39b3
commit https://github.com/vim/vim/commit/12969c04fe7bd27dc0cbf37709eb40a86d4a27f9
Christian Brabandt <cb@256bit.org>
parents:
6530
diff
changeset
|
1 *farsi.txt* For Vim version 7.4. Last change: 2015 Aug 29 |
7 | 2 |
3 | |
4 VIM REFERENCE MANUAL by Mortaza Ghassab Shiran | |
5 | |
6 | |
7 Right to Left and Farsi Mapping for Vim *farsi* *Farsi* | |
8 | |
9 {Vi does not have any of these commands} | |
10 | |
11 *E27* | |
12 In order to use right-to-left and Farsi mapping support, it is necessary to | |
13 compile Vim with the |+farsi| feature. | |
14 | |
15 These functions have been made by Mortaza G. Shiran <shiran@jps.net> | |
16 | |
17 | |
18 Introduction | |
19 ------------ | |
20 In right-to-left oriented files the characters appear on the screen from right | |
21 to left. This kind of file is most useful when writing Farsi documents, | |
22 composing faxes or writing Farsi memos. | |
23 | |
24 The commands, prompts and help files are not in Farsi, therefore the user | |
25 interface remains the standard Vi interface. | |
26 | |
27 | |
28 Highlights | |
29 ---------- | |
30 o Editing left-to-right files as in the original Vim, no change. | |
31 | |
32 o Viewing and editing files in right-to-left windows. File orientation is | |
33 per window, so it is possible to view the same file in right-to-left and | |
34 left-to-right modes, simultaneously. | |
35 | |
36 o Compatibility to the original Vim. Almost all features work in | |
37 right-to-left mode (see bugs below). | |
38 | |
39 o Changing keyboard mapping and reverse insert modes using a single | |
40 command. | |
41 | |
42 o Backing from reverse insert mode to the correct place in the file | |
43 (if possible). | |
44 | |
237 | 45 o While in Farsi mode, numbers are entered from left to right. Upon entering |
7 | 46 a none number character, that character will be inserted just into the |
47 left of the last number. | |
48 | |
49 o No special terminal with right-to-left capabilities is required. The | |
50 right-to-left changes are completely hardware independent. Only | |
51 Farsi font is necessary. | |
52 | |
53 o Farsi keymapping on the command line in reverse insert mode. | |
54 | |
55 o Toggling between left-to-right and right-to-left via F8 function key. | |
56 | |
237 | 57 o Toggling between Farsi ISIR-3342 standard encoding and Vim Farsi via F9 |
58 function key. Since this makes sense only for the text written in | |
7 | 59 right-to-left mode, this function is also supported only in right-to-left |
60 mode. | |
61 | |
7100
f717d96a39b3
commit https://github.com/vim/vim/commit/12969c04fe7bd27dc0cbf37709eb40a86d4a27f9
Christian Brabandt <cb@256bit.org>
parents:
6530
diff
changeset
|
62 Farsi Fonts *farsi-fonts* |
7 | 63 ----------- |
64 | |
2502
e6420d275b6a
Update README files. Remove references to extra and lang archives.
Bram Moolenaar <bram@vim.org>
parents:
2490
diff
changeset
|
65 The following files are found in the subdirectories of the '$VIM/farsi/fonts' |
e6420d275b6a
Update README files. Remove references to extra and lang archives.
Bram Moolenaar <bram@vim.org>
parents:
2490
diff
changeset
|
66 directory: |
7 | 67 |
68 + far-a01.pcf X Windows fonts for Unix including Linux systems | |
9 | 69 + far-a01.bf X Windows fonts for SunOS |
7 | 70 + far-a01.f16 a screen fonts for Unix including Linux systems |
71 + far-a01.fon a monospaced fonts for Windows NT/95/98 | |
72 + far-a01.com a screen fonts for DOS | |
73 | |
74 | |
75 Font Installation | |
76 ----------------- | |
77 | |
78 o Installation of fonts for MS Window systems (NT/95/98) | |
79 | |
237 | 80 From 'Control Panel' folder, start the 'Fonts' program. Then from 'file' |
81 menu item select 'Install New Fonts ...'. Browse and select the | |
7 | 82 'far-a01.fon', then follow the installation guide. |
83 NOTE: several people have reported that this does not work. The solution | |
84 is unknown. | |
85 | |
86 o Installation of fonts for X Window systems (Unix/Linux) | |
87 | |
88 Depending on your system, copy far-a01.pcf.Z or far-a01.pcf.gz into a | |
89 directory of your choice. Change to the directory containing the Farsi | |
90 fonts and execute the following commands: | |
91 | |
92 > mkfontdir | |
93 > xset +fp path_name_of_farsi_fonts_directory | |
94 | |
9 | 95 o Installation of fonts for X Window systems (SunOS) |
7 | 96 |
97 Copy far-a01.bf font into a directory of your choice. | |
98 Change to the directory containing the far-a01.fb fonts and | |
99 execute the following commands: | |
100 | |
101 > fldfamily | |
102 > xset +fp path_name_of_fonts_directory | |
103 | |
104 o Installation of ASCII screen fonts (Unix/Linux) | |
105 | |
106 For Linux system, copy the far-a01.f16 fonts into /usr/lib/kbd/consolefonts | |
237 | 107 directory and execute the setfont program as "setfont far-a01.f16". For |
7 | 108 other systems (e.g. SCO Unix), please refer to the fonts installation |
109 section of your system administration manuals. | |
110 | |
111 o Installation of ASCII screen fonts (DOS) | |
112 | |
237 | 113 After system power on, prior to the first use of Vim, upload the Farsi |
7 | 114 fonts by executing the far-a01.com font uploading program. |
115 | |
116 | |
117 Usage | |
118 ----- | |
237 | 119 Prior to starting Vim, the environment in which Vim can run in Farsi mode, |
7 | 120 must be set. In addition to installation of Farsi fonts, following points |
121 refer to some of the system environments, which you may need to set: | |
122 Key code mapping, loading graphic card in ASCII screen mode, setting the IO | |
123 driver in 8 bit clean mode ... . | |
124 | |
125 o Setting the Farsi fonts | |
126 | |
237 | 127 + For Vim GUI set the 'guifont' to far-a01. This is done by entering |
128 ':set guifont=far-a01' in the Vim window. | |
7 | 129 |
237 | 130 You can have 'guifont' set to far-a01 by Vim during the Vim startup |
7 | 131 by appending the ':set guifont=far-a01' into your .vimrc file |
132 (in case of NT/95/98 platforms _vimrc). | |
133 | |
237 | 134 Under the X Window environment, you can also start Vim with the |
7 | 135 '-fn far-a01' option. |
136 | |
237 | 137 + For Vim within a xterm, start a xterm with the Farsi fonts (e.g. |
138 kterm -fn far-a01). Then start Vim inside the kterm. | |
7 | 139 |
237 | 140 + For Vim under DOS, prior to the first usage of Vim, upload the Farsi |
7 | 141 fonts by executing the far-a01.com fonts uploading program. |
142 | |
143 o Farsi Keymapping Activation | |
144 | |
145 To activate the Farsi keymapping, set either 'altkeymap' or 'fkmap'. | |
237 | 146 This is done by entering ':set akm' or ':set fk' in the Vim window. |
7 | 147 You can have 'altkeymap' or 'fkmap' set as default by appending ':set akm' |
148 or ':set fk' in your .vimrc file or _vimrc in case of NT/95/98 platforms. | |
149 | |
150 To turn off the Farsi keymapping as a default second language keymapping, | |
151 reset the 'altkeymap' by entering ':set noakm'. | |
152 | |
153 o right-to-left Farsi Mode | |
154 | |
237 | 155 By default Vim starts in Left-to-right mode. Following are ways to change |
7 | 156 the window orientation: |
157 | |
237 | 158 + Start Vim with the -F option (e.g. vim -F ...). |
7 | 159 |
237 | 160 + Use the F8 function key to toggle between left-to-right and right-to-left. |
7 | 161 |
162 + While in Left-to-right mode, enter 'set rl' in the command line ('rl' is | |
163 the abbreviation for rightleft). | |
164 | |
237 | 165 + Put the 'set rl' line in your '.vimrc' file to start Vim in |
7 | 166 right-to-left mode permanently. |
167 | |
168 Encoding | |
169 -------- | |
170 | |
237 | 171 The letter encoding used is the Vim extended ISIR-3342 standard with a built |
172 in function to convert between Vim extended ISIR-3342 and ISIR-3342 standard. | |
7 | 173 |
174 For document portability reasons, the letter encoding is kept the same across | |
175 different platforms (i.e. UNIX's, NT/95/98, MS DOS, ...). | |
176 | |
177 | |
178 o Keyboard | |
179 | |
180 + CTRL-_ in insert/replace modes toggles between Farsi(akm)/Latin | |
181 mode as follows: | |
182 | |
183 + CTRL-_ moves the cursor to the end of the typed text in edit mode. | |
184 | |
185 + CTRL-_ in command mode only toggles keyboard mapping between Farsi(akm)/ | |
237 | 186 Latin. The Farsi text is then entered in reverse insert mode. |
7 | 187 |
188 + F8 - Toggles between left-to-right and right-to-left. | |
189 | |
237 | 190 + F9 - Toggles the encoding between ISIR-3342 standard and Vim extended |
7 | 191 ISIR-3342 (supported only in right-to-left mode). |
192 | |
193 + Keyboard mapping is based on the Iranian ISIRI-2901 standard. | |
194 Following table shows the keyboard mapping while Farsi(akm) mode set: | |
195 | |
196 ------------------------------------- | |
197 ` 1 2 3 4 5 6 7 8 9 0 - = | |
198 ¢ ± ² ³ ´ µ ¶ · ¸ ¹ ° ½ | |
199 ------------------------------------- | |
200 ~ ! @ # $ % ^ & * ( ) _ + | |
201 ~ £ § ® ¤ ¥ ª ¬ è ¨ © é « | |
202 ------------------------------------- | |
203 q w e r t z u i o p [ ] | |
204 Ó Ò Æ Ù Ø Õ Ö à Ê É Ç ˆ | |
205 ------------------------------------- | |
206 Q W E R T Z U I O P { } | |
207 ÷ õ ô ó ò ý ð ö [ ] { } | |
208 ------------------------------------- | |
209 a s d f g h j k l ; ' \ | |
210 Ñ Ð á Ã Ü Á Å Þ Ý Ú Û ë | |
211 ------------------------------------- | |
212 A S D F G H J K L : " | | |
213 ù û þ ú ø À ü æ ç º » ê | |
214 ------------------------------------- | |
215 < y x c v b n m , . / | |
216 ¾ × Ô Î Í Ì Ë Ä ß ¦ ¯ | |
217 ------------------------------------- | |
218 > Y X C V B N M < > ? | |
219 ¼ ñ Ô Ï Í ¡ Ë Â ¾ ¼ ¿ | |
220 ------------------------------------- | |
221 | |
222 Note: | |
223 ¡ stands for Farsi PSP (break without space) | |
224 | |
6530 | 225 ¢ stands for Farsi PCN (for HAMZE attribute) |
7 | 226 |
227 Restrictions | |
228 ------------ | |
229 | |
230 o In insert/replace mode and fkmap (Farsi mode) set, CTRL-B is not | |
231 supported. | |
232 | |
233 o If you change the character mapping between Latin/Farsi, the redo buffer | |
237 | 234 will be reset (emptied). That is, redo is valid and will function (using |
7 | 235 '.') only within the mode you are in. |
236 | |
237 o While numbers are entered in Farsi mode, the redo buffer will be reset | |
237 | 238 (emptied). That is, you cannot redo the last changes (using '.') after |
7 | 239 entering numbers. |
240 | |
237 | 241 o While in left-to-right mode and Farsi mode set, CTRL-R is not supported. |
7 | 242 |
243 o While in right-to-left mode, the search on 'Latin' pattern does not work, | |
244 except if you enter the Latin search pattern in reverse. | |
245 | |
237 | 246 o In command mode there is no support for entering numbers from left |
247 to right and also for the sake of flexibility the keymapping logic is | |
7 | 248 restricted. |
249 | |
237 | 250 o Under the X Window environment, if you want to run Vim within a xterm |
7 | 251 terminal emulator and Farsi mode set, you need to have an ANSI compatible |
237 | 252 xterm terminal emulator. This is because the letter codes above 128 decimal |
7 | 253 have certain meanings in the standard xterm terminal emulator. |
254 | |
237 | 255 Note: Under X Window environment, Vim GUI works fine in Farsi mode. |
7 | 256 This eliminates the need of any xterm terminal emulator. |
257 | |
258 | |
259 Bugs | |
260 ---- | |
261 While in insert/replace and Farsi mode set, if you repeatedly change the | |
262 cursor position (via cursor movement) and enter new text and then try to undo | |
263 the last change, the undo will lag one change behind. But as you continue to | |
237 | 264 undo, you will reach the original line of text. You can also use U to undo all |
7 | 265 changes made in the current line. |
266 | |
267 For more information about the bugs refer to rileft.txt. | |
268 | |
269 vim:tw=78:ts=8:ft=help:norl: |