annotate runtime/doc/rileft.txt @ 32248:8e2ecfebd136 v9.0.1455

patch 9.0.1455: C++ 20 modules are not recognized Commit: https://github.com/vim/vim/commit/732d69e1918b28ad0fe16eb9bc5a776c7958122b Author: Ben Jackson <puremourning@gmail.com> Date: Sat Apr 15 18:17:17 2023 +0100 patch 9.0.1455: C++ 20 modules are not recognized Problem: C++ 20 modules are not recognized. Solution: Add patterns to recognize C++ 20 modules as "cpp". (Ben Jackson, closes #12261)
author Bram Moolenaar <Bram@vim.org>
date Sat, 15 Apr 2023 19:30:03 +0200
parents 3295247d97a5
children 4635e43f2c6f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
30875
3295247d97a5 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 30789
diff changeset
1 *rileft.txt* For Vim version 9.0. Last change: 2022 Oct 12
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 Avner Lottem
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5 updated by Nadim Shaikli
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8 Right to Left display mode for Vim *rileft*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11 These functions were originally created by Avner Lottem:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12 E-mail: alottem@iil.intel.com
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 Phone: +972-4-8307322
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15 *E26*
2570
71b56b4e7785 Make the references to features in the help more consistent. (Sylvain Hitier)
Bram Moolenaar <bram@vim.org>
parents: 2561
diff changeset
16 {only available when compiled with the |+rightleft| feature}
7
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 Some languages such as Arabic, Farsi, Hebrew (among others) require the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22 ability to display their text from right-to-left. Files in those languages
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23 are stored conventionally and the right-to-left requirement is only a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 function of the display engine (per the Unicode specification). In
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25 right-to-left oriented files the characters appear on the screen from
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 right to left.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28 Bidirectionality (or bidi for short) is what Unicode offers as a full
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29 solution to these languages. Bidi offers the user the ability to view
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30 both right-to-left as well as left-to-right text properly at the same time
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31 within the same window. Vim currently, due to simplicity, does not offer
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32 bidi and is merely opting to present a functional means to display/enter/use
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33 right-to-left languages. An older hybrid solution in which direction is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34 encoded for every character (or group of characters) are not supported either
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35 as this kind of support is out of the scope of a simple addition to an
236
4707450c2b33 updated for version 7.0066
vimboss
parents: 7
diff changeset
36 existing editor (and it's not sanctioned by Unicode either).
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
37
30789
c11da68d1a32 patch 9.0.0729: the rightleft and arabic features are disabled
Bram Moolenaar <Bram@vim.org>
parents: 29314
diff changeset
38 As many people working on the code do not use the right-to-left mode, this
c11da68d1a32 patch 9.0.0729: the rightleft and arabic features are disabled
Bram Moolenaar <Bram@vim.org>
parents: 29314
diff changeset
39 feature may not work in some situations. If you can describe what is wrong
c11da68d1a32 patch 9.0.0729: the rightleft and arabic features are disabled
Bram Moolenaar <Bram@vim.org>
parents: 29314
diff changeset
40 and how it would work when fixed, please create an issue on github, see
c11da68d1a32 patch 9.0.0729: the rightleft and arabic features are disabled
Bram Moolenaar <Bram@vim.org>
parents: 29314
diff changeset
41 |bug-reports|.
c11da68d1a32 patch 9.0.0729: the rightleft and arabic features are disabled
Bram Moolenaar <Bram@vim.org>
parents: 29314
diff changeset
42
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44 Highlights
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45 ----------
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
46 o Editing left-to-right files as in the original Vim, no change.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48 o Viewing and editing files in right-to-left windows. File orientation
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49 is per window, so it is possible to view the same file in right-to-left
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
50 and left-to-right modes, simultaneously. (Useful for editing mixed files
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
51 in which both right-to-left and left-to-right text exist).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
52
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
53 o Compatibility to the original Vim. Almost all features work in
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
54 right-to-left mode (see Bugs below).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
55
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
56 o Backing from reverse insert mode to the correct place in the file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
57 (if possible).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
58
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
59 o No special terminal with right-to-left capabilities is required. The
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
60 right-to-left changes are completely hardware independent.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
61
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
62 o Many languages use and require right-to-left support. These languages
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
63 can quite easily be supported given the inclusion of their required
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
64 keyboard mappings and some possible minor code change. Some of the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
65 current supported languages include - |arabic.txt|, |farsi.txt| and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
66 |hebrew.txt|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
67
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
68
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
69 Of Interest...
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 o Invocations
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
73 -----------
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
74 + 'rightleft' ('rl') sets window orientation to right-to-left.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
75 + 'delcombine' ('deco'), boolean, if editing UTF-8 encoded languages,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
76 allows one to remove a composing character which gets superimposed
21499
3a1ed539ae2a Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 18879
diff changeset
77 on those that preceded them (some languages require this).
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
78 + 'rightleftcmd' ('rlc') sets the command-line within certain modes
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
79 (such as search) to be utilized in right-to-left orientation as well.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
80
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
81 o Typing backwards *ins-reverse*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
82 ----------------
25056
43593a5d873f Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 21499
diff changeset
83 In lieu of using the full-fledged 'rightleft' option, one can opt for
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
84 reverse insertion. When the 'revins' (reverse insert) option is set,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
85 inserting happens backwards. This can be used to type right-to-left
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
86 text. When inserting characters the cursor is not moved and the text
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
87 moves rightwards. A <BS> deletes the character under the cursor.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
88 CTRL-W and CTRL-U also work in the opposite direction. <BS>, CTRL-W
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
89 and CTRL-U do not stop at the start of insert or end of line, no matter
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
90 how the 'backspace' option is set.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
91
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
92 There is no reverse replace mode (yet).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
93
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
94 If the 'showmode' option is set, "-- REVERSE INSERT --" will be shown
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
95 in the status line when reverse Insert mode is active.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
96
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
97 o Pasting when in a rightleft window
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
98 ----------------------------------
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
99 When cutting text with the mouse and pasting it in a rightleft window
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
100 the text will be reversed, because the characters come from the cut buffer
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
101 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
102 the left. In order to avoid it, toggle 'revins' before pasting.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
103
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
104
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
105 Bugs
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
106 ----
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
107 o Does not handle CTRL-A and CTRL-X commands (add and subtract) correctly
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
108 when in rightleft window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
109
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
110 o Does not support reverse insert and rightleft modes on the command-line.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
111 However, functionality of the editor is not reduced, because it is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
112 possible to enter mappings, abbreviations and searches typed from the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
113 left to the right on the command-line.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
114
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
115 o Somewhat slower in right-to-left mode, because right-to-left motion is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
116 emulated inside Vim, not by the controlling terminal.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
117
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
118 o When both 'rightleft' and 'revins' are on: 'textwidth' does not work.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
119 Lines do not wrap at all; you just get a single, long line.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
120
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
121 o There is no full bidirectionality (bidi) support.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
122
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
123
14421
2f7e67dd088c Update runtime files.
Christian Brabandt <cb@256bit.org>
parents: 13963
diff changeset
124 vim:tw=78:ts=8:noet:ft=help:norl: