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