diff options
author | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2021-04-29 21:13:43 -0400 |
---|---|---|
committer | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2021-04-29 21:56:34 -0400 |
commit | 1e03e76dafb5d166bb3d9ed262695f306de6ac4d (patch) | |
tree | 6a56adadbd656a2fe074e558d9043e1337eabe5f /runtime | |
parent | 9f54d125d2b601029cb2b6dbffcc361c2e8fb974 (diff) | |
download | rneovim-1e03e76dafb5d166bb3d9ed262695f306de6ac4d.tar.gz rneovim-1e03e76dafb5d166bb3d9ed262695f306de6ac4d.tar.bz2 rneovim-1e03e76dafb5d166bb3d9ed262695f306de6ac4d.zip |
vim-patch:207f009326c8
Update runtime files.
https://github.com/vim/vim/commit/207f009326c8f878defde0e594d7d9ed9860106e
Omit nl.po.
Diffstat (limited to 'runtime')
28 files changed, 345 insertions, 72 deletions
diff --git a/runtime/autoload/dist/ft.vim b/runtime/autoload/dist/ft.vim index 91f9585669..1ac74b5785 100644 --- a/runtime/autoload/dist/ft.vim +++ b/runtime/autoload/dist/ft.vim @@ -1,7 +1,7 @@ " Vim functions for file type detection " " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2020 Mar 30 +" Last Change: 2020 Aug 17 " These functions are moved here from runtime/filetype.vim to make startup " faster. diff --git a/runtime/compiler/eslint.vim b/runtime/compiler/eslint.vim index 1e7af2b182..7d57acbdf4 100644 --- a/runtime/compiler/eslint.vim +++ b/runtime/compiler/eslint.vim @@ -1,7 +1,7 @@ " Vim compiler file " Compiler: ESLint for JavaScript " Maintainer: Romain Lafourcade <romainlafourcade@gmail.com> -" Last Change: 2020 May 17 +" Last Change: 2020 August 20 if exists("current_compiler") finish @@ -12,5 +12,5 @@ if exists(":CompilerSet") != 2 command -nargs=* CompilerSet setlocal <args> endif -CompilerSet makeprg=eslint\ --format\ compact +CompilerSet makeprg=npx\ eslint\ --format\ compact CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m,%-G%.%# diff --git a/runtime/compiler/standard.vim b/runtime/compiler/standard.vim index b6bcf1f6b0..50b7c97ca7 100644 --- a/runtime/compiler/standard.vim +++ b/runtime/compiler/standard.vim @@ -1,7 +1,7 @@ " Vim compiler file " Compiler: Standard for JavaScript " Maintainer: Romain Lafourcade <romainlafourcade@gmail.com> -" Last Change: 2020 May 17 +" Last Change: 2020 August 20 if exists("current_compiler") finish @@ -12,5 +12,5 @@ if exists(":CompilerSet") != 2 command -nargs=* CompilerSet setlocal <args> endif -CompilerSet makeprg=standard -CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m,%-G%.%# +CompilerSet makeprg=npx\ standard +CompilerSet errorformat=%f:%l:%c:\ %m,%-G%.%# diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt index 18cafa8d63..cd73e118e3 100644 --- a/runtime/doc/change.txt +++ b/runtime/doc/change.txt @@ -141,7 +141,7 @@ commands, except "gJ", delete any leading white space on the next line. If the 'joinspaces' option is on, these commands insert two spaces after a '.', '!' or '?'. The 'B' and 'M' flags in 'formatoptions' change the behavior for inserting -spaces before and after a multi-byte character |fo-table|. +spaces before and after a multibyte character |fo-table|. The '[ mark is set at the end of the first line that was joined, '] at the end of the resulting line. @@ -1623,11 +1623,11 @@ b Like 'v', but only auto-wrap if you enter a blank at or before l Long lines are not broken in insert mode: When a line was longer than 'textwidth' when the insert command started, Vim does not automatically format it. -m Also break at a multi-byte character above 255. This is useful for +m Also break at a multibyte character above 255. This is useful for Asian text where every character is a word on its own. -M When joining lines, don't insert a space before or after a multi-byte +M When joining lines, don't insert a space before or after a multibyte character. Overrules the 'B' flag. -B When joining lines, don't insert a space between two multi-byte +B When joining lines, don't insert a space between two multibyte characters. Overruled by the 'M' flag. 1 Don't break a line after a one-letter word. It's broken before it instead (if possible). diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt index 564f2302f5..10e1501927 100644 --- a/runtime/doc/editing.txt +++ b/runtime/doc/editing.txt @@ -614,7 +614,7 @@ list of the current window. :args ## x < This will add the "x" item and sort the new list. -:argd[elete] {pattern} .. *:argd* *:argdelete* *E480* +:argd[elete] {pattern} .. *:argd* *:argdelete* *E480* *E610* Delete files from the argument list that match the {pattern}s. {pattern} is used like a file pattern, see |file-pattern|. "%" can be used to delete the @@ -624,7 +624,7 @@ list of the current window. Example: > :argdel *.obj -:[range]argd[elete] Delete the {range} files from the argument list. +:[range]argd[elete] Delete the [range] files from the argument list. Example: > :10,$argdel < Deletes arguments 10 and further, keeping 1-9. > diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 5a1f8cea54..ba2b3d567c 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -945,11 +945,14 @@ in any order. E.g., these are all possible: expr8[expr1] item of String or |List| *expr-[]* *E111* *subscript* - +In legacy Vim script: If expr8 is a Number or String this results in a String that contains the -expr1'th single byte from expr8. expr8 is used as a String, expr1 as a -Number. This doesn't recognize multi-byte encodings, see `byteidx()` for -an alternative, or use `split()` to turn the string into a list of characters. +expr1'th single byte from expr8. expr8 is used as a String (a number is +automatically converted to a String), expr1 as a Number. This doesn't +recognize multibyte encodings, see `byteidx()` for an alternative, or use +`split()` to turn the string into a list of characters. Example, to get the +byte under the cursor: > + :let c = getline(".")[col(".") - 1] Index zero gives the first byte. This is like it works in C. Careful: text column numbers start with one! Example, to get the byte under the @@ -972,10 +975,13 @@ error. expr8[expr1a : expr1b] substring or sublist *expr-[:]* -If expr8 is a Number or String this results in the substring with the bytes -from expr1a to and including expr1b. expr8 is used as a String, expr1a and -expr1b are used as a Number. This doesn't recognize multi-byte encodings, see -|byteidx()| for computing the indexes. +If expr8 is a String this results in the substring with the bytes or +characters from expr1a to and including expr1b. expr8 is used as a String, +expr1a and expr1b are used as a Number. + +In legacy Vim script the indexes are byte indexes. This doesn't recognize +multibyte encodings, see |byteidx()| for computing the indexes. If expr8 is +a Number it is first converted to a String. If expr1a is omitted zero is used. If expr1b is omitted the length of the string minus one is used. @@ -988,6 +994,7 @@ expr1b is smaller than expr1a the result is an empty string. Examples: > :let c = name[-1:] " last byte of a string + :let c = name[0:-1] " the whole string :let c = name[-2:-2] " last but one byte of a string :let s = line(".")[4:] " from the fifth byte to the end :let s = s[:-3] " remove last two bytes diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt index e3ddb5f687..8b096ff28b 100644 --- a/runtime/doc/help.txt +++ b/runtime/doc/help.txt @@ -148,7 +148,7 @@ Programming language support ~ Language support ~ |digraph.txt| list of available digraphs -|mbyte.txt| multi-byte text 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 diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt index 69118db4fe..3a6222e10d 100644 --- a/runtime/doc/intro.txt +++ b/runtime/doc/intro.txt @@ -139,8 +139,8 @@ Vim would never have become what it is now, without the help of these people! Flemming Madsen X11 client-server, various features and patches Tony Mechelynck answers many user questions Paul Moore Python interface extensions, many patches - Katsuhito Nagano Work on multi-byte versions - Sung-Hyun Nam Work on multi-byte versions + Katsuhito Nagano Work on multibyte versions + Sung-Hyun Nam Work on multibyte versions Vince Negri Win32 GUI and generic console enhancements Steve Oualline Author of the first Vim book |frombook| Dominique Pelle Valgrind reports and many fixes diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt index 452dc3cc66..82c54925fd 100644 --- a/runtime/doc/map.txt +++ b/runtime/doc/map.txt @@ -176,6 +176,12 @@ whether to use the "," mapping or the longer one. To avoid this add the <nowait> argument. Then the mapping will be used when it matches, Vim does not wait for more characters to be typed. However, if the characters were already typed they are used. +Note that this works when the <nowait> mapping fully matches and is found +before any partial matches. This works when: +- There is only one matching buffer-local mapping, since these are always + found before global mappings. +- There is another buffer-local mapping that partly matches, but it is was + defined earlier (last defined mapping is found first). *:map-<silent>* *:map-silent* To define a mapping which will not be echoed on the command line, add @@ -601,7 +607,7 @@ construct can be used: <Char-033> character 27 <Char-0x7f> character 127 <S-Char-114> character 114 ('r') shifted ('R') -This is useful to specify a (multi-byte) character in a 'keymap' file. +This is useful to specify a (multibyte) character in a 'keymap' file. Upper and lowercase differences are ignored. *map-comments* diff --git a/runtime/doc/mbyte.txt b/runtime/doc/mbyte.txt index 952e8efad7..092f54608d 100644 --- a/runtime/doc/mbyte.txt +++ b/runtime/doc/mbyte.txt @@ -22,7 +22,7 @@ Getting started *mbyte-first* This is a summary of the multibyte features in Vim. If you are lucky it works as described and you can start using Vim without much trouble. If something doesn't work you will have to read the rest. Don't be surprised if it takes -quite a bit of work and experimenting to make Vim use all the multi-byte +quite a bit of work and experimenting to make Vim use all the multibyte features. Unfortunately, every system has its own way to deal with multibyte languages and it is quite complicated. @@ -85,7 +85,7 @@ You can also set 'guifont' alone, the Nvim GUI will try to find a matching INPUT -There are several ways to enter multi-byte characters: +There are several ways to enter multibyte characters: - For X11 XIM can be used. See |XIM|. - For MS-Windows IME can be used. See |IME|. - For all systems keymaps can be used. See |mbyte-keymap|. @@ -198,11 +198,11 @@ encoded with one byte, we call this a single-byte encoding. The most often used one is called "latin1". This limits the number of characters to 256. Some of these are control characters, thus even fewer can be used for text. -When some characters use two or more bytes, we call this a multi-byte +When some characters use two or more bytes, we call this a multibyte encoding. This allows using much more than 256 characters, which is required for most East Asian languages. -Most multi-byte encodings use one byte for the first 127 characters. These +Most multibyte encodings use one byte for the first 127 characters. These are equal to ASCII, which makes it easy to exchange plain-ASCII text, no matter what language is used. Thus you might see the right text even when the encoding was set wrong. @@ -921,7 +921,7 @@ not everybody is able to type a composing character. ============================================================================== Overview of options *mbyte-options* -These options are relevant for editing multi-byte files. +These options are relevant for editing multibyte files. 'fileencoding' Encoding of a file. When it's different from "utf-8" conversion is done when reading or writing the file. @@ -941,7 +941,7 @@ These options are relevant for editing multi-byte files. ============================================================================== -Contributions specifically for the multi-byte features by: +Contributions specifically for the multibyte features by: Chi-Deok Hwang <hwang@mizi.co.kr> SungHyun Nam <goweol@gmail.com> K.Nagano <nagano@atese.advantest.co.jp> diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt index 745160da8a..85e11634fc 100644 --- a/runtime/doc/message.txt +++ b/runtime/doc/message.txt @@ -17,13 +17,14 @@ The ":messages" command can be used to view previously given messages. This is especially useful when messages have been overwritten or truncated. This depends on the 'shortmess' option. - :messages Show all messages. + :mes[sages] Show all messages. - :{count}messages Show the {count} most recent messages. + :{count}mes[sages] Show the {count} most recent messages. - :messages clear Clear all messages. + :mes[sages] clear Clear all messages. - :{count}messages clear Clear messages, keeping only the {count} most + :{count}mes[sages] clear + Clear messages, keeping only the {count} most recent ones. The number of remembered messages is fixed at 20 for the tiny version and 200 diff --git a/runtime/doc/mlang.txt b/runtime/doc/mlang.txt index 5217b2c160..b57d2b592a 100644 --- a/runtime/doc/mlang.txt +++ b/runtime/doc/mlang.txt @@ -7,7 +7,7 @@ Multi-language features *multilang* *multi-lang* This is about using messages and menus in various languages. For editing -multi-byte text see |multibyte|. +multibyte text see |multibyte|. The basics are explained in the user manual: |usr_45.txt|. diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt index c5393eded3..763ff02db1 100644 --- a/runtime/doc/motion.txt +++ b/runtime/doc/motion.txt @@ -478,10 +478,11 @@ a set of section macros, specified by the pairs of characters in the 'sections' option. The default is "SHNHH HUnhsh", which defines a section to start at the nroff macros ".SH", ".NH", ".H", ".HU", ".nh" and ".sh". -The "]" and "[" commands stop at the '{' or '}' in the first column. This is -useful to find the start or end of a function in a C program. Note that the -first character of the command determines the search direction and the -second character the type of brace found. +The "]]" and "[[" commands stop at the '{' in the first column. This is +useful to find the start of a function in a C program. To search for a '}' in +the first column, the end of a C function, use "][" (forward) or "[]" +(backward). Note that the first character of the command determines the +search direction. If your '{' or '}' are not in the first column, and you would like to use "[[" and "]]" anyway, try these mappings: > @@ -1169,7 +1170,7 @@ sequence of small changes in a line, for example "xxxxx", adds many positions to the change list. When 'textwidth' is zero 'wrapmargin' is used. When that also isn't set a fixed number of 79 is used. Detail: For the computations bytes are used, not characters, to avoid a speed penalty (this only matters -for multi-byte encodings). +for multibyte encodings). Note that when text has been inserted or deleted the cursor position might be a bit different from the position of the change. Especially when lines have diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index ef2957fcbe..79dcea510c 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -2028,8 +2028,9 @@ A jump table for the options with a short description can be found at |Q_op|. is replaced with the path name of the edited file. - For Unix and Win32, if a directory ends in two path separators "//", the swap file name will be built from the complete path to the file - with all path separators substituted to percent '%' signs. This will - ensure file name uniqueness in the preserve directory. + with all path separators replaced by percent '%' signs (including + the colon following the drive letter on Win32). This will ensure + file name uniqueness in the preserve directory. On Win32, it is also possible to end with "\\". However, When a separating comma is following, you must use "//", since "\\" will include the comma in the file name. Therefore it is recommended to @@ -4762,7 +4763,7 @@ A jump table for the options with a short description can be found at |Q_op|. screen. If the statusline is given by 'statusline' (i.e. not empty), this option takes precedence over 'ruler' and 'rulerformat' If the number of characters displayed is different from the number of - bytes in the text (e.g., for a TAB or a multi-byte character), both + bytes in the text (e.g., for a TAB or a multibyte character), both the text column (byte number) and the screen column are shown, separated with a dash. For an empty line "0-1" is shown. diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt index e90532974c..92147ecbce 100644 --- a/runtime/doc/pattern.txt +++ b/runtime/doc/pattern.txt @@ -928,7 +928,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on): These three can be used to match specific columns in a buffer or string. The "23" can be any column number. The first column is 1. Actually, the column is the byte number (thus it's not exactly right - for multi-byte characters). + for multibyte characters). WARNING: When inserting or deleting text Vim does not automatically update the matches. This means Syntax highlighting quickly becomes wrong. @@ -983,7 +983,7 @@ Character classes: \p printable character (see 'isprint' option) */\p* \P like "\p", but excluding digits */\P* -NOTE: the above also work for multi-byte characters. The ones below only +NOTE: the above also work for multibyte characters. The ones below only match ASCII characters, as indicated by the range. *whitespace* *white-space* @@ -1120,9 +1120,9 @@ x A single character, with no special meaning, matches itself a list of at least one character, each of which is either '-', '.', '/', alphabetic, numeric, '_' or '~'. These items only work for 8-bit characters, except [:lower:] and - [:upper:] also work for multi-byte characters when using the new + [:upper:] also work for multibyte characters when using the new regexp engine. See |two-engines|. In the future these items may - work for multi-byte characters. For now, to get all "alpha" + work for multibyte characters. For now, to get all "alpha" characters you can use: [[:lower:][:upper:]]. The "Func" column shows what library function is used. The @@ -1245,8 +1245,8 @@ When working with expression evaluation, a <NL> character in the pattern matches a <NL> in the string. The use of "\n" (backslash n) to match a <NL> doesn't work there, it only works to match text in the buffer. - *pattern-multi-byte* -Patterns will also work with multi-byte characters, mostly as you would + *pattern-multi-byte* *pattern-multibyte* +Patterns will also work with multibyte characters, mostly as you would expect. But invalid bytes may cause trouble, a pattern with an invalid byte will probably never match. diff --git a/runtime/doc/print.txt b/runtime/doc/print.txt index d5cebb3efc..e7de5b9ee3 100644 --- a/runtime/doc/print.txt +++ b/runtime/doc/print.txt @@ -101,7 +101,7 @@ If 'printencoding' is empty or Vim cannot find the file then it will use encoding file. If Vim is unable to find a character encoding file then it will use the "latin1" print character encoding file. -When 'encoding' is set to a multi-byte encoding, Vim will try to convert +When 'encoding' is set to a multibyte encoding, Vim will try to convert characters to the printing encoding for printing (if 'printencoding' is empty then the conversion will be to latin1). Conversion to a printing encoding other than latin1 will require Vim to be compiled with the |+iconv| feature. @@ -251,7 +251,7 @@ Japanese text you would do the following; > :set printmbcharset=JIS_X_1983 If 'printmbcharset' is not one of the above values then it is assumed to -specify a custom multi-byte character set and no check will be made that it is +specify a custom multibyte character set and no check will be made that it is compatible with the value for 'printencoding'. Vim will look for a file defining the character set in the "print" directory in 'runtimepath'. @@ -286,7 +286,7 @@ printing of characters in the ASCII code range. a:yes Use ASCII character set for codes in the ASCII a:no (default) code range. -The following is an example of specifying two multi-byte fonts, one for normal +The following is an example of specifying two multibyte fonts, one for normal and italic printing and one for bold and bold-italic printing, and using Courier to print codes in the ASCII code range but using the national character set: > @@ -402,10 +402,10 @@ There are currently a number of limitations with PostScript printing: possible to get all the characters in an encoding to print by installing a new version of the Courier font family. -- Multi-byte support - Currently Vim will try to convert multi-byte characters +- Multi-byte support - Currently Vim will try to convert multibyte characters to the 8-bit encoding specified by 'printencoding' (or latin1 if it is empty). Any characters that are not successfully converted are shown as - unknown characters. Printing will fail if Vim cannot convert the multi-byte + unknown characters. Printing will fail if Vim cannot convert the multibyte to the 8-bit encoding. ============================================================================== @@ -490,7 +490,7 @@ print ASCII text using the national character set you may see some unexpected characters. If you want true ASCII code printing then you need to configure Vim to output ASCII characters for the ASCII code range with 'printmbfont'. -It is possible to define your own multi-byte character set although this +It is possible to define your own multibyte character set although this should not be attempted lightly. A discussion on the process if beyond the scope of these help files. You can find details on CMap (character map) files in the document 'Adobe CMap and CIDFont Files Specification, Version 1.0', diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt index 7fa449cdca..fb20a583c9 100644 --- a/runtime/doc/quickref.txt +++ b/runtime/doc/quickref.txt @@ -680,7 +680,7 @@ Short explanation of each option: *option-list* 'eventignore' 'ei' autocommand events that are ignored 'expandtab' 'et' use spaces when <Tab> is inserted 'exrc' 'ex' read .nvimrc and .exrc in the current directory -'fileencoding' 'fenc' file encoding for multi-byte text +'fileencoding' 'fenc' file encoding for multibyte text 'fileencodings' 'fencs' automatically detected character encodings 'fileformat' 'ff' file format used for file I/O 'fileformats' 'ffs' automatically detected values for 'fileformat' diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt index 8fa59c8dc3..f722747ce9 100644 --- a/runtime/doc/spell.txt +++ b/runtime/doc/spell.txt @@ -854,7 +854,7 @@ time ":mkspell" is used. Vim will then convert everything to 'encoding' and generate a spell file for 'encoding'. If some of the used characters to not fit in 'encoding' you will get an error message. *spell-affix-mbyte* -When using a multi-byte encoding it's possible to use more different affix +When using a multibyte encoding it's possible to use more different affix flags. But Myspell doesn't support that, thus you may not want to use it anyway. For compatibility use an 8-bit encoding. diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt index fa9a8bbd2b..a13d9f5190 100644 --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -4300,7 +4300,7 @@ Notes: - A negative offset for an end pattern may not always work, because the end pattern may be detected when the highlighting should already have stopped. - Before Vim 7.2 the offsets were counted in bytes instead of characters. - This didn't work well for multi-byte characters, so it was changed with the + This didn't work well for multibyte characters, so it was changed with the Vim 7.2 release. - The start of a match cannot be in a line other than where the pattern matched. This doesn't work: "a\nb"ms=e. You can make the highlighting diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt index 01ef1645f0..80c0592c7c 100644 --- a/runtime/doc/usr_41.txt +++ b/runtime/doc/usr_41.txt @@ -1918,7 +1918,7 @@ with this mechanism: > 22 map <unique> <Leader>a <Plug>TypecorrAdd; 23 endif -This checks if a mapping to "<Plug>TypecorrAdd/" already exists, and only +This checks if a mapping to "<Plug>TypecorrAdd;" already exists, and only defines the mapping from "<Leader>a" if it doesn't. The user then has a chance of putting this in his vimrc file: > diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt index 52e2d9828b..f8d8dbd294 100644 --- a/runtime/doc/various.txt +++ b/runtime/doc/various.txt @@ -92,7 +92,7 @@ g8 Print the hex values of the bytes used in the encoding because it contains illegal bytes. Does not wrap around the end of the file. Note that when the cursor is on an illegal byte or the - cursor is halfway through a multi-byte character the + cursor is halfway through a multibyte character the command won't move the cursor. *:p* *:pr* *:print* *E749* @@ -137,16 +137,16 @@ g8 Print the hex values of the bytes used in the :{range}z[+-^.=]{count} Display several lines of text surrounding the line specified with {range}, or around the current line if there is no {range}. If there is a {count}, that's - how many lines you'll see; if there is only one window - then twice the value of the 'scroll' option is used, - otherwise the current window height minus 3 is used. + how many lines you'll see; if there is no {count} and + only one window then twice the value of the 'scroll' + option is used, otherwise the current window height + minus 3 is used. If there is a {count} the 'window' option is set to its value. :z can be used either alone or followed by any of - several punctuation marks. These have the following - effect: + several marks. These have the following effect: mark first line last line new cursor line ~ ---- ---------- --------- ------------ diff --git a/runtime/doc/vi_diff.txt b/runtime/doc/vi_diff.txt index beecca2480..9961272989 100644 --- a/runtime/doc/vi_diff.txt +++ b/runtime/doc/vi_diff.txt @@ -358,7 +358,7 @@ Editing binary files. |edit-binary| last line in the file. Multi-language support. |multi-lang| - Files in double-byte or multi-byte encodings can be edited. There is + Files in double-byte or multibyte encodings can be edited. There is UTF-8 support to be able to edit various languages at the same time, without switching fonts. |UTF-8| Messages and menus are available in different languages. diff --git a/runtime/keymap/russian-typograph.vim b/runtime/keymap/russian-typograph.vim new file mode 100644 index 0000000000..a85e861e32 --- /dev/null +++ b/runtime/keymap/russian-typograph.vim @@ -0,0 +1,190 @@ +" Vim Keymap file for Russian characters +" layout English-US standard 104 key 'QWERTY', 'JCUKEN' +" +" Maintainer: Restorer <restorers@users.sourceforge.net> +" Last Changed: 20 Jan 2019 +" Description: Раскладка сделана на основе раскладки «русская машинопись» +" (KBDRU1.DLL), поставляемой в составе ОС MS Windows. Эта раскладка позволяет +" печать практически все знаки препинания используя цифровой ряд и не требуя при +" этом нажатия дополнительных клавиш, ну и также удобное расположение буквы «Ё». +" Однако были внесены некоторые дополнения (улучшения?), в частности: +" ‐ раздельные символы круглых скобок (), расположены на тех же позициях, что и +" в US-International; +" ‐ раздельные символы типографских кавычек «», расположены на клавишах «3» и +" «4» соответственно; +" ‐ на этих же клавишах находятся внутренние кавычки “лапки”, набираемые при +" нажатой клавише «ALT»; +" ‐ возможность набирать символы, отсутствующие в русской раскладке клавиатуры, +" а именно @#$^&*{}[]"'`~<>, которые расположены на тех же местах, что и раньше. +" Для этого не требуется переключаться в латинскую раскладку клавиатуры, а +" оставаясь в русской, использовать для этого дополнительные клавиши «SHIFT» и +" «ALT»; +" ‐ и ещё несколько удобств, которые позволяют быстро и с минимальными усилиями +" набирать текст. + +scriptencoding utf-8 + +" Переключение языка ввода со стандартного сочетания <CTRL+^> на указанные ниже +" Для режимов вставки и замены +""или SHIFT+SPACE +" inoremap <S-Space> <C-^> +""или CTRL+SPACE" +" inoremap <C-Space> <C-^> +" Для режима командной строки +""или SHIFT+SPACE +" cnoremap <S-Space> <C-^> +""или CTRL+SPACE" +" cnoremap <C-Space> <C-^> +" Одной командой для режимов вставки, замены и командной строки +" noremap! <S-Space> <C-^> +" noremap! <C-Space> <C-^> +" +" Стандартное переключение по CTRL+^ после этих переназначений также сохраняется + +let b:keymap_name ="RUS" + +loadkeymap + +" DIGITAL ROW + +" The Shift key is not pressed +" +<char-0x0060> <char-0x0025> " PERCENT SIGN +<char-0x0031> <char-0x0021> " EXCLAMATION MARK +<char-0x0032> <char-0x2014> " EM DASH +<char-0x0033> <char-0x00ab> " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +<char-0x0034> <char-0x00bb> " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +<char-0x0035> <char-0x003a> " COLON +<char-0x0036> <char-0x002c> " COMMA +<char-0x0037> <char-0x002e> " FULL STOP +<char-0x0038> <char-0x003f> " QUESTION MARK +<char-0x0039> <char-0x0028> " LEFT PARENTHESIS +<char-0x0030> <char-0x0029> " RIGHT PARENTHESIS +<char-0x002d> <char-0x2010> " HYPHEN +<char-0x003d> <char-0x003b> " SEMICOLON + +" The Shift key is pressed + +<char-0x007e> <char-0x003d> " EQUALS SIGN +<char-0x0021> <char-0x0031> " DIGIT ONE +<char-0x0040> <char-0x0032> " DIGIT TWO +<char-0x0023> <char-0x0033> " DIGIT THREE +<char-0x0024> <char-0x0034> " DIGIT FOUR +<char-0x0025> <char-0x0035> " DIGIT FIVE +<char-0x005e> <char-0x0036> " DIGIT SIX +<char-0x0026> <char-0x0037> " DIGIT SEVEN +<char-0x002a> <char-0x0038> " DIGIT EIGHT +<char-0x0028> <char-0x0039> " DIGIT NINE +<char-0x0029> <char-0x0030> " DIGIT ZERO +<char-0x005f> <char-0x002d> " HYPHEN-MINUS +<char-0x002b> <char-0x002b> " PLUS SIGN + +" ALPHABETICAL 1st ROW + +<char-0x0071> <char-0x0439> " CYRILLIC SMALL LETTER SHORT I +<char-0x0051> <char-0x0419> " CYRILLIC CAPITAL LETTER SHORT I +<char-0x0077> <char-0x0446> " CYRILLIC SMALL LETTER TSE +<char-0x0057> <char-0x0426> " CYRILLIC CAPITAL LETTER TSE +<char-0x0065> <char-0x0443> " CYRILLIC SMALL LETTER U +<char-0x0045> <char-0x0423> " CYRILLIC CAPITAL LETTER U +<char-0x0072> <char-0x043a> " CYRILLIC SMALL LETTER KA +<char-0x0052> <char-0x041a> " CYRILLIC CAPITAL LETTER KA +<char-0x0074> <char-0x0435> " CYRILLIC SMALL LETTER IE +<char-0x0054> <char-0x0415> " CYRILLIC CAPITAL LETTER IE +<char-0x0079> <char-0x043d> " CYRILLIC SMALL LETTER EN +<char-0x0059> <char-0x041d> " CYRILLIC CAPITAL LETTER EN +<char-0x0075> <char-0x0433> " CYRILLIC SMALL LETTER GHE +<char-0x0055> <char-0x0413> " CYRILLIC CAPITAL LETTER GHE +<char-0x0069> <char-0x0448> " CYRILLIC SMALL LETTER SHA +<char-0x0049> <char-0x0428> " CYRILLIC CAPITAL LETTER SHA +<char-0x006f> <char-0x0449> " CYRILLIC SMALL LETTER SHCHA +<char-0x004f> <char-0x0429> " CYRILLIC CAPITAL LETTER SHCHA +<char-0x0070> <char-0x0437> " CYRILLIC SMALL LETTER ZE +<char-0x0050> <char-0x0417> " CYRILLIC CAPITAL LETTER ZE +<char-0x005b> <char-0x0445> " CYRILLIC SMALL LETTER HA +<char-0x007b> <char-0x0425> " CYRILLIC CAPITAL LETTER HA +<char-0x005d> <char-0x044a> " CYRILLIC SMALL LETTER HARD SIGN +<char-0x007d> <char-0x042a> " CYRILLIC CAPITAL LETTER HARD SIGN + +" ALPHABETIC 2st ROW + +<char-0x0061> <char-0x0444> " CYRILLIC SMALL LETTER EF +<char-0x0041> <char-0x0424> " CYRILLIC CAPITAL LETTER EF +<char-0x0073> <char-0x044b> " CYRILLIC SMALL LETTER YERU +<char-0x0053> <char-0x042b> " CYRILLIC CAPITAL LETTER YERU +<char-0x0064> <char-0x0432> " CYRILLIC SMALL LETTER VE +<char-0x0044> <char-0x0412> " CYRILLIC CAPITAL LETTER VE +<char-0x0066> <char-0x0430> " CYRILLIC SMALL LETTER A +<char-0x0046> <char-0x0410> " CYRILLIC CAPITAL LETTER A +<char-0x0067> <char-0x043f> " CYRILLIC SMALL LETTER PE +<char-0x0047> <char-0x041f> " CYRILLIC CAPITAL LETTER PE +<char-0x0068> <char-0x0440> " CYRILLIC SMALL LETTER ER +<char-0x0048> <char-0x0420> " CYRILLIC CAPITAL LETTER ER +<char-0x006a> <char-0x043e> " CYRILLIC SMALL LETTER O +<char-0x004a> <char-0x041e> " CYRILLIC CAPITAL LETTER O +<char-0x006b> <char-0x043b> " CYRILLIC SMALL LETTER EL +<char-0x004b> <char-0x041b> " CYRILLIC CAPITAL LETTER EL +<char-0x006c> <char-0x0434> " CYRILLIC SMALL LETTER DE +<char-0x004c> <char-0x0414> " CYRILLIC CAPITAL LETTER DE +<char-0x003b> <char-0x0436> " CYRILLIC SMALL LETTER ZHE +<char-0x003a> <char-0x0416> " CYRILLIC CAPITAL LETTER ZHE +<char-0x0027> <char-0x044d> " CYRILLIC SMALL LETTER E +<char-0x0022> <char-0x042d> " CYRILLIC CAPITAL LETTER E + +" ALPHABETIC 3st ROW + +<char-0x007a> <char-0x044f> " CYRILLIC SMALL LETTER YA +<char-0x005a> <char-0x042f> " CYRILLIC CAPITAL LETTER YA +<char-0x0078> <char-0x0447> " CYRILLIC SMALL LETTER CHE +<char-0x0058> <char-0x0427> " CYRILLIC CAPITAL LETTER CHE +<char-0x0063> <char-0x0441> " CYRILLIC SMALL LETTER ES +<char-0x0043> <char-0x0421> " CYRILLIC CAPITAL LETTER ES +<char-0x0076> <char-0x043c> " CYRILLIC SMALL LETTER EM +<char-0x0056> <char-0x041c> " CYRILLIC CAPITAL LETTER EM +<char-0x0062> <char-0x0438> " CYRILLIC SMALL LETTER I +<char-0x0042> <char-0x0418> " CYRILLIC CAPITAL LETTER I +<char-0x006e> <char-0x0442> " CYRILLIC SMALL LETTER TE +<char-0x004e> <char-0x0422> " CYRILLIC CAPITAL LETTER TE +<char-0x006d> <char-0x044c> " CYRILLIC SMALL LETTER SOFT SIGN +<char-0x004d> <char-0x042c> " CYRILLIC CAPITAL LETTER SOFT SIGN +<char-0x002c> <char-0x0431> " CYRILLIC SMALL LETTER BE +<char-0x003c> <char-0x0411> " CYRILLIC CAPITAL LETTER BE +<char-0x002e> <char-0x044e> " CYRILLIC SMALL LETTER YU +<char-0x003e> <char-0x042e> " CYRILLIC CAPITAL LETTER YU +<char-0x002f> <char-0x0451> " CYRILLIC SMALL LETTER IO +<char-0x003f> <char-0x0401> " CYRILLIC CAPITAL LETTER IO + +" VK_OEM_5 key (scan code 2b) + +" The Shift key is not pressed +<char-0x005c> <char-0x002f> " SOLIDUS +" The Shift key is pressed +<char-0x007c> <char-0x005c> " REVERSE SOLIDUS + +" Alt key pressed + +<A-char-0x0060> <char-0x0060> " GRAVE ACCENT +<A-char-0x0031> <char-0x2116> " NUMERO SIGN +<A-char-0x0033> <char-0x201c> " LEFT DOUBLE QUOTATION MARK +<A-char-0x0034> <char-0x201d> " RIGHT DOUBLE QUOTATION MARK +<A-char-0x005b> <char-0x005b> " LEFT SQUARE BRACKET +<A-char-0x005d> <char-0x005d> " RIGHT SQUARE BRACKET +<A-char-0x0027> <char-0x0027> " APOSTROPHE + +" Alt and Shift keys pressed + +<A-char-0x007e> <char-0x007e> " TILDE +<A-char-0x0040> <char-0x0040> " COMMERCIAL AT +<A-char-0x0023> <char-0x0023> " NUMBER SIGN +<A-char-0x0024> <char-0x0024> " DOLLAR SIGN +<A-char-0x005e> <char-0x005e> " CIRCUMFLEX ACCENT +<A-char-0x0026> <char-0x0026> " AMPERSAND +<A-char-0x002a> <char-0x002a> " ASTERISK +<A-char-0x005f> <char-0x005f> " LOW LINE +<A-char-0x007b> <char-0x007b> " LEFT CURLY BRACKET +<A-char-0x007d> <char-0x007d> " RIGHT CURLY BRACKET +<A-char-0x0022> <char-0x0022> " QUOTATION MARK +<A-char-0x003c> <char-0x003c> " LESS-THAN SIGN +<A-char-0x003e> <char-0x003e> " GREATER-THAN SIGN +<A-char-0x007c> <char-0x007c> " VERTICAL LINE + diff --git a/runtime/keymap/turkish-f.vim b/runtime/keymap/turkish-f.vim index a2774dbfff..95472cf0b2 100644 --- a/runtime/keymap/turkish-f.vim +++ b/runtime/keymap/turkish-f.vim @@ -55,7 +55,6 @@ _ ? QUESTION MARK Å Û LATIN CAPITAL LETTER U WITH CIRCUMFLEX Í Î LATIN CAPITAL LETTER I WITH CIRCUMFLEX Ï Â LATIN CAPITAL LETTER A WITH CIRCUMFLEX -` » RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK f a LATIN SMALL LETTER A , b LATIN SMALL LETTER B @@ -100,7 +99,7 @@ n z LATIN SMALL LETTER Z • [ LEFT SQUARE BRACKET ª ] RIGHT SQUARE BRACKET º } RIGHT CURLY BRACKET -– \ REVERSE SOLIDUS +– \\ REVERSE SOLIDUS ≠ | VERTICAL LINE œ @ COMMERCIAL AT ‘ ~ TILDE @@ -111,4 +110,3 @@ n z LATIN SMALL LETTER Z ˙ ₺ TURKISH LIRA SIGN ¬ £ POUND SIGN … ¥ YEN SIGN -` « LEFT-POINTING DOUBLE ANGLE QUOTATION MARK diff --git a/runtime/keymap/turkish-q.vim b/runtime/keymap/turkish-q.vim index 900c10eb92..326b08e4b9 100644 --- a/runtime/keymap/turkish-q.vim +++ b/runtime/keymap/turkish-q.vim @@ -51,7 +51,7 @@ i ı LATIN SMALL LETTER DOTLESS I • [ LEFT SQUARE BRACKET ª ] RIGHT SQUARE BRACKET º } RIGHT CURLY BRACKET -– \ REVERSE SOLIDUS +– \\ REVERSE SOLIDUS ≠ | VERTICAL LINE œ @ COMMERCIAL AT ´ € EURO SIGN diff --git a/runtime/syntax/awk.vim b/runtime/syntax/awk.vim index c9696e6feb..43455b864d 100644 --- a/runtime/syntax/awk.vim +++ b/runtime/syntax/awk.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: awk, nawk, gawk, mawk " Maintainer: Antonio Colombo <azc100@gmail.com> -" Last Change: 2020 Mar 25 +" Last Change: 2020 Aug 18 " AWK ref. is: Alfred V. Aho, Brian W. Kernighan, Peter J. Weinberger " The AWK Programming Language, Addison-Wesley, 1988 @@ -27,6 +27,8 @@ endif let s:cpo_save = &cpo set cpo&vim +syn iskeyword @,48-57,_,192-255,@-@ + " A bunch of useful Awk keywords " AWK ref. p. 188 syn keyword awkStatement break continue delete exit diff --git a/runtime/syntax/c.vim b/runtime/syntax/c.vim index 364886036a..7925e88aa5 100644 --- a/runtime/syntax/c.vim +++ b/runtime/syntax/c.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: C " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2020 Aug 11 +" Last Change: 2020 Aug 28 " Quit when a (custom) syntax file was already loaded if exists("b:current_syntax") @@ -346,6 +346,8 @@ if !exists("c_no_ansi") || exists("c_ansi_constants") || exists("c_gnu") syn keyword cConstant SIGSTOP SIGTERM SIGTRAP SIGTSTP SIGTTIN SIGTTOU SIGUSR1 SIGUSR2 syn keyword cConstant _IOFBF _IOLBF _IONBF BUFSIZ EOF WEOF FOPEN_MAX FILENAME_MAX L_tmpnam syn keyword cConstant SEEK_CUR SEEK_END SEEK_SET TMP_MAX stderr stdin stdout EXIT_FAILURE EXIT_SUCCESS RAND_MAX + " used in assert.h + syn keyword cConstant NDEBUG " POSIX 2001 syn keyword cConstant SIGBUS SIGPOLL SIGPROF SIGSYS SIGURG SIGVTALRM SIGXCPU SIGXFSZ " non-POSIX signals diff --git a/runtime/syntax/help_ru.vim b/runtime/syntax/help_ru.vim new file mode 100644 index 0000000000..8fcd63a917 --- /dev/null +++ b/runtime/syntax/help_ru.vim @@ -0,0 +1,65 @@ +" Vim syntax file +" Language: Russian Vim program help files *.rux +" Maintainer: Restorer (restorers@users.sourceforge.net) +" Last Change: 04 Aprl 2017 +" + +" Проверяем язык локали и установки опции 'helplang' +" Если не русский, то выходим из скрипта. +if ('ru' !~? v:lang || 'russian' !~? v:lang) && 'ru' !~? &helplang + finish +endif + +" Подсветка русских гиперссылок +syntax match helpHyperTextJump "\\\@<!|[^"*~# |]\+|" contains=helpBar +syntax match helpHyperTextEntry "\*[^"*|]\+\*\s"he=e-1 contains=helpStar +syntax match helpHyperTextEntry "\*[^"*|]\+\*$" contains=helpStar + +" Заголовок статьи, раздела и т. п. +syntax match helpHeadline "^[А-ЯЁ]\{2}[ .]\=[-,А-ЯЁA-Z0-9 .()]*" + +" Наименование справочника +" новый заголовок +" syntax match helpVim "\<СПРАВОЧНИК ПО РЕДАКТОРУ VIM\>" +"старый заголовок +syntax match helpVim "\<СПРАВОЧНИК ПО .*" +" новый заголовок +"syntax match helpVim "\<РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ РЕДАКТОРОМ VIM\>" +"syntax match helpVim "\<автор\%[ы:] .*$" +"старый заголовок +syntax match helpVim "\<РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ .*" +" Подсветка примечаний в тексте, начала примеров и т.п. +syntax keyword helpNote Примечание. Совет. Пример. Примеры: +syntax keyword helpWarning Внимание! +" в старой версии документации +syntax keyword helpNote Замечание: +" в старой версии документации +syntax keyword helpWarning ВНИМАНИЕ! Предупреждение: +" Подсветка Ex-команд в документации Vim +syntax match helpCommand "\":[A-Za-z!]\+\""hs=s+1,he=e-1 +" Подсветка специальных обозначений +syntax match helpSpecial "{[-а-яёА-ЯЁ0-9'":%#=[\]<>.,]\+}" +syntax match helpSpecial "{[-а-яёА-ЯЁ0-9'"*+/:%#=[\]<>.,]\+}" +syntax match helpSpecial "\s\[[-а-яё^А-ЯЁ0-9_]\{2,}]"ms=s+1 +syntax match helpSpecial "<[-а-яёА-ЯЁ0-9_]\+>" +syntax match helpSpecial "\[диапазон]" +syntax match helpSpecial "\[счётчик]" +syntax match helpSpecial "\[число]" +syntax match helpSpecial "\[+число]" +syntax match helpSpecial "\[-число]" +syntax match helpSpecial "\[кол-во]" +syntax match helpSpecial "\[строка]" +syntax match helpSpecial "\[смещение]" +syntax match helpSpecial "\[параметр]" +syntax match helpSpecial "\[параметры]" +syntax match helpSpecial "CTRL-{символ}" +syntax region helpNotVi start="{Доступно только" start="{В редкторе Vim" start="{В редакторе Vi" end="}" contains=helpLeadBlank,helpHyperTextJump +" Подсветка примечаний переводчика +syntax region helpTrnsNote start="\[Прим. перевод." end="]" contains=helpComment +" Определение группы подсветки Ex-команд в документации Vim +"hi def link helpCommand vimCommand +" Определение группы подсветки примечаний переводчика +hi def link helpTrnsNote Comment +" hi def link helpTrnsNote Comment +" +" vim: ts=8 sw=2 |