annotate runtime/doc/hebrew.txt @ 6999:dc1b678f0e4e v7.4.817

patch 7.4.817 Problem: Invalid memory access in file_pat_to_reg_pat(). Solution: Use vim_isspace() instead of checking for a space only. (Dominique Pelle)
author Bram Moolenaar <bram@vim.org>
date Tue, 11 Aug 2015 16:20:05 +0200
parents 359743c1f59a
children 9f48eab77d62
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5294
359743c1f59a release version 7.4
Bram Moolenaar <bram@vim.org>
parents: 5247
diff changeset
1 *hebrew.txt* For Vim version 7.4. Last change: 2007 Jun 14
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 Ron Aaron (and Avner Lottem)
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 Hebrew Language support (options & mapping) for Vim *hebrew*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9 The supporting 'rightleft' functionality was originally created by Avner
1623
53938adac247 updated for version 7.2a
vimboss
parents: 1270
diff changeset
10 Lottem. <alottem at gmail dot com> Ron Aaron <ron at ronware dot org> is
53938adac247 updated for version 7.2a
vimboss
parents: 1270
diff changeset
11 currently helping support these features.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 {Vi does not have any of these commands}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15 All this is only available when the |+rightleft| feature was enabled at
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 compile time.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19 Introduction
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20 ------------
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21 Hebrew-specific options are 'hkmap', 'hkmapp' 'keymap'=hebrew and 'aleph'.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22 Hebrew-useful options are 'delcombine', 'allowrevins', 'revins', 'rightleft'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23 and 'rightleftcmd'.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25 The 'rightleft' mode reverses the display order, so characters are displayed
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 from right to left instead of the usual left to right. This is useful
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27 primarily when editing Hebrew or other Middle-Eastern languages.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28 See |rileft.txt| for further details.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30 Details
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31 --------------
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32 + Options:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33 + 'rightleft' ('rl') sets window orientation to right-to-left. This means
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34 that the logical text 'ABC' will be displayed as 'CBA', and will start
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35 drawing at the right edge of the window, not the left edge.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
36 + 'hkmap' ('hk') sets keyboard mapping to Hebrew, in insert/replace modes.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
37 + 'aleph' ('al'), numeric, holds the decimal code of Aleph, for keyboard
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
38 mapping.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
39 + 'hkmapp' ('hkp') sets keyboard mapping to 'phonetic hebrew'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
40
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
41 NOTE: these three ('hkmap', 'hkmapp' and 'aleph') are obsolete. You should
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42 use ":set keymap=hebrewp" instead.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44 + 'delcombine' ('deco'), boolean, if editing UTF-8 encoded Hebrew, allows
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45 one to remove the niqud or te`amim by pressing 'x' on a character (with
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
46 associated niqud).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48 + 'rightleftcmd' ('rlc') makes the command-prompt for searches show up on
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49 the right side. It only takes effect if the window is 'rightleft'.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
50
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
51 + Encoding:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
52 + Under Unix, ISO 8859-8 encoding (Hebrew letters codes: 224-250).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
53 + Under MS DOS, PC encoding (Hebrew letters codes: 128-154).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
54 These are defaults, that can be overridden using the 'aleph' option.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
55 + You should prefer using UTF8, as it supports the combining-characters
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
56 ('deco' does nothing if UTF8 encoding is not active).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
57
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
58 + Vim arguments:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
59 + 'vim -H file' starts editing a Hebrew file, i.e. 'rightleft' and 'hkmap'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
60 are set.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
61
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
62 + Keyboard:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
63 + The 'allowrevins' option enables the CTRL-_ command in Insert mode and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
64 in Command-line mode.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
65
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
66 + CTRL-_ in insert/replace modes toggles 'revins' and 'hkmap' as follows:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
67
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
68 When in rightleft window, 'revins' and 'nohkmap' are toggled, since
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
69 English will likely be inserted in this case.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
70
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
71 When in norightleft window, 'revins' 'hkmap' are toggled, since Hebrew
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
72 will likely be inserted in this case.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
73
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
74 CTRL-_ moves the cursor to the end of the typed text.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
75
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
76 + CTRL-_ in command mode only toggles keyboard mapping (see Bugs below).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
77 This setting is independent of 'hkmap' option, which only applies to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
78 insert/replace mode.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
79
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
80 Note: On some keyboards, CTRL-_ is mapped to CTRL-?.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
81
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
82 + Keyboard mapping while 'hkmap' is set (standard Israeli keyboard):
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
83
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
84 q w e r t y u i o p
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 a s d f g h j k l ; '
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
88 ש ד ג כ ע י ח ל ך ף ,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
89
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
90 z x c v b n m , . /
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
91 ז ס ב ה נ מ צ ת ץ .
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
92
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
93 This is also the keymap when 'keymap=hebrew' is set. The advantage of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
94 'keymap' is that it works properly when using UTF8, e.g. it inserts the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
95 correct characters; 'hkmap' does not. The 'keymap' keyboard can also
3830
04592728474a Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2577
diff changeset
96 insert niqud and te`amim. To see what those mappings are, look at the
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
97 keymap file 'hebrew.vim' etc.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
98
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
99
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
100 Typing backwards
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
101
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
102 If the 'revins' (reverse insert) option is set, inserting happens backwards.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
103 This can be used to type Hebrew. When inserting characters the cursor is not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
104 moved and the text moves rightwards. A <BS> deletes the character under the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
105 cursor. CTRL-W and CTRL-U also work in the opposite direction. <BS>, CTRL-W
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
106 and CTRL-U do not stop at the start of insert or end of line, no matter how
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
107 the 'backspace' option is set.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
108
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
109 There is no reverse replace mode (yet).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
110
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
111 If the 'showmode' option is set, "-- REVERSE INSERT --" will be shown in the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
112 status line when reverse Insert mode is active.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
113
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
114 When the 'allowrevins' option is set, reverse Insert mode can be also entered
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
115 via CTRL-_, which has some extra functionality: First, keyboard mapping is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
116 changed according to the window orientation -- if in a left-to-right window,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
117 'revins' is used to enter Hebrew text, so the keyboard changes to Hebrew
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
118 ('hkmap' is set); if in a right-to-left window, 'revins' is used to enter
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
119 English text, so the keyboard changes to English ('hkmap' is reset). Second,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
120 when exiting 'revins' via CTRL-_, the cursor moves to the end of the typed
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
121 text (if possible).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
122
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
123
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
124 Pasting when in a rightleft window
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
125 ----------------------------------
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
126 When cutting text with the mouse and pasting it in a rightleft window
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
127 the text will be reversed, because the characters come from the cut buffer
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
128 from the left to the right, while inserted in the file from the right to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
129 the left. In order to avoid it, toggle 'revins' (by typing CTRL-? or CTRL-_)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
130 before pasting.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
131
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
132
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
133 Hebrew characters and the 'isprint' variable
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
134 --------------------------------------------
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
135 Sometimes Hebrew character codes are in the non-printable range defined by
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
136 the 'isprint' variable. For example in the Linux console, the Hebrew font
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
137 encoding starts from 128, while the default 'isprint' variable is @,161-255.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
138 The result is that all Hebrew characters are displayed as ~x. To solve this
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
139 problem, set isprint=@,128-255.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
140
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
141
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
142 vim:tw=78:ts=8:ft=help:norl: