neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 6dd6c5b523b11a1316f7c161217bd7b97cdb8b39
parent c06f2f6b380523b93b52600ae23d458eb4c85a7e
Author: Justin M. Keyes <justinkz@gmail.com>
Date:   Tue, 28 Oct 2025 23:15:16 -0400

docs: rename l10n help files #36377


Diffstat:
Druntime/doc/arabic.txt | 327-------------------------------------------------------------------------------
Druntime/doc/hebrew.txt | 113-------------------------------------------------------------------------------
Mruntime/doc/help.txt | 8++++----
Aruntime/doc/l10n-arabic.txt | 327+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aruntime/doc/l10n-hebrew.txt | 113+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aruntime/doc/l10n-russian.txt | 64++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aruntime/doc/l10n-vietnamese.txt | 72++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mruntime/doc/options.txt | 6+++---
Mruntime/doc/rileft.txt | 2+-
Druntime/doc/russian.txt | 64----------------------------------------------------------------
Druntime/doc/vietnamese.txt | 72------------------------------------------------------------------------
Mruntime/lua/vim/_meta/options.lua | 6+++---
Mscripts/vim-patch.sh | 4++++
Msrc/nvim/options.lua | 6+++---
14 files changed, 594 insertions(+), 590 deletions(-)

diff --git a/runtime/doc/arabic.txt b/runtime/doc/arabic.txt @@ -1,327 +0,0 @@ -*arabic.txt* Nvim - - - VIM REFERENCE MANUAL by Nadim Shaikli - - -Arabic Language support (options & mappings) for Vim *Arabic* - -These functions have been created by Nadim Shaikli <nadim-at-arabeyes.org> - -It is best to view this file with these settings within VIM's GUI: > - - :set encoding=utf-8 - :set arabicshape - - ------------------------------------------------------------------------------- -Introduction - -Arabic is a rather demanding language in which a number of special -features are required. Characters are right-to-left oriented and -ought to appear as such on the screen (i.e. from right to left). -Arabic also requires shaping of its characters, meaning the same -character has a different visual form based on its relative location -within a word (initial, medial, final or stand-alone). Arabic also -requires two different forms of combining and the ability, in -certain instances, to either superimpose up to two characters on top -of another (composing) or the actual substitution of two characters -into one (combining). Lastly, to display Arabic properly one will -require not only ISO-8859-6 (U+0600-U+06FF) fonts, but will also -require Presentation Form-B (U+FE70-U+FEFF) fonts both of which are -subsets within a so-called ISO-10646-1 font. - -The commands, prompts and help files are not in Arabic, therefore -the user interface remains the standard Vi interface. - - ------------------------------------------------------------------------------- -Highlights - -o Editing left-to-right files as in the original Vim hasn't changed. - -o Viewing and editing files in right-to-left windows. File - orientation is per window, so it is possible to view the same - file in right-to-left and left-to-right modes, simultaneously. - -o No special terminal with right-to-left capabilities is required. - The right-to-left changes are completely hardware independent. - Only Arabic fonts are necessary. - -o Compatible with the original Vim. Almost all features work in - right-to-left mode (there are liable to be bugs). - -o Changing keyboard mapping and reverse insert modes using a single - command. - -o Toggling complete Arabic support via a single command. - -o While in Arabic mode, numbers are entered from left to right. Upon - entering a none number character, that character will be inserted - just into the left of the last number. - -o Arabic keymapping on the command line in reverse insert mode. - -o Proper Bidirectional functionality is possible given Vim is - started within a Bidi capable terminal emulator. - - ------------------------------------------------------------------------------- -Arabic Fonts *arabicfonts* - -Vim requires monospaced fonts of which there are many out there. -Arabic requires ISO-8859-6 as well as Presentation Form-B fonts -(without Form-B, Arabic will _NOT_ be usable). It is highly -recommended that users search for so-called 'ISO-10646-1' fonts. -Do an Internet search or check www.arabeyes.org for further -info on where to obtain the necessary Arabic fonts. - - ------------------------------------------------------------------------------- -Font Installation - -o Installation of fonts for X Window systems (Unix/Linux) - - Depending on your system, copy your_ARABIC_FONT file into a - directory of your choice. Change to the directory containing - the Arabic fonts and execute the following commands: - - % mkfontdir - % xset +fp path_name_of_arabic_fonts_directory - - ------------------------------------------------------------------------------- -Usage - -Prior to the actual usage of Arabic within Vim, a number of settings -need to be accounted for and invoked. - -o Setting the Arabic fonts - - + For Vim GUI set the 'guifont' to your_ARABIC_FONT. This is done - by entering the following command in the Vim window. -> - :set guifont=your_ARABIC_FONT -< - NOTE: the string 'your_ARABIC_FONT' is used to denote a complete - font name akin to that used in Linux/Unix systems. - (e.g. -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1) - - You can append the 'guifont' set command to your vimrc file - in order to get the same above noted results. In other words, - you can include ':set guifont=your_ARABIC_FONT' to your vimrc - file. - - + Under the X Window environment, you can also start Vim with - '-fn your_ARABIC_FONT' option. - -o Setting the appropriate character Encoding - To enable the correct Arabic encoding the following command needs - to be appended, -> - :set encoding=utf-8 -< - to your vimrc file (entering the command manually into your Vim - window is highly discouraged). In short, include ':set - encoding=utf-8' to your vimrc file. - - Attempts to use Arabic without UTF-8 will result the following - warning message, - - *W17* > - Arabic requires UTF-8, do ':set encoding=utf-8' - -o Enable Arabic settings [short-cut] - - In order to simplify and streamline things, you can either invoke - Vim with the command-line option, - - % vim -A my_utf8_arabic_file ... - - or enable 'arabic' via the following command within Vim -> - :set arabic -< - The two above noted possible invocations are the preferred manner - in which users are instructed to proceed. Barring an enabled 'termbidi' - setting, both command options: - - 1. set the appropriate keymap - 2. enable the deletion of a single combined pair character - 3. enable rightleft mode - 4. enable rightleftcmd mode (affecting the command-line) - 5. enable arabicshape mode (do visual character alterations) - - You may also append the command to your vimrc file and simply - include ':set arabic' to it. - - You are also capable of disabling Arabic support via -> - :set noarabic -< - which resets everything that the command had enabled without touching - the global settings as they could affect other possible open buffers. - In short the 'noarabic' command, - - 1. resets to the alternate keymap - 2. disables the deletion of a single combined pair character - 3. disables rightleft mode - - NOTE: the 'arabic' command takes into consideration 'termbidi' for - possible external bi-directional (bidi) support from the - terminal ("mlterm" for instance offers such support). - 'termbidi', if available, is superior to rightleft support - and its support is preferred due to its level of offerings. - 'arabic' when 'termbidi' is enabled only sets the keymap. - - For vertical window isolation while setting 'termbidi' an LTR - vertical separator like "l" or "𝖨" may be used. It may also be - hidden by changing its color to the foreground color: > - :set fillchars=vert:l - :hi WinSeparator ctermbg=White -< Note that this is a workaround, not a proper solution. - - If, on the other hand, you'd like to be verbose and explicit and - are opting not to use the 'arabic' short-cut command, here's what - is needed (i.e. if you use ':set arabic' you can skip this section) - - - + Arabic Keymapping Activation - - To activate the Arabic keymap (i.e. to remap your English/Latin - keyboard to look-n-feel like a standard Arabic one), set the - 'keymap' option to "arabic". This is done by entering -> - :set keymap=arabic -< - in your VIM window. You can also append the 'keymap' set command to - your vimrc file. In other words, you can include ':set keymap=arabic' - to your vimrc file. - - To turn toggle (or switch) your keymapping between Arabic and the - default mapping (English), it is advised that users use the 'CTRL-^' - key press while in insert (or add/replace) mode. The command-line - will display your current mapping by displaying an "Arabic" string - next to your insertion mode (e.g. -- INSERT Arabic --) indicating - your current keymap. - - + Arabic deletion of a combined pair character - - By default Vim has the 'delcombine' option disabled. This option - allows the deletion of ALEF in a LAM_ALEF (LAA) combined character - and still retain the LAM (i.e. it reverts to treating the combined - character as its natural two characters form -- this also pertains - to harakat and their combined forms). You can enable this option - by entering -> - :set delcombine -< - in our VIM window. You can also append the 'delcombine' set command - to your vimrc file. In other words, you can include ':set delcombine' - to your vimrc file. - - + Arabic right-to-left Mode - - By default VIM starts in Left-to-right mode. 'rightleft' is the - command that allows one to alter a window's orientation - that can - be accomplished via, - - - Toggling between left-to-right and right-to-left modes is - accomplished through ':set rightleft' and ':set norightleft'. - - - While in Left-to-right mode, enter ':set rl' in the command line - ('rl' is the abbreviation for rightleft). - - - Put the ':set rl' line in your vimrc file to start Vim in - right-to-left mode permanently. - - + Arabic right-to-left command-line Mode - - For certain commands the editing can be done in right-to-left mode. - Currently this is only applicable to search commands. - - This is controlled with the 'rightleftcmd' option. The default is - "search", which means that windows in which 'rightleft' is set will - edit search commands in right-left mode. To disable this behavior, -> - :set rightleftcmd= -< - To enable right-left editing of search commands again, -> - :set rightleftcmd& -< - + Arabic Shaping Mode - - To activate the required visual characters alterations (shaping, - composing, combining) which the Arabic language requires, enable - the 'arabicshape' command. This is done by entering -> - :set arabicshape -< - in our VIM window. You can also append the 'arabicshape' set - command to your vimrc file. In other words, you can include - ':set arabicshape' to your vimrc file. - - ------------------------------------------------------------------------------- -Keymap/Keyboard *arabickeymap* - -The character/letter encoding used in Vim is the standard UTF-8. -It is widely discouraged that any other encoding be used or even -attempted. - -Note: UTF-8 is an all encompassing encoding and as such is - the only supported (and encouraged) encoding with - regard to Arabic (all other proprietary encodings - should be discouraged and frowned upon). - -o Keyboard - - + CTRL-^ in insert/replace mode toggles between Arabic/Latin mode - - + Keyboard mapping is based on the Microsoft's Arabic keymap (the - de facto standard in the Arab world): > - - +---------------------------------------------------------------------+ - |! |@ |# |$ |% |^ |& |* |( |) |_ |+ || |~ ّ | - |1 ١ |2 ٢ |3 ٣ |4 ٤ |5 ٥ |6 ٦ |7 ٧ |8 ٨ |9 ٩ |0 ٠ |- |= |\ |` ذ | - +---------------------------------------------------------------------+ - |Q َ |W ً |E ُ |R ٌ |T لإ |Y إ |U ` |I ÷ |O x |P ؛ |{ < |} > | - |q ض |w ص |e ث |r ق |t ف |y غ |u ع |i ه |o خ |p ح |[ ج |] د | - +-----------------------------------------------------------+ - |A ِ |S ٍ |D [ |F ] |G لأ |H أ |J ـ |K ، |L / |: |" | - |a ش |s س |d ي |f ب |g ل |h ا |j ت |k ن |l م |; ك |' ط | - +------------------------------------------------------+ - |Z ~ |X ْ |C { |V } |B لآ |N آ |M ' |< , |> . |? ؟ | - |z ئ |x ء |c ؤ |v ر |b لا |n ى |m ة |, و |. ز |/ ظ | - +-------------------------------------------------+ -< - ------------------------------------------------------------------------------- -Restrictions - -o Vim in its GUI form does not currently support Bi-directionality - (i.e. the ability to see both Arabic and Latin intermixed within - the same line). - - ------------------------------------------------------------------------------- -Known Bugs - -There is one known minor bug, - - 1. If you insert a haraka (e.g. Fatha (U+064E)) after a LAM (U+0644) - and then insert an ALEF (U+0627), the appropriate combining will - not happen due to the sandwiched haraka resulting in something - that will NOT be displayed correctly. - - WORK-AROUND: Don't include harakats between LAM and ALEF combos. - In general, don't anticipate to see correct visual - representation with regard to harakats and LAM+ALEF - combined characters (even those entered after both - characters). The problem noted is strictly a visual - one, meaning saving such a file will contain all the - appropriate info/encodings - nothing is lost. - -No other bugs are known to exist. - - vim:tw=78:ts=8:noet:ft=help:norl: diff --git a/runtime/doc/hebrew.txt b/runtime/doc/hebrew.txt @@ -1,113 +0,0 @@ -*hebrew.txt* Nvim - - - VIM REFERENCE MANUAL by Ron Aaron (and Avner Lottem) - - -Hebrew Language support (options & mapping) for Vim *hebrew* - -The supporting 'rightleft' functionality was originally created by Avner -Lottem. <alottem at gmail dot com> Ron Aaron <ron at ronware dot org> is -currently helping support these features. - - ------------------------------------------------------------------------------- -Introduction - -Hebrew-specific 'keymap' values are "hebrew" and "hebrewp". -Hebrew-useful options are 'delcombine', 'allowrevins', 'revins', 'rightleft' -and 'rightleftcmd'. - -The 'rightleft' mode reverses the display order, so characters are displayed -from right to left instead of the usual left to right. This is useful -primarily when editing Hebrew or other Middle-Eastern languages. -See |rileft.txt| for further details. - ------------------------------------------------------------------------------- -Details - -+ Options: - + 'rightleft' ('rl') sets window orientation to right-to-left. This means - that the logical text 'ABC' will be displayed as 'CBA', and will start - drawing at the right edge of the window, not the left edge. - + 'keymap' ('kmp') sets keyboard mapping. use values "hebrew" or "hebrewp" - (the latter option enables phonetic mapping) - + 'delcombine' ('deco'), boolean, allows one to remove the niqud or - te`amim by pressing 'x' on a character (with associated niqud). - - + 'rightleftcmd' ('rlc') makes the command-prompt for searches show up on - the right side. It only takes effect if the window is 'rightleft'. - -+ Encoding: - + Under Unix, ISO 8859-8 encoding (Hebrew letters codes: 224-250). - + Under MS DOS, PC encoding (Hebrew letters codes: 128-154). - + You should prefer using UTF8, as it supports the combining-characters - ('deco' does nothing if UTF8 encoding is not active). - -+ Vim arguments: - + `vim -H file` starts editing a Hebrew file, i.e. 'rightleft' is set and - 'keymap' is set to "hebrew". - -+ Keyboard: - + The 'allowrevins' option enables the CTRL-_ command in Insert mode. - - + CTRL-_ in Insert mode toggles 'revins'. - - CTRL-_ moves the cursor to the end of the typed text. - - Note: On some keyboards, CTRL-_ is mapped to CTRL-?. - - + Keyboard mapping while 'keymap' is "hebrew" (standard Israeli keyboard): - - q w e r t y u i o p - / ' ק ר א ט ו ן ם פ - - a s d f g h j k l ; ' - ש ד ג כ ע י ח ל ך ף , - - z x c v b n m , . / - ז ס ב ה נ מ צ ת ץ . - - The 'keymap' keyboard can also insert niqud and te`amim. To see what - those mappings are, look at the keymap file hebrew.vim etc. - - -Typing backwards - -If the 'revins' (reverse insert) option is set, inserting happens backwards. -This can be used to type Hebrew. When inserting characters the cursor is not -moved and the text moves rightwards. A <BS> deletes the character under the -cursor. CTRL-W and CTRL-U also work in the opposite direction. <BS>, CTRL-W -and CTRL-U do not stop at the start of insert or end of line, no matter how -the 'backspace' option is set. - -There is no reverse replace mode (yet). - -If the 'showmode' option is set, "-- REVERSE INSERT --" will be shown in the -status line when reverse Insert mode is active. - -When the 'allowrevins' option is set, reverse Insert mode can be also entered -and exited via CTRL-_. - - ------------------------------------------------------------------------------- -Pasting when in a rightleft window - -When cutting text with the mouse and pasting it in a rightleft window -the text will be reversed, because the characters come from the cut buffer -from the left to the right, while inserted in the file from the right to -the left. In order to avoid it, toggle 'revins' (by typing CTRL-? or CTRL-_) -before pasting. - - ------------------------------------------------------------------------------- -Hebrew characters and the 'isprint' variable - -Sometimes Hebrew character codes are in the non-printable range defined by -the 'isprint' variable. For example in the Linux console, the Hebrew font -encoding starts from 128, while the default 'isprint' variable is @,161-255. -The result is that all Hebrew characters are displayed as ~x. To solve this -problem, set isprint=@,128-255. - - - vim:tw=78:ts=8:noet:ft=help:norl: diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt @@ -146,10 +146,10 @@ LANGUAGE SUPPORT |mbyte.txt| Multibyte text support |mlang.txt| Non-English language support |rileft.txt| Right-to-left editing mode -|arabic.txt| Arabic language support and editing -|hebrew.txt| Hebrew language support and editing -|russian.txt| Russian language support and editing -|vietnamese.txt| Vietnamese language support and editing +|l10n-arabic.txt| Arabic language support and editing +|l10n-hebrew.txt| Hebrew language support and editing +|l10n-russian.txt| Russian language support and editing +|l10n-vietnamese.txt| Vietnamese language support and editing ------------------------------------------------------------------------------ INTEROP diff --git a/runtime/doc/l10n-arabic.txt b/runtime/doc/l10n-arabic.txt @@ -0,0 +1,327 @@ +*l10n-arabic.txt* Nvim + + + VIM REFERENCE MANUAL by Nadim Shaikli + + +Arabic Language support (options & mappings) for Vim *Arabic* + +These functions have been created by Nadim Shaikli <nadim-at-arabeyes.org> + +It is best to view this file with these settings within VIM's GUI: > + + :set encoding=utf-8 + :set arabicshape + + +------------------------------------------------------------------------------ +Introduction + +Arabic is a rather demanding language in which a number of special +features are required. Characters are right-to-left oriented and +ought to appear as such on the screen (i.e. from right to left). +Arabic also requires shaping of its characters, meaning the same +character has a different visual form based on its relative location +within a word (initial, medial, final or stand-alone). Arabic also +requires two different forms of combining and the ability, in +certain instances, to either superimpose up to two characters on top +of another (composing) or the actual substitution of two characters +into one (combining). Lastly, to display Arabic properly one will +require not only ISO-8859-6 (U+0600-U+06FF) fonts, but will also +require Presentation Form-B (U+FE70-U+FEFF) fonts both of which are +subsets within a so-called ISO-10646-1 font. + +The commands, prompts and help files are not in Arabic, therefore +the user interface remains the standard Vi interface. + + +------------------------------------------------------------------------------ +Highlights + +o Editing left-to-right files as in the original Vim hasn't changed. + +o Viewing and editing files in right-to-left windows. File + orientation is per window, so it is possible to view the same + file in right-to-left and left-to-right modes, simultaneously. + +o No special terminal with right-to-left capabilities is required. + The right-to-left changes are completely hardware independent. + Only Arabic fonts are necessary. + +o Compatible with the original Vim. Almost all features work in + right-to-left mode (there are liable to be bugs). + +o Changing keyboard mapping and reverse insert modes using a single + command. + +o Toggling complete Arabic support via a single command. + +o While in Arabic mode, numbers are entered from left to right. Upon + entering a none number character, that character will be inserted + just into the left of the last number. + +o Arabic keymapping on the command line in reverse insert mode. + +o Proper Bidirectional functionality is possible given Vim is + started within a Bidi capable terminal emulator. + + +------------------------------------------------------------------------------ +Arabic Fonts *arabicfonts* + +Vim requires monospaced fonts of which there are many out there. +Arabic requires ISO-8859-6 as well as Presentation Form-B fonts +(without Form-B, Arabic will _NOT_ be usable). It is highly +recommended that users search for so-called 'ISO-10646-1' fonts. +Do an Internet search or check www.arabeyes.org for further +info on where to obtain the necessary Arabic fonts. + + +------------------------------------------------------------------------------ +Font Installation + +o Installation of fonts for X Window systems (Unix/Linux) + + Depending on your system, copy your_ARABIC_FONT file into a + directory of your choice. Change to the directory containing + the Arabic fonts and execute the following commands: + + % mkfontdir + % xset +fp path_name_of_arabic_fonts_directory + + +------------------------------------------------------------------------------ +Usage + +Prior to the actual usage of Arabic within Vim, a number of settings +need to be accounted for and invoked. + +o Setting the Arabic fonts + + + For Vim GUI set the 'guifont' to your_ARABIC_FONT. This is done + by entering the following command in the Vim window. +> + :set guifont=your_ARABIC_FONT +< + NOTE: the string 'your_ARABIC_FONT' is used to denote a complete + font name akin to that used in Linux/Unix systems. + (e.g. -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1) + + You can append the 'guifont' set command to your vimrc file + in order to get the same above noted results. In other words, + you can include ':set guifont=your_ARABIC_FONT' to your vimrc + file. + + + Under the X Window environment, you can also start Vim with + '-fn your_ARABIC_FONT' option. + +o Setting the appropriate character Encoding + To enable the correct Arabic encoding the following command needs + to be appended, +> + :set encoding=utf-8 +< + to your vimrc file (entering the command manually into your Vim + window is highly discouraged). In short, include ':set + encoding=utf-8' to your vimrc file. + + Attempts to use Arabic without UTF-8 will result the following + warning message, + + *W17* > + Arabic requires UTF-8, do ':set encoding=utf-8' + +o Enable Arabic settings [short-cut] + + In order to simplify and streamline things, you can either invoke + Vim with the command-line option, + + % vim -A my_utf8_arabic_file ... + + or enable 'arabic' via the following command within Vim +> + :set arabic +< + The two above noted possible invocations are the preferred manner + in which users are instructed to proceed. Barring an enabled 'termbidi' + setting, both command options: + + 1. set the appropriate keymap + 2. enable the deletion of a single combined pair character + 3. enable rightleft mode + 4. enable rightleftcmd mode (affecting the command-line) + 5. enable arabicshape mode (do visual character alterations) + + You may also append the command to your vimrc file and simply + include ':set arabic' to it. + + You are also capable of disabling Arabic support via +> + :set noarabic +< + which resets everything that the command had enabled without touching + the global settings as they could affect other possible open buffers. + In short the 'noarabic' command, + + 1. resets to the alternate keymap + 2. disables the deletion of a single combined pair character + 3. disables rightleft mode + + NOTE: the 'arabic' command takes into consideration 'termbidi' for + possible external bi-directional (bidi) support from the + terminal ("mlterm" for instance offers such support). + 'termbidi', if available, is superior to rightleft support + and its support is preferred due to its level of offerings. + 'arabic' when 'termbidi' is enabled only sets the keymap. + + For vertical window isolation while setting 'termbidi' an LTR + vertical separator like "l" or "𝖨" may be used. It may also be + hidden by changing its color to the foreground color: > + :set fillchars=vert:l + :hi WinSeparator ctermbg=White +< Note that this is a workaround, not a proper solution. + + If, on the other hand, you'd like to be verbose and explicit and + are opting not to use the 'arabic' short-cut command, here's what + is needed (i.e. if you use ':set arabic' you can skip this section) - + + + Arabic Keymapping Activation + + To activate the Arabic keymap (i.e. to remap your English/Latin + keyboard to look-n-feel like a standard Arabic one), set the + 'keymap' option to "arabic". This is done by entering +> + :set keymap=arabic +< + in your VIM window. You can also append the 'keymap' set command to + your vimrc file. In other words, you can include ':set keymap=arabic' + to your vimrc file. + + To turn toggle (or switch) your keymapping between Arabic and the + default mapping (English), it is advised that users use the 'CTRL-^' + key press while in insert (or add/replace) mode. The command-line + will display your current mapping by displaying an "Arabic" string + next to your insertion mode (e.g. -- INSERT Arabic --) indicating + your current keymap. + + + Arabic deletion of a combined pair character + + By default Vim has the 'delcombine' option disabled. This option + allows the deletion of ALEF in a LAM_ALEF (LAA) combined character + and still retain the LAM (i.e. it reverts to treating the combined + character as its natural two characters form -- this also pertains + to harakat and their combined forms). You can enable this option + by entering +> + :set delcombine +< + in our VIM window. You can also append the 'delcombine' set command + to your vimrc file. In other words, you can include ':set delcombine' + to your vimrc file. + + + Arabic right-to-left Mode + + By default VIM starts in Left-to-right mode. 'rightleft' is the + command that allows one to alter a window's orientation - that can + be accomplished via, + + - Toggling between left-to-right and right-to-left modes is + accomplished through ':set rightleft' and ':set norightleft'. + + - While in Left-to-right mode, enter ':set rl' in the command line + ('rl' is the abbreviation for rightleft). + + - Put the ':set rl' line in your vimrc file to start Vim in + right-to-left mode permanently. + + + Arabic right-to-left command-line Mode + + For certain commands the editing can be done in right-to-left mode. + Currently this is only applicable to search commands. + + This is controlled with the 'rightleftcmd' option. The default is + "search", which means that windows in which 'rightleft' is set will + edit search commands in right-left mode. To disable this behavior, +> + :set rightleftcmd= +< + To enable right-left editing of search commands again, +> + :set rightleftcmd& +< + + Arabic Shaping Mode + + To activate the required visual characters alterations (shaping, + composing, combining) which the Arabic language requires, enable + the 'arabicshape' command. This is done by entering +> + :set arabicshape +< + in our VIM window. You can also append the 'arabicshape' set + command to your vimrc file. In other words, you can include + ':set arabicshape' to your vimrc file. + + +------------------------------------------------------------------------------ +Keymap/Keyboard *arabickeymap* + +The character/letter encoding used in Vim is the standard UTF-8. +It is widely discouraged that any other encoding be used or even +attempted. + +Note: UTF-8 is an all encompassing encoding and as such is + the only supported (and encouraged) encoding with + regard to Arabic (all other proprietary encodings + should be discouraged and frowned upon). + +o Keyboard + + + CTRL-^ in insert/replace mode toggles between Arabic/Latin mode + + + Keyboard mapping is based on the Microsoft's Arabic keymap (the + de facto standard in the Arab world): > + + +---------------------------------------------------------------------+ + |! |@ |# |$ |% |^ |& |* |( |) |_ |+ || |~ ّ | + |1 ١ |2 ٢ |3 ٣ |4 ٤ |5 ٥ |6 ٦ |7 ٧ |8 ٨ |9 ٩ |0 ٠ |- |= |\ |` ذ | + +---------------------------------------------------------------------+ + |Q َ |W ً |E ُ |R ٌ |T لإ |Y إ |U ` |I ÷ |O x |P ؛ |{ < |} > | + |q ض |w ص |e ث |r ق |t ف |y غ |u ع |i ه |o خ |p ح |[ ج |] د | + +-----------------------------------------------------------+ + |A ِ |S ٍ |D [ |F ] |G لأ |H أ |J ـ |K ، |L / |: |" | + |a ش |s س |d ي |f ب |g ل |h ا |j ت |k ن |l م |; ك |' ط | + +------------------------------------------------------+ + |Z ~ |X ْ |C { |V } |B لآ |N آ |M ' |< , |> . |? ؟ | + |z ئ |x ء |c ؤ |v ر |b لا |n ى |m ة |, و |. ز |/ ظ | + +-------------------------------------------------+ +< + +------------------------------------------------------------------------------ +Restrictions + +o Vim in its GUI form does not currently support Bi-directionality + (i.e. the ability to see both Arabic and Latin intermixed within + the same line). + + +------------------------------------------------------------------------------ +Known Bugs + +There is one known minor bug, + + 1. If you insert a haraka (e.g. Fatha (U+064E)) after a LAM (U+0644) + and then insert an ALEF (U+0627), the appropriate combining will + not happen due to the sandwiched haraka resulting in something + that will NOT be displayed correctly. + + WORK-AROUND: Don't include harakats between LAM and ALEF combos. + In general, don't anticipate to see correct visual + representation with regard to harakats and LAM+ALEF + combined characters (even those entered after both + characters). The problem noted is strictly a visual + one, meaning saving such a file will contain all the + appropriate info/encodings - nothing is lost. + +No other bugs are known to exist. + + vim:tw=78:ts=8:noet:ft=help:norl: diff --git a/runtime/doc/l10n-hebrew.txt b/runtime/doc/l10n-hebrew.txt @@ -0,0 +1,113 @@ +*l10n-hebrew.txt* Nvim + + + VIM REFERENCE MANUAL by Ron Aaron (and Avner Lottem) + + +Hebrew Language support (options & mapping) for Vim *hebrew* + +The supporting 'rightleft' functionality was originally created by Avner +Lottem. <alottem at gmail dot com> Ron Aaron <ron at ronware dot org> is +currently helping support these features. + + +------------------------------------------------------------------------------ +Introduction + +Hebrew-specific 'keymap' values are "hebrew" and "hebrewp". +Hebrew-useful options are 'delcombine', 'allowrevins', 'revins', 'rightleft' +and 'rightleftcmd'. + +The 'rightleft' mode reverses the display order, so characters are displayed +from right to left instead of the usual left to right. This is useful +primarily when editing Hebrew or other Middle-Eastern languages. +See |rileft.txt| for further details. + +------------------------------------------------------------------------------ +Details + ++ Options: + + 'rightleft' ('rl') sets window orientation to right-to-left. This means + that the logical text 'ABC' will be displayed as 'CBA', and will start + drawing at the right edge of the window, not the left edge. + + 'keymap' ('kmp') sets keyboard mapping. use values "hebrew" or "hebrewp" + (the latter option enables phonetic mapping) + + 'delcombine' ('deco'), boolean, allows one to remove the niqud or + te`amim by pressing 'x' on a character (with associated niqud). + + + 'rightleftcmd' ('rlc') makes the command-prompt for searches show up on + the right side. It only takes effect if the window is 'rightleft'. + ++ Encoding: + + Under Unix, ISO 8859-8 encoding (Hebrew letters codes: 224-250). + + Under MS DOS, PC encoding (Hebrew letters codes: 128-154). + + You should prefer using UTF8, as it supports the combining-characters + ('deco' does nothing if UTF8 encoding is not active). + ++ Vim arguments: + + `vim -H file` starts editing a Hebrew file, i.e. 'rightleft' is set and + 'keymap' is set to "hebrew". + ++ Keyboard: + + The 'allowrevins' option enables the CTRL-_ command in Insert mode. + + + CTRL-_ in Insert mode toggles 'revins'. + + CTRL-_ moves the cursor to the end of the typed text. + + Note: On some keyboards, CTRL-_ is mapped to CTRL-?. + + + Keyboard mapping while 'keymap' is "hebrew" (standard Israeli keyboard): + + q w e r t y u i o p + / ' ק ר א ט ו ן ם פ + + a s d f g h j k l ; ' + ש ד ג כ ע י ח ל ך ף , + + z x c v b n m , . / + ז ס ב ה נ מ צ ת ץ . + + The 'keymap' keyboard can also insert niqud and te`amim. To see what + those mappings are, look at the keymap file hebrew.vim etc. + + +Typing backwards + +If the 'revins' (reverse insert) option is set, inserting happens backwards. +This can be used to type Hebrew. When inserting characters the cursor is not +moved and the text moves rightwards. A <BS> deletes the character under the +cursor. CTRL-W and CTRL-U also work in the opposite direction. <BS>, CTRL-W +and CTRL-U do not stop at the start of insert or end of line, no matter how +the 'backspace' option is set. + +There is no reverse replace mode (yet). + +If the 'showmode' option is set, "-- REVERSE INSERT --" will be shown in the +status line when reverse Insert mode is active. + +When the 'allowrevins' option is set, reverse Insert mode can be also entered +and exited via CTRL-_. + + +------------------------------------------------------------------------------ +Pasting when in a rightleft window + +When cutting text with the mouse and pasting it in a rightleft window +the text will be reversed, because the characters come from the cut buffer +from the left to the right, while inserted in the file from the right to +the left. In order to avoid it, toggle 'revins' (by typing CTRL-? or CTRL-_) +before pasting. + + +------------------------------------------------------------------------------ +Hebrew characters and the 'isprint' variable + +Sometimes Hebrew character codes are in the non-printable range defined by +the 'isprint' variable. For example in the Linux console, the Hebrew font +encoding starts from 128, while the default 'isprint' variable is @,161-255. +The result is that all Hebrew characters are displayed as ~x. To solve this +problem, set isprint=@,128-255. + + + vim:tw=78:ts=8:noet:ft=help:norl: diff --git a/runtime/doc/l10n-russian.txt b/runtime/doc/l10n-russian.txt @@ -0,0 +1,64 @@ +*l10n-russian.txt* Nvim + + + VIM REFERENCE MANUAL by Vassily Ragosin + + +Russian language localization and support in Vim *russian* *Russian* + + Type |gO| to see the table of contents. + +=============================================================================== +1. Introduction *russian-intro* + +Russian language is supported perfectly well in Vim. You can type and view +Russian text just as any other, without the need to tweak the settings. + +=============================================================================== +2. Russian keymaps *russian-keymap* + +To switch between languages you can use your system native keyboard switcher, +or use one of the Russian keymaps, included in the Vim distribution. For +example, +> + :set keymap=russian-jcukenwin +< +In the latter case, you can switch between languages even if you do not have +system Russian keyboard or independently from a system-wide keyboard settings. +See 'keymap'. You can also map a key to switch between keyboards, if you +choose the latter option. See |:map|. + +For your convenience, to avoid switching between keyboards, when you need to +enter Normal mode command, you can also set 'langmap' option: +> + :set langmap=ФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯ;ABCDEFGHIJKLMNOPQRSTUVWXYZ, + фисвуапршолдьтщзйкыегмцчня;abcdefghijklmnopqrstuvwxyz + +You have to type this command in one line, it is wrapped for the sake of +readability. + +=============================================================================== +3. Localization *russian-l18n* + +If you wish to use messages, help files, menus and other items translated to +Russian, you will need to install the RuVim Language Pack, available in +different codepages from + + https://www.sourceforge.net/projects/ruvim/ + +After downloading an archive from RuVim project, unpack it into your +$VIMRUNTIME directory. We recommend using UTF-8 archive. + +In order to use the Russian documentation, make sure you have set the +'helplang' option to "ru". + +=============================================================================== +4. Known issues *russian-issues* + +-- If you are using Russian message translations in Win32 console, then + you may see the output produced by "vim --help", "vim --version" commands + and Win32 console window title appearing in a wrong codepage. This problem + is related to a bug in GNU gettext library and may be fixed in the future + releases of gettext. + + vim:tw=78:ts=8:noet:ft=help:norl: diff --git a/runtime/doc/l10n-vietnamese.txt b/runtime/doc/l10n-vietnamese.txt @@ -0,0 +1,72 @@ +*l10n-vietnamese.txt* Nvim + + + VIM REFERENCE MANUAL by Phạm Bình An + + Type |gO| to see the table of contents. + +=============================================================================== +1. Introduction + *vietnamese-intro* +Vim supports Vietnamese language in the following ways: + +- Built-in |vietnamese-keymap|, which allows you to type Vietnamese characters + in |Insert-mode| and |search-commands| using US keyboard layout. +- Localization in Vietnamese. See |vietnamese-l10n| + +=============================================================================== +2. Vietnamese keymaps + *vietnamese-keymap* +To switch between languages you can use your system native keyboard switcher, +or use one of the Vietnamese keymaps included in the Vim distribution, like +below > + :set keymap=vietnamese-telex_utf-8 +< +See 'keymap' for more information. + +In the latter case, you can type Vietnamese even if you do not have a +Vietnamese input method engine (IME) or you want Vim to be independent from a +system-wide keyboard settings (when 'imdisable' is set). You can also |:map| +a key to switch between keyboards. + +Vim comes with the following Vietnamese keymaps: +- *vietnamese-telex_utf-8* Telex input method, |UTF-8| encoding. +- *vietnamese-viqr_utf-8* VIQR input method, |UTF-8| encoding. +- *vietnamese-vni_utf-8* VNI input method, |UTF-8| encoding. + + *vietnamese-ime_diff* +Since these keymaps were designed to be minimalistic, they do not support all +features of the corresponding input methods. The differences are described +below: + +- You can only type each character individually, entering the base letter first + and then the diacritics later. For example, to type the word `nến` using + |vietnamese-vni_utf-8|, you must type `ne61n`, not `nen61` or `ne6n1` +- For characters with more than 1 diacritic, you need to type vowel mark before + tone mark. For example, to type `ồ` using |vietnamese-telex_utf-8|, you need + to type `oof`, not `ofo`. +- With |vietnamese-telex_utf-8|, you need to type all uppercase letters to + produce uppercase characters with diacritics. For example, `Ừ` must be typed + as `UWF`. +- With |vietnamese-telex_utf-8|, the escape character `\` from VNI is added, + hence the confusing `ooo` input to type `oo` is removed, which could lead to + ambiguities. For example, to type the word `Đoòng`, you would type + `DDo\ofng`. +- Simple Telex (both v1 and v2), including the `w[]{}` style, is not + supported. +- Removing diacritics using `z` in Telex or `0` in VNI and VIQR is not supported. + +=============================================================================== +3. Localization + *vietnamese-l10n* +Vim |messages| are also available in Vietnamese. If you wish to see messages +in Vietnamese, you can run the command |:language| with an argument being the +name of the Vietnamese locale. For example, > + :language vi_VN +< or > + :language vi_VN.utf-8 +< +Note that the name of the Vietnamese locale may vary depending on your system. +See |mbyte-first| for details. + + vim:tw=78:ts=8:noet:ft=help:norl: diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt @@ -713,7 +713,7 @@ A jump table for the options with a short description can be found at |Q_op|. - Disable the use of 'keymap' (without changing its value). Note that 'arabicshape' and 'delcombine' are not reset (it is a global option). - Also see |arabic.txt|. + Also see |l10n-arabic.txt|. *'arabicshape'* *'arshape'* *'noarabicshape'* *'noarshape'* 'arabicshape' 'arshape' boolean (default on) @@ -729,7 +729,7 @@ A jump table for the options with a short description can be found at |Q_op|. When disabled the display shows each character's true stand-alone form. Arabic is a complex language which requires other settings, for - further details see |arabic.txt|. + further details see |l10n-arabic.txt|. *'autochdir'* *'acd'* *'noautochdir'* *'noacd'* 'autochdir' 'acd' boolean (default off) @@ -6805,7 +6805,7 @@ A jump table for the options with a short description can be found at |Q_op|. 'arabic' is set and the value of 'arabicshape' will be ignored. Note that setting 'termbidi' has the immediate effect that 'arabicshape' is ignored, but 'rightleft' isn't changed automatically. - For further details see |arabic.txt|. + For further details see |l10n-arabic.txt|. *'termguicolors'* *'tgc'* *'notermguicolors'* *'notgc'* 'termguicolors' 'tgc' boolean (default off) diff --git a/runtime/doc/rileft.txt b/runtime/doc/rileft.txt @@ -60,7 +60,7 @@ o No special terminal with right-to-left capabilities is required. The o Many languages use and require right-to-left support. These languages can quite easily be supported given the inclusion of their required keyboard mappings and some possible minor code change. Some of the - current supported languages include - |arabic.txt| and |hebrew.txt|. + current supported languages include - |l10n-arabic.txt| and |l10n-hebrew.txt|. ------------------------------------------------------------------------------ diff --git a/runtime/doc/russian.txt b/runtime/doc/russian.txt @@ -1,64 +0,0 @@ -*russian.txt* Nvim - - - VIM REFERENCE MANUAL by Vassily Ragosin - - -Russian language localization and support in Vim *russian* *Russian* - - Type |gO| to see the table of contents. - -=============================================================================== -1. Introduction *russian-intro* - -Russian language is supported perfectly well in Vim. You can type and view -Russian text just as any other, without the need to tweak the settings. - -=============================================================================== -2. Russian keymaps *russian-keymap* - -To switch between languages you can use your system native keyboard switcher, -or use one of the Russian keymaps, included in the Vim distribution. For -example, -> - :set keymap=russian-jcukenwin -< -In the latter case, you can switch between languages even if you do not have -system Russian keyboard or independently from a system-wide keyboard settings. -See 'keymap'. You can also map a key to switch between keyboards, if you -choose the latter option. See |:map|. - -For your convenience, to avoid switching between keyboards, when you need to -enter Normal mode command, you can also set 'langmap' option: -> - :set langmap=ФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯ;ABCDEFGHIJKLMNOPQRSTUVWXYZ, - фисвуапршолдьтщзйкыегмцчня;abcdefghijklmnopqrstuvwxyz - -You have to type this command in one line, it is wrapped for the sake of -readability. - -=============================================================================== -3. Localization *russian-l18n* - -If you wish to use messages, help files, menus and other items translated to -Russian, you will need to install the RuVim Language Pack, available in -different codepages from - - https://www.sourceforge.net/projects/ruvim/ - -After downloading an archive from RuVim project, unpack it into your -$VIMRUNTIME directory. We recommend using UTF-8 archive. - -In order to use the Russian documentation, make sure you have set the -'helplang' option to "ru". - -=============================================================================== -4. Known issues *russian-issues* - --- If you are using Russian message translations in Win32 console, then - you may see the output produced by "vim --help", "vim --version" commands - and Win32 console window title appearing in a wrong codepage. This problem - is related to a bug in GNU gettext library and may be fixed in the future - releases of gettext. - - vim:tw=78:ts=8:noet:ft=help:norl: diff --git a/runtime/doc/vietnamese.txt b/runtime/doc/vietnamese.txt @@ -1,72 +0,0 @@ -*vietnamese.txt* Nvim - - - VIM REFERENCE MANUAL by Phạm Bình An - - Type |gO| to see the table of contents. - -=============================================================================== -1. Introduction - *vietnamese-intro* -Vim supports Vietnamese language in the following ways: - -- Built-in |vietnamese-keymap|, which allows you to type Vietnamese characters - in |Insert-mode| and |search-commands| using US keyboard layout. -- Localization in Vietnamese. See |vietnamese-l10n| - -=============================================================================== -2. Vietnamese keymaps - *vietnamese-keymap* -To switch between languages you can use your system native keyboard switcher, -or use one of the Vietnamese keymaps included in the Vim distribution, like -below > - :set keymap=vietnamese-telex_utf-8 -< -See 'keymap' for more information. - -In the latter case, you can type Vietnamese even if you do not have a -Vietnamese input method engine (IME) or you want Vim to be independent from a -system-wide keyboard settings (when 'imdisable' is set). You can also |:map| -a key to switch between keyboards. - -Vim comes with the following Vietnamese keymaps: -- *vietnamese-telex_utf-8* Telex input method, |UTF-8| encoding. -- *vietnamese-viqr_utf-8* VIQR input method, |UTF-8| encoding. -- *vietnamese-vni_utf-8* VNI input method, |UTF-8| encoding. - - *vietnamese-ime_diff* -Since these keymaps were designed to be minimalistic, they do not support all -features of the corresponding input methods. The differences are described -below: - -- You can only type each character individually, entering the base letter first - and then the diacritics later. For example, to type the word `nến` using - |vietnamese-vni_utf-8|, you must type `ne61n`, not `nen61` or `ne6n1` -- For characters with more than 1 diacritic, you need to type vowel mark before - tone mark. For example, to type `ồ` using |vietnamese-telex_utf-8|, you need - to type `oof`, not `ofo`. -- With |vietnamese-telex_utf-8|, you need to type all uppercase letters to - produce uppercase characters with diacritics. For example, `Ừ` must be typed - as `UWF`. -- With |vietnamese-telex_utf-8|, the escape character `\` from VNI is added, - hence the confusing `ooo` input to type `oo` is removed, which could lead to - ambiguities. For example, to type the word `Đoòng`, you would type - `DDo\ofng`. -- Simple Telex (both v1 and v2), including the `w[]{}` style, is not - supported. -- Removing diacritics using `z` in Telex or `0` in VNI and VIQR is not supported. - -=============================================================================== -3. Localization - *vietnamese-l10n* -Vim |messages| are also available in Vietnamese. If you wish to see messages -in Vietnamese, you can run the command |:language| with an argument being the -name of the Vietnamese locale. For example, > - :language vi_VN -< or > - :language vi_VN.utf-8 -< -Note that the name of the Vietnamese locale may vary depending on your system. -See |mbyte-first| for details. - - vim:tw=78:ts=8:noet:ft=help:norl: diff --git a/runtime/lua/vim/_meta/options.lua b/runtime/lua/vim/_meta/options.lua @@ -71,7 +71,7 @@ vim.go.ambw = vim.go.ambiwidth --- - Disable the use of 'keymap' (without changing its value). --- Note that 'arabicshape' and 'delcombine' are not reset (it is a global --- option). ---- Also see `arabic.txt`. +--- Also see `l10n-arabic.txt`. --- --- @type boolean vim.o.arabic = false @@ -90,7 +90,7 @@ vim.wo.arab = vim.wo.arabic --- When disabled the display shows each character's true stand-alone --- form. --- Arabic is a complex language which requires other settings, for ---- further details see `arabic.txt`. +--- further details see `l10n-arabic.txt`. --- --- @type boolean vim.o.arabicshape = true @@ -7357,7 +7357,7 @@ vim.go.tgst = vim.go.tagstack --- 'arabic' is set and the value of 'arabicshape' will be ignored. --- Note that setting 'termbidi' has the immediate effect that --- 'arabicshape' is ignored, but 'rightleft' isn't changed automatically. ---- For further details see `arabic.txt`. +--- For further details see `l10n-arabic.txt`. --- --- @type boolean vim.o.termbidi = false diff --git a/scripts/vim-patch.sh b/scripts/vim-patch.sh @@ -314,6 +314,10 @@ preprocess_patch() { LC_ALL=C sed -Ee 's/( [ab]\/runtime\/doc)\/eval\.txt/\1\/vimeval.txt/g' \ "$file" > "$file".tmp && mv "$file".tmp "$file" + # Rename <lang>.txt to l10n-<lang>.txt + LC_ALL=C sed -Ee 's/( [ab]\/runtime\/doc)\/(arabic|hebrew|russian|vietnamese)\.txt/\1\/l10n-\2.txt/g' \ + "$file" > "$file".tmp && mv "$file".tmp "$file" + # Rename version*.txt to news.txt LC_ALL=C sed -Ee 's/( [ab]\/runtime\/doc)\/version[0-9]+\.txt/\1\/news.txt/g' \ "$file" > "$file".tmp && mv "$file".tmp "$file" diff --git a/src/nvim/options.lua b/src/nvim/options.lua @@ -178,7 +178,7 @@ local options = { - Disable the use of 'keymap' (without changing its value). Note that 'arabicshape' and 'delcombine' are not reset (it is a global option). - Also see |arabic.txt|. + Also see |l10n-arabic.txt|. ]=], full_name = 'arabic', redraw = { 'curswant' }, @@ -201,7 +201,7 @@ local options = { When disabled the display shows each character's true stand-alone form. Arabic is a complex language which requires other settings, for - further details see |arabic.txt|. + further details see |l10n-arabic.txt|. ]=], full_name = 'arabicshape', redraw = { 'all_windows', 'ui_option' }, @@ -9499,7 +9499,7 @@ local options = { 'arabic' is set and the value of 'arabicshape' will be ignored. Note that setting 'termbidi' has the immediate effect that 'arabicshape' is ignored, but 'rightleft' isn't changed automatically. - For further details see |arabic.txt|. + For further details see |l10n-arabic.txt|. ]=], full_name = 'termbidi', scope = { 'global' },