mirror of
https://github.com/neovim/neovim.git
synced 2025-09-15 15:58:17 +00:00
vim-patch:8.1.0932: remove Farsi support (#9622)
Problem: Farsi support is outdated and unused.
Solution: Delete the Farsi support.
14184a3133
This commit is contained in:
@@ -250,20 +250,13 @@ CTRL-A command-line completion (see |cmdline-completion|)
|
||||
CTRL-L command-line completion (see |cmdline-completion|)
|
||||
|
||||
*c_CTRL-_*
|
||||
CTRL-_ a - switch between Hebrew and English keyboard mode, which is
|
||||
CTRL-_ Switch between Hebrew and English keyboard mode, which is
|
||||
private to the command-line and not related to hkmap.
|
||||
This is useful when Hebrew text entry is required in the
|
||||
command-line, searches, abbreviations, etc. Applies only if
|
||||
the 'allowrevins' option is set.
|
||||
See |rileft.txt|.
|
||||
|
||||
b - switch between Farsi and English keyboard mode, which is
|
||||
private to the command-line and not related to fkmap. In
|
||||
Farsi keyboard mode the characters are inserted in reverse
|
||||
insert manner. This is useful when Farsi text entry is
|
||||
required in the command-line, searches, abbreviations, etc.
|
||||
See |farsi.txt|.
|
||||
|
||||
*c_CTRL-^*
|
||||
CTRL-^ Toggle the use of language |:lmap| mappings and/or Input
|
||||
Method.
|
||||
|
@@ -8488,7 +8488,6 @@ eval Compiled with expression evaluation support. Always
|
||||
ex_extra |+ex_extra|, always true now
|
||||
extra_search Compiled with support for |'incsearch'| and
|
||||
|'hlsearch'|
|
||||
farsi Compiled with Farsi support |farsi|.
|
||||
file_in_path Compiled with support for |gf| and |<cfile>|
|
||||
filterpipe When 'shelltemp' is off pipes are used for shell
|
||||
read/write/filter commands
|
||||
|
@@ -1,208 +0,0 @@
|
||||
*farsi.txt* Nvim
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
|
||||
|
||||
|
||||
Right to Left and Farsi Mapping for Vim *farsi* *Farsi*
|
||||
|
||||
These functions have been made by Mortaza G. Shiran <shiran@jps.net>
|
||||
|
||||
|
||||
Introduction
|
||||
------------
|
||||
In right-to-left oriented files the characters appear on the screen from right
|
||||
to left. This kind of file is most useful when writing Farsi documents,
|
||||
composing faxes or writing Farsi memos.
|
||||
|
||||
The commands, prompts and help files are not in Farsi, therefore the user
|
||||
interface remains the standard Vi interface.
|
||||
|
||||
|
||||
Highlights
|
||||
----------
|
||||
o Editing left-to-right files as in the original Vim, no change.
|
||||
|
||||
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 Compatibility to the original Vim. Almost all features work in
|
||||
right-to-left mode (see bugs below).
|
||||
|
||||
o Changing keyboard mapping and reverse insert modes using a single
|
||||
command.
|
||||
|
||||
o Backing from reverse insert mode to the correct place in the file
|
||||
(if possible).
|
||||
|
||||
o While in Farsi 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 No special terminal with right-to-left capabilities is required. The
|
||||
right-to-left changes are completely hardware independent. Only
|
||||
Farsi font is necessary.
|
||||
|
||||
o Farsi keymapping on the command line in reverse insert mode.
|
||||
|
||||
o Toggling between left-to-right and right-to-left via F8 function key.
|
||||
|
||||
o Toggling between Farsi ISIR-3342 standard encoding and Vim Farsi via F9
|
||||
function key. Since this makes sense only for the text written in
|
||||
right-to-left mode, this function is also supported only in right-to-left
|
||||
mode.
|
||||
|
||||
|
||||
Usage
|
||||
-----
|
||||
Prior to starting Vim, the environment in which Vim can run in Farsi mode,
|
||||
must be set. In addition to installation of Farsi fonts, following points
|
||||
refer to some of the system environments, which you may need to set:
|
||||
Key code mapping, loading graphic card in ASCII screen mode, setting the IO
|
||||
driver in 8 bit clean mode ... .
|
||||
|
||||
o Setting the Farsi fonts
|
||||
|
||||
+ For Vim GUI set the 'guifont' to far-a01. This is done by entering
|
||||
':set guifont=far-a01' in the Vim window.
|
||||
|
||||
You can have 'guifont' set to far-a01 by Vim during the Vim startup
|
||||
by appending the ':set guifont=far-a01' into your vimrc file.
|
||||
|
||||
Under the X Window environment, you can also start Vim with the
|
||||
'-fn far-a01' option.
|
||||
|
||||
+ For Vim within a xterm, start a xterm with the Farsi fonts (e.g.
|
||||
kterm -fn far-a01). Then start Vim inside the kterm.
|
||||
|
||||
+ For Vim under DOS, prior to the first usage of Vim, upload the Farsi
|
||||
fonts by executing the far-a01.com fonts uploading program.
|
||||
|
||||
o Farsi Keymapping Activation
|
||||
|
||||
To activate the Farsi keymapping, set either 'altkeymap' or 'fkmap'.
|
||||
This is done by entering ':set akm' or ':set fk' in the Vim window.
|
||||
You can have 'altkeymap' or 'fkmap' set as default by appending ':set akm'
|
||||
or ':set fk' in your vimrc file.
|
||||
|
||||
To turn off the Farsi keymapping as a default second language keymapping,
|
||||
reset the 'altkeymap' by entering ':set noakm'.
|
||||
|
||||
o right-to-left Farsi Mode
|
||||
|
||||
By default Vim starts in Left-to-right mode. Following are ways to change
|
||||
the window orientation:
|
||||
|
||||
+ Start Vim with the -F option (e.g. vim -F ...).
|
||||
|
||||
+ Use the F8 function key to toggle between left-to-right and right-to-left.
|
||||
|
||||
+ 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.
|
||||
|
||||
Encoding
|
||||
--------
|
||||
|
||||
The letter encoding used is the Vim extended ISIR-3342 standard with a built
|
||||
in function to convert between Vim extended ISIR-3342 and ISIR-3342 standard.
|
||||
|
||||
For document portability reasons, the letter encoding is kept the same across
|
||||
different platforms (i.e. Unix, Windows, ...).
|
||||
|
||||
|
||||
o Keyboard
|
||||
|
||||
+ CTRL-_ in insert/replace modes toggles between Farsi(akm)/Latin
|
||||
mode as follows:
|
||||
|
||||
+ CTRL-_ moves the cursor to the end of the typed text in edit mode.
|
||||
|
||||
+ CTRL-_ in command mode only toggles keyboard mapping between Farsi(akm)/
|
||||
Latin. The Farsi text is then entered in reverse insert mode.
|
||||
|
||||
+ F8 - Toggles between left-to-right and right-to-left.
|
||||
|
||||
+ F9 - Toggles the encoding between ISIR-3342 standard and Vim extended
|
||||
ISIR-3342 (supported only in right-to-left mode).
|
||||
|
||||
+ Keyboard mapping is based on the Iranian ISIRI-2901 standard.
|
||||
Following table shows the keyboard mapping while Farsi(akm) mode set:
|
||||
|
||||
-------------------------------------
|
||||
` 1 2 3 4 5 6 7 8 9 0 - =
|
||||
<09> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20>
|
||||
-------------------------------------
|
||||
~ ! @ # $ % ^ & * ( ) _ +
|
||||
~ <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20>
|
||||
-------------------------------------
|
||||
q w e r t z u i o p [ ]
|
||||
<09> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20>
|
||||
-------------------------------------
|
||||
Q W E R T Z U I O P { }
|
||||
<09> <20> <20> <20> <20> <20> <20> <20> [ ] { }
|
||||
-------------------------------------
|
||||
a s d f g h j k l ; ' \
|
||||
<09> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20>
|
||||
-------------------------------------
|
||||
A S D F G H J K L : " |
|
||||
<09> <20><> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20>
|
||||
-------------------------------------
|
||||
< y x c v b n m , . /
|
||||
<09> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20>
|
||||
-------------------------------------
|
||||
> Y X C V B N M < > ?
|
||||
<09> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20>
|
||||
-------------------------------------
|
||||
|
||||
Note:
|
||||
<09> stands for Farsi PSP (break without space)
|
||||
|
||||
<09> stands for Farsi PCN (for HAMZE attribute)
|
||||
|
||||
Restrictions
|
||||
------------
|
||||
|
||||
o In insert/replace mode and fkmap (Farsi mode) set, CTRL-B is not
|
||||
supported.
|
||||
|
||||
o If you change the character mapping between Latin/Farsi, the redo buffer
|
||||
will be reset (emptied). That is, redo is valid and will function (using
|
||||
'.') only within the mode you are in.
|
||||
|
||||
o While numbers are entered in Farsi mode, the redo buffer will be reset
|
||||
(emptied). That is, you cannot redo the last changes (using '.') after
|
||||
entering numbers.
|
||||
|
||||
o While in left-to-right mode and Farsi mode set, CTRL-R is not supported.
|
||||
|
||||
o While in right-to-left mode, the search on 'Latin' pattern does not work,
|
||||
except if you enter the Latin search pattern in reverse.
|
||||
|
||||
o In command mode there is no support for entering numbers from left
|
||||
to right and also for the sake of flexibility the keymapping logic is
|
||||
restricted.
|
||||
|
||||
o Under the X Window environment, if you want to run Vim within a xterm
|
||||
terminal emulator and Farsi mode set, you need to have an ANSI compatible
|
||||
xterm terminal emulator. This is because the letter codes above 128 decimal
|
||||
have certain meanings in the standard xterm terminal emulator.
|
||||
|
||||
Note: Under X Window environment, Vim GUI works fine in Farsi mode.
|
||||
This eliminates the need of any xterm terminal emulator.
|
||||
|
||||
|
||||
Bugs
|
||||
----
|
||||
While in insert/replace and Farsi mode set, if you repeatedly change the
|
||||
cursor position (via cursor movement) and enter new text and then try to undo
|
||||
the last change, the undo will lag one change behind. But as you continue to
|
||||
undo, you will reach the original line of text. You can also use U to undo all
|
||||
changes made in the current line.
|
||||
|
||||
For more information about the bugs refer to rileft.txt.
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
@@ -137,7 +137,6 @@ Special issues ~
|
||||
|mbyte.txt| multi-byte text support
|
||||
|mlang.txt| non-English language support
|
||||
|arabic.txt| Arabic language support and editing
|
||||
|farsi.txt| Farsi (Persian) editing
|
||||
|hebrew.txt| Hebrew language support and editing
|
||||
|russian.txt| Russian language support and editing
|
||||
|ft_ada.txt| Ada (the programming language) support
|
||||
|
@@ -92,7 +92,7 @@ tag char action in Insert mode ~
|
||||
|i_CTRL-]| CTRL-] trigger abbreviation
|
||||
|i_CTRL-^| CTRL-^ toggle use of |:lmap| mappings
|
||||
|i_CTRL-_| CTRL-_ When 'allowrevins' set: change language
|
||||
(Hebrew, Farsi)
|
||||
(Hebrew)
|
||||
|
||||
<Space> to '~' not used, except '0' and '^' followed by
|
||||
CTRL-D
|
||||
@@ -1029,7 +1029,7 @@ tag command action in Command-line editing mode ~
|
||||
|c_CTRL-]| CTRL-] trigger abbreviation
|
||||
|c_CTRL-^| CTRL-^ toggle use of |:lmap| mappings
|
||||
|c_CTRL-_| CTRL-_ when 'allowrevins' set: change language
|
||||
(Hebrew, Farsi)
|
||||
(Hebrew)
|
||||
|c_<Del>| <Del> delete the character under the cursor
|
||||
|
||||
|c_<Left>| <Left> cursor left
|
||||
|
@@ -561,17 +561,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
into reverse Insert mode, and don't know how to get out. See
|
||||
'revins'.
|
||||
|
||||
*'altkeymap'* *'akm'* *'noaltkeymap'* *'noakm'*
|
||||
'altkeymap' 'akm' boolean (default off)
|
||||
global
|
||||
When on, the second language is Farsi. In editing mode CTRL-_ toggles
|
||||
the keyboard map between Farsi and English, when 'allowrevins' set.
|
||||
|
||||
When off, the keyboard map toggles between Hebrew and English. This
|
||||
is useful to start the Vim in native mode i.e. English (left-to-right
|
||||
mode) and have default second language Farsi or Hebrew (right-to-left
|
||||
mode). See |farsi.txt|.
|
||||
|
||||
*'ambiwidth'* *'ambw'*
|
||||
'ambiwidth' 'ambw' string (default: "single")
|
||||
global
|
||||
@@ -2397,13 +2386,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
matter.
|
||||
See the 'endofline' option.
|
||||
|
||||
*'fkmap'* *'fk'* *'nofkmap'* *'nofk'*
|
||||
'fkmap' 'fk' boolean (default off) *E198*
|
||||
global
|
||||
When on, the keyboard is mapped for the Farsi character set.
|
||||
Normally you would set 'allowrevins' and use CTRL-_ in insert mode to
|
||||
toggle this option |i_CTRL-_|. See |farsi.txt|.
|
||||
|
||||
*'foldclose'* *'fcl'*
|
||||
'foldclose' 'fcl' string (default "")
|
||||
global
|
||||
@@ -4635,7 +4617,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|
||||
search "/" and "?" commands
|
||||
|
||||
This is useful for languages such as Hebrew, Arabic and Farsi.
|
||||
This is useful for languages such as Hebrew and Arabic.
|
||||
The 'rightleft' option must be set for 'rightleftcmd' to take effect.
|
||||
|
||||
*'ruler'* *'ru'* *'noruler'* *'noru'*
|
||||
|
@@ -597,7 +597,6 @@ In Insert or Command-line mode:
|
||||
Short explanation of each option: *option-list*
|
||||
'aleph' 'al' ASCII code of the letter Aleph (Hebrew)
|
||||
'allowrevins' 'ari' allow CTRL-_ in Insert and Command-line mode
|
||||
'altkeymap' 'akm' for default second language (Farsi/Hebrew)
|
||||
'ambiwidth' 'ambw' what to do with Unicode chars of ambiguous width
|
||||
'autochdir' 'acd' change directory to the file in the current window
|
||||
'arabic' 'arab' for Arabic as a default second language
|
||||
@@ -688,7 +687,6 @@ Short explanation of each option: *option-list*
|
||||
'filetype' 'ft' type of file, used for autocommands
|
||||
'fillchars' 'fcs' characters to use for displaying special items
|
||||
'fixendofline' 'fixeol' make sure last line in file has <EOL>
|
||||
'fkmap' 'fk' Farsi keyboard mapping
|
||||
'foldclose' 'fcl' close a fold when the cursor leaves it
|
||||
'foldcolumn' 'fdc' width of the column used to indicate folds
|
||||
'foldenable' 'fen' set to display all folds open
|
||||
@@ -1122,7 +1120,6 @@ Context-sensitive completion on the command-line:
|
||||
|-b| -b binary mode
|
||||
|-l| -l lisp mode
|
||||
|-A| -A Arabic mode ('arabic' is set)
|
||||
|-F| -F Farsi mode ('fkmap' and 'rightleft' are set)
|
||||
|-H| -H Hebrew mode ('hkmap' and 'rightleft' are set)
|
||||
|-V| -V Verbose, give informative messages
|
||||
|-r| -r give list of swap files
|
||||
|
@@ -53,8 +53,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|, |farsi.txt| and
|
||||
|hebrew.txt|.
|
||||
current supported languages include - |arabic.txt| and |hebrew.txt|.
|
||||
|
||||
|
||||
Of Interest...
|
||||
|
@@ -231,9 +231,6 @@ argument.
|
||||
*-A*
|
||||
-A Arabic mode. Sets the 'arabic' option on.
|
||||
|
||||
*-F*
|
||||
-F Farsi mode. Sets the 'fkmap' and 'rightleft' options on.
|
||||
|
||||
*-H*
|
||||
-H Hebrew mode. Sets the 'hkmap' and 'rightleft' options on.
|
||||
|
||||
|
@@ -330,7 +330,6 @@ N *+digraphs* |digraphs| *E196*
|
||||
N *+eval* expression evaluation |eval.txt|
|
||||
N *+ex_extra* always on now, used to be for Vim's extra Ex commands
|
||||
N *+extra_search* |'hlsearch'| and |'incsearch'| options.
|
||||
B *+farsi* |farsi| language
|
||||
N *+file_in_path* |gf|, |CTRL-W_f| and |<cfile>|
|
||||
N *+find_in_path* include file searches: |[I|, |:isearch|,
|
||||
|CTRL-W_CTRL-I|, |:checkpath|, etc.
|
||||
|
@@ -1141,12 +1141,6 @@ if has("rightleft")
|
||||
call append("$", "hkmapp\tuse phonetic Hebrew keyboard mapping")
|
||||
call <SID>BinOptionG("hkp", &hkp)
|
||||
endif
|
||||
if has("farsi")
|
||||
call append("$", "altkeymap\tuse Farsi as the second language when 'revins' is set")
|
||||
call <SID>BinOptionG("akm", &akm)
|
||||
call append("$", "fkmap\tuse Farsi keyboard mapping")
|
||||
call <SID>BinOptionG("fk", &fk)
|
||||
endif
|
||||
if has("arabic")
|
||||
call append("$", "arabic\tprepare for editing Arabic text")
|
||||
call append("$", "\t(local to window)")
|
||||
|
Reference in New Issue
Block a user