├── ftplugin └── vim.vim ├── data ├── build_shortopt_json.awk ├── build_cmd_json.awk ├── build_opt_json.awk ├── build_func_json.awk ├── build_func_json_82.awk ├── build_var_json.awk ├── def_soptcache.json ├── def_varcache.json ├── def_optcache.json └── def_funccache.json ├── plugin └── complimentary.vim ├── README.md ├── doc └── complimentary.txt └── autoload └── complimentary.vim /ftplugin/vim.vim: -------------------------------------------------------------------------------- 1 | " complimentary.vim - better completion for Vim builtins 2 | " Author: fcpg 3 | 4 | if exists('+omnifunc') 5 | setl ofu=complimentary#CompleteCpty 6 | endif 7 | 8 | let b:undo_ftplugin = "setl ofu<" 9 | -------------------------------------------------------------------------------- /data/build_shortopt_json.awk: -------------------------------------------------------------------------------- 1 | # build_shortopt_json.awk 2 | # Parse Vim doc/quickref.txt to create a JSON with opt info 3 | # Author: fcpg 4 | 5 | BEGIN { 6 | print "{"; 7 | first=1; 8 | } 9 | 10 | /\*option-list\*/ { optsect=1; next; } 11 | !optsect { next; } 12 | optsect && /\*\S+\*/ { optsect=0; nextfile; } 13 | 14 | match($0, /^'(\S+)'\s+'(\S+)'\s/, a) { 15 | long=a[1]; 16 | short=a[2]; 17 | if (!first) { 18 | print ","; 19 | } 20 | else { 21 | printf("\n"); 22 | first=0 23 | } 24 | printf("\"%s\": \"%s\"", long, short); 25 | next; 26 | } 27 | 28 | END { 29 | print "}"; 30 | } 31 | 32 | # vim: sw=2 ts=2 -------------------------------------------------------------------------------- /plugin/complimentary.vim: -------------------------------------------------------------------------------- 1 | " complimentary.vim - better completion for Vim builtins 2 | " Author: fcpg 3 | 4 | if exists("g:loaded_complimentary") || &cp 5 | finish 6 | endif 7 | let g:loaded_complimentary = 1 8 | 9 | let s:save_cpo = &cpo 10 | set cpo&vim 11 | 12 | 13 | "--------------- 14 | " Commands {{{1 15 | "--------------- 16 | 17 | if !get(g:, 'cpty_no_set_cmd', 0) 18 | command! -nargs=+ -bar -complete=customlist,complimentary#CompleteOpt Set 19 | \ set 20 | 21 | command! -nargs=+ -bar -complete=customlist,complimentary#CompleteOpt Setl 22 | \ setl 23 | 24 | command! -nargs=+ -bar -complete=customlist,complimentary#CompleteOpt Setg 25 | \ setg 26 | endif 27 | 28 | command! -bar ComplimentaryRebuild 29 | \ call complimentary#RebuildCaches() 30 | 31 | 32 | let &cpo = s:save_cpo 33 | 34 | " vim: et sw=2 ts=2 ft=vim: 35 | -------------------------------------------------------------------------------- /data/build_cmd_json.awk: -------------------------------------------------------------------------------- 1 | # build_cmd_json.awk 2 | # Parse Vim doc/index.txt to create a JSON with builtin cmd info 3 | # Author: fcpg 4 | 5 | BEGIN { 6 | print "["; 7 | first=1; 8 | } 9 | 10 | /\*:index\*/ { cmdsect=1; next; } 11 | !cmdsect { next; } 12 | cmdsect && /\*\S+\*/ { cmdsect=0; } 13 | inprogress && /^\s*$/ { cmdsect=0; } 14 | 15 | /^\|\S+\|/ || !cmdsect { 16 | if (inprogress) { 17 | gsub(/"/, "\\\"", data); 18 | printf("\"menu\": \"%s\",\n", data); 19 | printf("\"info\": \"%s\"\n", data); 20 | printf("}"); 21 | word=data=""; 22 | if (!cmdsect) { nextfile; } 23 | } 24 | inprogress=1; 25 | match($0, /^\|\S+\|\s+:(\S+)\s+(\S.*)$/, a); 26 | word=a[1]; 27 | data=a[2]; 28 | gsub(/[][]/, "", word); 29 | if (!first) { 30 | print ","; 31 | } 32 | else { 33 | first=0 34 | } 35 | print "{\"word\": \"" word "\","; 36 | next; 37 | } 38 | 39 | inprogress && /^\s+\S/ { 40 | gsub(/^\s+/, ""); 41 | data=data $0 42 | } 43 | 44 | END { 45 | print "]"; 46 | } 47 | 48 | # vim: sw=2 ts=2 -------------------------------------------------------------------------------- /data/build_opt_json.awk: -------------------------------------------------------------------------------- 1 | # build_opt_json.awk 2 | # Parse Vim doc/quickref.txt to create a JSON with opt info 3 | # Author: fcpg 4 | 5 | BEGIN { 6 | print "["; 7 | first=1; 8 | } 9 | 10 | /\*option-list\*/ { optsect=1; next; } 11 | !optsect { next; } 12 | optsect && /\*\S+\*/ { optsect=0; } 13 | inprogress && /^\s*$/ { optsect=0; } 14 | 15 | /^'\S+'/ || !optsect { 16 | if (inprogress) { 17 | gsub(/"/, "\\\"", data); 18 | gsub(/\t/, " ", data); 19 | printf("\"menu\": \"%s\",\n", data); 20 | printf("\"info\": \"%s\"\n", data); 21 | printf("}"); 22 | word=data=""; 23 | if (!optsect) { nextfile; } 24 | } 25 | inprogress=1; 26 | match($0, /^'(\S+)'\s+(\S.*)$/, a); 27 | word=a[1]; 28 | data=a[2]; 29 | gsub(/[][]/, "", word); 30 | if (!first) { 31 | print ","; 32 | } 33 | else { 34 | first=0 35 | } 36 | print "{\"word\": \"" word "\","; 37 | next; 38 | } 39 | 40 | inprogress && /^\s+\S/ { 41 | gsub(/^\s+/, ""); 42 | data=data $0 43 | } 44 | 45 | END { 46 | print "]"; 47 | } 48 | 49 | # vim: sw=2 ts=2 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Vim-Complimentary 2 | ------------------ 3 | 4 | Complimentary improves the completion of VimL builtin functions, commands, variables and options. 5 | 6 | [![asciicast](https://asciinema.org/a/A2pVI7xZeqhFzQEvtaOBBQPJL.png)](https://asciinema.org/a/A2pVI7xZeqhFzQEvtaOBBQPJL) 7 | 8 | A useful companion is the [echodoc](https://github.com/Shougo/echodoc) plugin from Shougo. 9 | 10 | Requirements 11 | ------------- 12 | This plugin requires the `getcompletion()` function (Vim8 or late 7.4 patches). 13 | 14 | `gawk` is needed if you want to rebuild the completion data yourself. 15 | 16 | Installation 17 | ------------- 18 | Use your favorite method: 19 | * [Pathogen][1] - git clone https://github.com/fcpg/vim-complimentary ~/.vim/bundle/vim-complimentary 20 | * [NeoBundle][2] - NeoBundle 'fcpg/vim-complimentary' 21 | * [Vundle][3] - Plugin 'fcpg/vim-complimentary' 22 | * [Plug][4] - Plug 'fcpg/vim-complimentary' 23 | * manual - copy all files into your ~/.vim directory 24 | 25 | License 26 | -------- 27 | [Attribution-ShareAlike 4.0 Int.](https://creativecommons.org/licenses/by-sa/4.0/) 28 | 29 | [1]: https://github.com/tpope/vim-pathogen 30 | [2]: https://github.com/Shougo/neobundle.vim 31 | [3]: https://github.com/gmarik/vundle 32 | [4]: https://github.com/junegunn/vim-plug 33 | -------------------------------------------------------------------------------- /data/build_func_json.awk: -------------------------------------------------------------------------------- 1 | # build_func_json.awk 2 | # Parse Vim doc/eval.txt to create a JSON with builtin func info 3 | # Author: fcpg 4 | 5 | BEGIN { 6 | print "["; 7 | first=1; 8 | } 9 | 10 | /\*functions\*/ { funcsect=1; next; } 11 | !funcsect { next; } 12 | funcsect && /\*\S+\*/ { funcsect=0; } 13 | 14 | /^\S+\([^)]*\)/ || !funcsect { 15 | if (inprogress) { 16 | gsub(/\\/, "\\\\", data); 17 | gsub(/"/, "\\\"", data); 18 | printf("\"menu\": \"%s\",\n", data); 19 | printf("\"info\": \"%s %s\\n\\n%s\"\n", sig, ret, data); 20 | printf("}"); 21 | word=sig=ret=data=""; 22 | if (!funcsect) { nextfile; } 23 | } 24 | inprogress=1; 25 | match($0, /^((\S+)\([^)]*\))((\s+(\S+(\s+or\s+\S+)?))(\s+(.*))?)?$/, a); 26 | word=a[2]; 27 | sig=a[1]; 28 | ret=a[5]; 29 | data=a[8]; 30 | if (!first) { 31 | print ","; 32 | } 33 | else { 34 | first=0 35 | } 36 | print "{\"word\": \"" word (match(sig, /\(\)$/) ? "()" : "(") "\","; 37 | print "\"kind\": \"f\","; 38 | next; 39 | } 40 | 41 | inprogress && /^\s+\S/ { 42 | gsub(/^\s+/, ""); 43 | if (ret == "") { 44 | match($0, /^(\S+(\s+or\s+\S+)?)(\s+(.*)$)?/, a); 45 | ret=a[1]; 46 | data=a[4]; 47 | next; 48 | } 49 | if (index($0, "\t")) { 50 | gsub(/\t/, " => ") 51 | data=data " / " $0 52 | } 53 | else { 54 | data=data $0 55 | } 56 | } 57 | 58 | END { 59 | print "]"; 60 | } 61 | 62 | # vim: sw=2 ts=2 -------------------------------------------------------------------------------- /data/build_func_json_82.awk: -------------------------------------------------------------------------------- 1 | # build_func_json.awk 2 | # Parse Vim doc/builtin.txt to create a JSON with builtin func info 3 | # Author: fcpg 4 | 5 | BEGIN { 6 | print "["; 7 | first=1; 8 | } 9 | 10 | /\*builtin-function-list\*/ { funcsect=1; next; } 11 | !funcsect { next; } 12 | funcsect && /\*\S+\*/ { funcsect=0; } 13 | 14 | /^\S+\([^)]*\)/ || !funcsect { 15 | if (inprogress) { 16 | gsub(/\\/, "\\\\", data); 17 | gsub(/"/, "\\\"", data); 18 | printf("\"menu\": \"%s\",\n", data); 19 | printf("\"info\": \"%s %s\\n\\n%s\"\n", sig, ret, data); 20 | printf("}"); 21 | word=sig=ret=data=""; 22 | if (!funcsect) { nextfile; } 23 | } 24 | inprogress=1; 25 | match($0, /^((\S+)\([^)]*\))((\s+(\S+(\s+or\s+\S+)?))(\s+(.*))?)?$/, a); 26 | word=a[2]; 27 | sig=a[1]; 28 | ret=a[5]; 29 | data=a[8]; 30 | if (!first) { 31 | print ","; 32 | } 33 | else { 34 | first=0 35 | } 36 | print "{\"word\": \"" word (match(sig, /\(\)$/) ? "()" : "(") "\","; 37 | print "\"kind\": \"f\","; 38 | next; 39 | } 40 | 41 | inprogress && /^\s+\S/ { 42 | gsub(/^\s+/, ""); 43 | if (ret == "") { 44 | match($0, /^(\S+(\s+or\s+\S+)?)(\s+(.*)$)?/, a); 45 | ret=a[1]; 46 | data=a[4]; 47 | next; 48 | } 49 | if (index($0, "\t")) { 50 | gsub(/\t/, " => ") 51 | data=data " / " $0 52 | } 53 | else { 54 | data=data $0 55 | } 56 | } 57 | 58 | END { 59 | print "]"; 60 | } 61 | 62 | # vim: sw=2 ts=2 -------------------------------------------------------------------------------- /data/build_var_json.awk: -------------------------------------------------------------------------------- 1 | # build_var_json.awk 2 | # Parse Vim doc/eval.txt to create a JSON with builtin var info 3 | # Author: fcpg 4 | 5 | BEGIN { 6 | # Split records on '*tags*' 7 | RS = "\n[^\n]*[\t ]+[*][^\t ]+[*][\t ]*\n"; 8 | FS = "\n"; 9 | print "["; 10 | first=1; 11 | } 12 | 13 | RT ~ /\*v:var\*/ { varsect=1; } 14 | !varsect { next; } 15 | 16 | { 17 | inprogress=0; 18 | varname=""; 19 | } 20 | 21 | oldrt ~ /\nv:/ { 22 | # '*tag*' was on same line as var name 23 | match(oldrt, /([^\n\t ]+)/, a); 24 | varname=a[1]; 25 | inprogress=1; 26 | } 27 | 28 | $1 ~ /^v:/ && !inprogress { 29 | match($1, /(v:\S+)/, a); 30 | varname=a[1]; 31 | sub(/^v:\S+/,"",$1); 32 | inprogress=1; 33 | } 34 | 35 | varname { 36 | if (!first) { 37 | print ","; 38 | } 39 | else { 40 | first=0; 41 | } 42 | print "{\"word\": \"" a[1] "\","; 43 | varname=""; 44 | } 45 | 46 | inprogress { 47 | firstline=match($1, /^\s*$/) ? $2 : $1; 48 | gsub(/^\s*/, "", firstline); 49 | gsub(/\s*$/, "", firstline); 50 | gsub(/\s+(Only|See)\s*$/, "", firstline); 51 | gsub(/"/, "\\\"", firstline); 52 | gsub(/\s+/, " ", firstline); 53 | print "\"kind\": \"v\","; 54 | printf("\"menu\": \"%s\",\n", firstline); 55 | gsub(/"/, "\\\""); 56 | sub(/^\s+/, ""); 57 | gsub(/\s+/, " "); 58 | gsub(/=*$/, ""); 59 | printf("\"info\": \"%s\"\n", $0); 60 | printf("}"); 61 | } 62 | 63 | { oldrt=RT; } 64 | 65 | END { 66 | print "]"; 67 | } 68 | 69 | # vim: sw=2 ts=2 -------------------------------------------------------------------------------- /doc/complimentary.txt: -------------------------------------------------------------------------------- 1 | *complimentary.txt* Better completion for Vim builtins *complimentary* 2 | 3 | complimentary MANUAL 4 | 5 | 1. About complimentary |complimentary-about| 6 | 2. Quick Start |complimentary-quickstart| 7 | 3. Commands |complimentary-commands| 8 | 4. Options |complimentary-options| 9 | 5. Changelog |complimentary-changelog| 10 | 6. Contribute |complimentary-contribute| 11 | 7. License |complimentary-license| 12 | 13 | ============================================================================= 14 | ABOUT complimentary *complimentary-about* 15 | 16 | Complimentary provides a completion function (bound to omnifunc by default) 17 | for VimL scripts. It completes Vim expressions and extend builtin elements 18 | (functions, commands, variables and options) with a signature and/or 19 | description. 20 | 21 | ============================================================================= 22 | QUICK START *complimentary-quickstart* 23 | 24 | 1. Install the plugin Eg. with Pathogen: 25 | > 26 | cd ~/.vim/bundle && git clone https://github.com/fcpg/vim-complimentary 27 | < 28 | 2. Open a buffer with Vim content (filtype=vim), and hit `` to 29 | complete from insert mode. 30 | 31 | 3. You can force the type of some completions by prepending a "sigil", ie. a 32 | special character that won't be part of the actual completion. 33 | Eg. 34 | > 35 | let foo = *str 36 | < 37 | will complete "str" with builtin functions only. The leading star won't be 38 | part of the final text. 39 | Valid sigils: 40 | - `*` for functions 41 | - `+` for options 42 | - `:` for commands 43 | - `#` for events 44 | 45 | This feature can be turned on with the `g:cpty_sigil` option. 46 | 47 | ============================================================================= 48 | COMMANDS *complimentary-commands* 49 | 50 | :ComplimentaryRebuild *ComplimentaryRebuild* 51 | Rebuild the user data caches. Make sure |g:cpty_use_default_cache| is off 52 | if you want to use them. 53 | 54 | :Set *complimentary-set* 55 | Like the builtin |:set| command, with some extra completion features: 56 | - prepend a `+` to complete short names only; 57 | Eg. 58 | > 59 | :Set +cp 60 | < 61 | will complete with `cp`, `cpo` and `cpt`. 62 | - prepend a `*` to complete with both short and long names; 63 | - add a `%` in front of pattern to complete with any option name containing 64 | the pattern; 65 | Eg. 66 | > 67 | :Set %dir 68 | < 69 | will complete with all options containing `dir` in their name (`directory`, 70 | `viewdir`, `shellredir` etc.) 71 | - append a `*` to include short names of returned options; this won't add 72 | more options to the result set, just include both short and long names 73 | for the selected options. 74 | Eg. 75 | > 76 | :Set cp* 77 | < 78 | will complete with `cpoptions` (the only option long name matching the 79 | pattern) and will add the short name, ie. `cpo`, due to the trailing `*` 80 | 81 | 82 | :Setl 83 | :Setg 84 | Same as `:Set`, for local and global variants of `:set` 85 | 86 | ============================================================================= 87 | OPTIONS *complimentary-options* 88 | 89 | g:cpty_cache_dir *g:cpty_cache_dir* 90 | Full path to the location where cached data will be stored. 91 | Default: 'data/' subdir of this plugin 92 | 93 | g:cpty_use_default_cache *g:cpty_use_default_cache* 94 | Set to 1 to use only the cached data provided with the plugin. 95 | No script will be run to retrieve/update data (useful it it doesn't work 96 | on your box). 97 | Default: 1 98 | 99 | g:cpty_use_file_cache *g:cpty_use_file_cache* 100 | Set to 0 to prevent caching data in the filesystem; scripts will always be 101 | run on the first completion (so data will always be up to date). 102 | Default: 1 103 | 104 | g:cpty_sigil *g:cpty_sigil* 105 | Set to 1 to enable 'sigil completions' 106 | Default: 0 107 | 108 | g:cpty_awk_cmd *g:cpty_awk_cmd* 109 | Shell command used to run GNU Awk scripts. 110 | Default: `gawk -f` 111 | 112 | g:cpty_no_set_cmd *g:cpty_no_set_cmd* 113 | Set to 1 to disable all `:Set` commands. 114 | Default: 0 115 | 116 | g:cpty_always_menu *g:cpty_always_menu* 117 | Set to 1 to always show the "menu" info in the menu completion, even 118 | if it is also displayed in a popup (when 'completeopt' contains "popup"). 119 | Default: 0 120 | 121 | ============================================================================= 122 | CHANGELOG *complimentary-changelog* 123 | 124 | [1.0] - 2017-11-21 125 | - Initial release 126 | [1.1] - 2019-09-26 127 | - Deal with new "popup" from 'completeopt' 128 | - Add option to disable ":Set" commands 129 | [1.1.1] - 2023-08-11 130 | - Update vim doc location for builtin functions since v8.2.3917 131 | 132 | ============================================================================= 133 | CONTRIBUTE *complimentary-contribute* 134 | 135 | Contribute on [Github](https://github.com/fcpg/vim-complimentary) 136 | 137 | ============================================================================= 138 | LICENSE *complimentary-license* 139 | 140 | [Attribution-ShareAlike 4.0 Int.](https://creativecommons.org/licenses/by-sa/4.0/) 141 | 142 | vim: set expandtab sts=2 ts=2 sw=2 tw=78 ft=help norl: 143 | -------------------------------------------------------------------------------- /data/def_soptcache.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | "aleph": "al", 4 | "allowrevins": "ari", 5 | "altkeymap": "akm", 6 | "ambiwidth": "ambw", 7 | "antialias": "anti", 8 | "autochdir": "acd", 9 | "arabic": "arab", 10 | "arabicshape": "arshape", 11 | "autoindent": "ai", 12 | "autoread": "ar", 13 | "autowrite": "aw", 14 | "autowriteall": "awa", 15 | "background": "bg", 16 | "backspace": "bs", 17 | "backup": "bk", 18 | "backupcopy": "bkc", 19 | "backupdir": "bdir", 20 | "backupext": "bex", 21 | "backupskip": "bsk", 22 | "balloondelay": "bdlay", 23 | "ballooneval": "beval", 24 | "balloonevalterm": "bevalterm", 25 | "balloonexpr": "bexpr", 26 | "belloff": "bo", 27 | "binary": "bin", 28 | "bioskey": "biosk", 29 | "breakat": "brk", 30 | "breakindent": "bri", 31 | "breakindentopt": "briopt", 32 | "browsedir": "bsdir", 33 | "bufhidden": "bh", 34 | "buflisted": "bl", 35 | "buftype": "bt", 36 | "casemap": "cmp", 37 | "cdpath": "cd", 38 | "charconvert": "ccv", 39 | "cindent": "cin", 40 | "cinkeys": "cink", 41 | "cinoptions": "cino", 42 | "cinwords": "cinw", 43 | "clipboard": "cb", 44 | "cmdheight": "ch", 45 | "cmdwinheight": "cwh", 46 | "colorcolumn": "cc", 47 | "columns": "co", 48 | "comments": "com", 49 | "commentstring": "cms", 50 | "compatible": "cp", 51 | "complete": "cpt", 52 | "completefunc": "cfu", 53 | "completeopt": "cot", 54 | "concealcursor": "cocu", 55 | "conceallevel": "cole", 56 | "confirm": "cf", 57 | "conskey": "consk", 58 | "copyindent": "ci", 59 | "cpoptions": "cpo", 60 | "cryptmethod": "cm", 61 | "cscopepathcomp": "cspc", 62 | "cscopeprg": "csprg", 63 | "cscopequickfix": "csqf", 64 | "cscoperelative": "csre", 65 | "cscopetag": "cst", 66 | "cscopetagorder": "csto", 67 | "cscopeverbose": "csverb", 68 | "cursorbind": "crb", 69 | "cursorcolumn": "cuc", 70 | "cursorline": "cul", 71 | "define": "def", 72 | "delcombine": "deco", 73 | "dictionary": "dict", 74 | "diffexpr": "dex", 75 | "diffopt": "dip", 76 | "digraph": "dg", 77 | "directory": "dir", 78 | "display": "dy", 79 | "eadirection": "ead", 80 | "edcompatible": "ed", 81 | "emoji": "emo", 82 | "encoding": "enc", 83 | "endofline": "eol", 84 | "equalalways": "ea", 85 | "equalprg": "ep", 86 | "errorbells": "eb", 87 | "errorfile": "ef", 88 | "errorformat": "efm", 89 | "esckeys": "ek", 90 | "eventignore": "ei", 91 | "expandtab": "et", 92 | "exrc": "ex", 93 | "fileencoding": "fenc", 94 | "fileencodings": "fencs", 95 | "fileformat": "ff", 96 | "fileformats": "ffs", 97 | "fileignorecase": "fic", 98 | "filetype": "ft", 99 | "fillchars": "fcs", 100 | "fixendofline": "fixeol", 101 | "fkmap": "fk", 102 | "foldclose": "fcl", 103 | "foldcolumn": "fdc", 104 | "foldenable": "fen", 105 | "foldexpr": "fde", 106 | "foldignore": "fdi", 107 | "foldlevel": "fdl", 108 | "foldlevelstart": "fdls", 109 | "foldmarker": "fmr", 110 | "foldmethod": "fdm", 111 | "foldminlines": "fml", 112 | "foldnestmax": "fdn", 113 | "foldopen": "fdo", 114 | "foldtext": "fdt", 115 | "formatexpr": "fex", 116 | "formatlistpat": "flp", 117 | "formatoptions": "fo", 118 | "formatprg": "fp", 119 | "fsync": "fs", 120 | "gdefault": "gd", 121 | "grepformat": "gfm", 122 | "grepprg": "gp", 123 | "guicursor": "gcr", 124 | "guifont": "gfn", 125 | "guifontset": "gfs", 126 | "guifontwide": "gfw", 127 | "guiheadroom": "ghr", 128 | "guioptions": "go", 129 | "guitablabel": "gtl", 130 | "guitabtooltip": "gtt", 131 | "helpfile": "hf", 132 | "helpheight": "hh", 133 | "helplang": "hlg", 134 | "hidden": "hid", 135 | "highlight": "hl", 136 | "history": "hi", 137 | "hkmap": "hk", 138 | "hkmapp": "hkp", 139 | "hlsearch": "hls", 140 | "ignorecase": "ic", 141 | "imactivatefunc": "imaf", 142 | "imactivatekey": "imak", 143 | "imcmdline": "imc", 144 | "imdisable": "imd", 145 | "iminsert": "imi", 146 | "imsearch": "ims", 147 | "imstatusfunc": "imsf", 148 | "imstyle": "imst", 149 | "include": "inc", 150 | "includeexpr": "inex", 151 | "incsearch": "is", 152 | "indentexpr": "inde", 153 | "indentkeys": "indk", 154 | "infercase": "inf", 155 | "insertmode": "im", 156 | "isfname": "isf", 157 | "isident": "isi", 158 | "iskeyword": "isk", 159 | "isprint": "isp", 160 | "joinspaces": "js", 161 | "keymap": "kmp", 162 | "keymodel": "km", 163 | "keywordprg": "kp", 164 | "langmap": "lmap", 165 | "langmenu": "lm", 166 | "langremap": "lrm", 167 | "laststatus": "ls", 168 | "lazyredraw": "lz", 169 | "linebreak": "lbr", 170 | "linespace": "lsp", 171 | "lispwords": "lw", 172 | "listchars": "lcs", 173 | "loadplugins": "lpl", 174 | "makeef": "mef", 175 | "makeencoding": "menc", 176 | "makeprg": "mp", 177 | "matchpairs": "mps", 178 | "matchtime": "mat", 179 | "maxcombine": "mco", 180 | "maxfuncdepth": "mfd", 181 | "maxmapdepth": "mmd", 182 | "maxmem": "mm", 183 | "maxmempattern": "mmp", 184 | "maxmemtot": "mmt", 185 | "menuitems": "mis", 186 | "mkspellmem": "msm", 187 | "modeline": "ml", 188 | "modelines": "mls", 189 | "modifiable": "ma", 190 | "modified": "mod", 191 | "mousefocus": "mousef", 192 | "mousehide": "mh", 193 | "mousemodel": "mousem", 194 | "mouseshape": "mouses", 195 | "mousetime": "mouset", 196 | "mzquantum": "mzq", 197 | "nrformats": "nf", 198 | "number": "nu", 199 | "numberwidth": "nuw", 200 | "omnifunc": "ofu", 201 | "opendevice": "odev", 202 | "operatorfunc": "opfunc", 203 | "osfiletype": "oft", 204 | "packpath": "pp", 205 | "paragraphs": "para", 206 | "pastetoggle": "pt", 207 | "patchexpr": "pex", 208 | "patchmode": "pm", 209 | "path": "pa", 210 | "preserveindent": "pi", 211 | "previewheight": "pvh", 212 | "previewwindow": "pvw", 213 | "printdevice": "pdev", 214 | "printencoding": "penc", 215 | "printexpr": "pexpr", 216 | "printfont": "pfn", 217 | "printheader": "pheader", 218 | "printmbcharset": "pmbcs", 219 | "printmbfont": "pmbfn", 220 | "printoptions": "popt", 221 | "prompt": "prompt", 222 | "pumheight": "ph", 223 | "pumwidth": "pw", 224 | "pyxversion": "pyx", 225 | "quoteescape": "qe", 226 | "readonly": "ro", 227 | "redrawtime": "rdt", 228 | "regexpengine": "re", 229 | "relativenumber": "rnu", 230 | "renderoptions": "rop", 231 | "restorescreen": "rs", 232 | "revins": "ri", 233 | "rightleft": "rl", 234 | "rightleftcmd": "rlc", 235 | "ruler": "ru", 236 | "rulerformat": "ruf", 237 | "runtimepath": "rtp", 238 | "scroll": "scr", 239 | "scrollbind": "scb", 240 | "scrolljump": "sj", 241 | "scrolloff": "so", 242 | "scrollopt": "sbo", 243 | "sections": "sect", 244 | "selection": "sel", 245 | "selectmode": "slm", 246 | "sessionoptions": "ssop", 247 | "shell": "sh", 248 | "shellcmdflag": "shcf", 249 | "shellpipe": "sp", 250 | "shellquote": "shq", 251 | "shellredir": "srr", 252 | "shellslash": "ssl", 253 | "shelltemp": "stmp", 254 | "shelltype": "st", 255 | "shellxescape": "sxe", 256 | "shellxquote": "sxq", 257 | "shiftround": "sr", 258 | "shiftwidth": "sw", 259 | "shortmess": "shm", 260 | "shortname": "sn", 261 | "showbreak": "sbr", 262 | "showcmd": "sc", 263 | "showfulltag": "sft", 264 | "showmatch": "sm", 265 | "showmode": "smd", 266 | "showtabline": "stal", 267 | "sidescroll": "ss", 268 | "sidescrolloff": "siso", 269 | "signcolumn": "scl", 270 | "smartcase": "scs", 271 | "smartindent": "si", 272 | "smarttab": "sta", 273 | "softtabstop": "sts", 274 | "spellcapcheck": "spc", 275 | "spellfile": "spf", 276 | "spelllang": "spl", 277 | "spellsuggest": "sps", 278 | "splitbelow": "sb", 279 | "splitright": "spr", 280 | "startofline": "sol", 281 | "statusline": "stl", 282 | "suffixes": "su", 283 | "suffixesadd": "sua", 284 | "swapfile": "swf", 285 | "swapsync": "sws", 286 | "switchbuf": "swb", 287 | "synmaxcol": "smc", 288 | "syntax": "syn", 289 | "tabline": "tal", 290 | "tabpagemax": "tpm", 291 | "tabstop": "ts", 292 | "tagbsearch": "tbs", 293 | "tagcase": "tc", 294 | "taglength": "tl", 295 | "tagrelative": "tr", 296 | "tags": "tag", 297 | "tagstack": "tgst", 298 | "termbidi": "tbidi", 299 | "termencoding": "tenc", 300 | "termguicolors": "tgc", 301 | "termkey": "tk", 302 | "termsize": "tms", 303 | "textauto": "ta", 304 | "textmode": "tx", 305 | "textwidth": "tw", 306 | "thesaurus": "tsr", 307 | "tildeop": "top", 308 | "timeout": "to", 309 | "timeoutlen": "tm", 310 | "toolbar": "tb", 311 | "toolbariconsize": "tbis", 312 | "ttimeoutlen": "ttm", 313 | "ttybuiltin": "tbi", 314 | "ttyfast": "tf", 315 | "ttymouse": "ttym", 316 | "ttyscroll": "tsl", 317 | "ttytype": "tty", 318 | "undodir": "udir", 319 | "undofile": "udf", 320 | "undolevels": "ul", 321 | "undoreload": "ur", 322 | "updatecount": "uc", 323 | "updatetime": "ut", 324 | "verbose": "vbs", 325 | "verbosefile": "vfile", 326 | "viewdir": "vdir", 327 | "viewoptions": "vop", 328 | "viminfo": "vi", 329 | "viminfofile": "vif", 330 | "virtualedit": "ve", 331 | "visualbell": "vb", 332 | "weirdinvert": "wiv", 333 | "whichwrap": "ww", 334 | "wildchar": "wc", 335 | "wildcharm": "wcm", 336 | "wildignore": "wig", 337 | "wildignorecase": "wic", 338 | "wildmenu": "wmnu", 339 | "wildmode": "wim", 340 | "wildoptions": "wop", 341 | "winaltkeys": "wak", 342 | "window": "wi", 343 | "winheight": "wh", 344 | "winfixheight": "wfh", 345 | "winfixwidth": "wfw", 346 | "winminheight": "wmh", 347 | "winminwidth": "wmw", 348 | "winwidth": "wiw", 349 | "wrapmargin": "wm", 350 | "wrapscan": "ws", 351 | "writeany": "wa", 352 | "writebackup": "wb", 353 | "writedelay": "wd"} -------------------------------------------------------------------------------- /autoload/complimentary.vim: -------------------------------------------------------------------------------- 1 | " complimentary.vim - better completion for Vim builtins 2 | " Author: fcpg 3 | 4 | let s:save_cpo = &cpo 5 | set cpo&vim 6 | 7 | 8 | "------------ 9 | " Debug {{{1 10 | "------------ 11 | 12 | let g:cpty_debug = 1 13 | if 0 14 | append 15 | " comment out all dbg calls 16 | :g,\c^\s*call Dbg(,s/call/"call/ 17 | " uncomment 18 | :g,\c^\s*"call Dbg(,s/"call/call/ 19 | . 20 | endif 21 | 22 | 23 | "-------------- 24 | " Options {{{1 25 | "-------------- 26 | 27 | let s:datadir = expand(':p:h:h').'/data' 28 | let s:funcscript = s:datadir."/build_func_json.awk" 29 | let s:funcscript82 = s:datadir."/build_func_json_82.awk" 30 | let s:cmdscript = s:datadir."/build_cmd_json.awk" 31 | let s:varscript = s:datadir."/build_var_json.awk" 32 | let s:optscript = s:datadir."/build_opt_json.awk" 33 | let s:soptscript = s:datadir."/build_shortopt_json.awk" 34 | 35 | let s:cpty_cache_dir = get(g:, 'cpty_cache_dir', s:datadir) 36 | 37 | let s:cpty_use_default_cache = get(g:, 'cpty_use_default_cache', 1) 38 | let s:cpty_use_file_cache = get(g:, 'cpty_use_file_cache', 1) 39 | let s:cpty_awk_cmd = get(g:, 'cpty_awk_cmd', 'gawk -f') 40 | 41 | let s:cachefile = { 42 | \ 'func': s:cpty_cache_dir."/funccache.json", 43 | \ 'cmd': s:cpty_cache_dir."/cmdcache.json", 44 | \ 'var': s:cpty_cache_dir."/varcache.json", 45 | \ 'opt': s:cpty_cache_dir."/optcache.json", 46 | \ 'sopt': s:cpty_cache_dir."/soptcache.json", 47 | \} 48 | 49 | let s:defcachefile = { 50 | \ 'func': s:datadir."/def_funccache.json", 51 | \ 'cmd': s:datadir."/def_cmdcache.json", 52 | \ 'var': s:datadir."/def_varcache.json", 53 | \ 'opt': s:datadir."/def_optcache.json", 54 | \ 'sopt': s:datadir."/def_soptcache.json", 55 | \} 56 | 57 | 58 | "---------------- 59 | " Functions {{{1 60 | "---------------- 61 | 62 | " s:Obj2Cache() {{{2 63 | " Convert an obj from doc parsing into a cache dict 64 | function! s:Obj2Cache(obj) 65 | if type(a:obj) == type({}) 66 | return a:obj 67 | endif 68 | let cache = {} 69 | for entry in a:obj 70 | let name = substitute(entry['word'], '()\?$', '', '') 71 | if has_key(cache, name) 72 | let cache[name] = add(cache[name], entry) 73 | else 74 | let cache[name] = [entry] 75 | endif 76 | endfor 77 | return cache 78 | endfun 79 | 80 | 81 | " s:BuildCache() {{{2 82 | " Generic cache building func 83 | " Arg: exestr the string fed to system() to build the cache 84 | " Arg: type type of cache Cf. s:cachefile keys 85 | function! s:BuildCache(exestr, type) abort 86 | let cachefile = get(s:cachefile, a:type, '') 87 | if s:cpty_use_default_cache 88 | "call Dbg('Reading info from default cache file', a:type) 89 | let lines = readfile(s:defcachefile[a:type]) 90 | elseif s:cpty_use_file_cache && filereadable(cachefile) 91 | "call Dbg('Reading info from cache file', a:type) 92 | let lines = readfile(cachefile) 93 | else 94 | "call Dbg('Generating completion info', a:type) 95 | let lines = systemlist(a:exestr) 96 | if s:cpty_use_file_cache && cachefile != '' 97 | "call Dbg('Writing info into cache file', a:type) 98 | silent! call writefile(lines, cachefile, "b") 99 | endif 100 | endif 101 | let json = join(lines, "\n") 102 | let obj = json_decode(json) 103 | return Obj2Cache(obj) 104 | endfun 105 | 106 | 107 | " s:BuildFuncCache() {{{2 108 | " Build signature cache 109 | function! s:BuildFuncCache() abort 110 | if has('patch-8.2.3917') 111 | let exestr = printf('%s "%s" "%s"', 112 | \ s:cpty_awk_cmd, 113 | \ s:funcscript82, 114 | \ $VIMRUNTIME.'/doc/builtin.txt') 115 | else 116 | let exestr = printf('%s "%s" "%s"', 117 | \ s:cpty_awk_cmd, 118 | \ s:funcscript, 119 | \ $VIMRUNTIME.'/doc/eval.txt') 120 | endif 121 | let g:cpty_func_cache = BuildCache(exestr, 'func') 122 | endfun 123 | 124 | 125 | " s:GetFuncInfo() {{{2 126 | " Get built-in vim function signatures 127 | " Arg: pfx the prefix to complete 128 | function! s:GetFuncInfo(pfx) abort 129 | if !exists('g:cpty_func_cache') 130 | call BuildFuncCache() 131 | endif 132 | let name = substitute(a:pfx, '()\?', '', '') 133 | return get(g:cpty_func_cache, name, [{'word': a:pfx, 'kind': 'f'}]) 134 | endfun 135 | 136 | 137 | " s:BuildCmdCache() {{{2 138 | " Build command cache 139 | function! s:BuildCmdCache() abort 140 | let exestr = printf('%s "%s" "%s"', 141 | \ s:cpty_awk_cmd, 142 | \ s:cmdscript, 143 | \ $VIMRUNTIME.'/doc/index.txt') 144 | let g:cpty_cmd_cache = BuildCache(exestr, 'cmd') 145 | endfun 146 | 147 | 148 | " s:GetCmdInfo() {{{2 149 | " Get built-in command signatures 150 | " Arg: pfx the prefix to complete 151 | function! s:GetCmdInfo(pfx) abort 152 | if !exists('g:cpty_cmd_cache') 153 | call BuildCmdCache() 154 | endif 155 | let name = substitute(a:pfx, '()\?', '', '') 156 | return get(g:cpty_cmd_cache, name, [{'word': a:pfx}]) 157 | endfun 158 | 159 | 160 | " s:BuildVarCache() {{{2 161 | " Build internal variables cache 162 | function! s:BuildVarCache() abort 163 | let exestr = printf('%s "%s" "%s"', 164 | \ s:cpty_awk_cmd, 165 | \ s:varscript, 166 | \ $VIMRUNTIME.'/doc/eval.txt') 167 | let g:cpty_var_cache = BuildCache(exestr, 'var') 168 | endfun 169 | 170 | 171 | " s:GetVarInfo() {{{2 172 | " Get builtin vim variable 173 | " Arg: pfx the prefix to complete 174 | function! s:GetVarInfo(pfx) abort 175 | if !exists('g:cpty_var_cache') 176 | call BuildVarCache() 177 | endif 178 | return get(g:cpty_var_cache, a:pfx, [{'word': a:pfx, 'kind': 'v'}]) 179 | endfun 180 | 181 | 182 | " s:BuildOptCache() {{{2 183 | " Build options cache 184 | function! s:BuildOptCache() abort 185 | let exestr = printf('%s "%s" "%s"', 186 | \ s:cpty_awk_cmd, 187 | \ s:optscript, 188 | \ $VIMRUNTIME.'/doc/quickref.txt') 189 | let g:cpty_opt_cache = BuildCache(exestr, 'opt') 190 | endfun 191 | 192 | 193 | " s:GetOptInfo() {{{2 194 | " Get builtin vim option description 195 | " Arg: pfx the prefix to complete 196 | function! s:GetOptInfo(pfx) abort 197 | if !exists('g:cpty_opt_cache') 198 | call BuildOptCache() 199 | endif 200 | return get(g:cpty_opt_cache, a:pfx, [{'word': a:pfx, 'kind': 'v'}]) 201 | endfun 202 | 203 | 204 | " s:BuildShortoptCache() {{{2 205 | " Build short options cache 206 | function! s:BuildShortoptCache() abort 207 | let exestr = printf('%s "%s" "%s"', 208 | \ s:cpty_awk_cmd, 209 | \ s:soptscript, 210 | \ $VIMRUNTIME.'/doc/quickref.txt') 211 | let g:cpty_shortopt_cache = BuildCache(exestr, 'sopt') 212 | endfun 213 | 214 | " CompleteCpty() {{{2 215 | " Main completion function 216 | function! complimentary#CompleteCpty(findstart, base) abort 217 | let line = getline('.') 218 | if a:findstart 219 | let start = col('.') - 1 220 | while start > 0 && line[start - 1] =~ '\k\|:' 221 | let start -= 1 222 | endwhile 223 | if start > 0 && line[start - 1] =~ '+\|&\|*\|#' 224 | let start -= 1 225 | endif 226 | return start 227 | else 228 | if get(g:, 'cpty_sigil', 0) && a:base[0] == '*' 229 | let word = strpart(a:base,1) 230 | let type = 'function' 231 | elseif get(g:, 'cpty_sigil', 0) && a:base[0] == '+' 232 | let word = strpart(a:base,1) 233 | let type = 'option' 234 | elseif get(g:, 'cpty_sigil', 0) && a:base[0] == ':' 235 | let word = strpart(a:base,1) 236 | let type = 'command' 237 | elseif get(g:, 'cpty_sigil', 0) && a:base[0] == '#' 238 | let word = strpart(a:base,1) 239 | let type = 'event' 240 | elseif a:base[0] == '&' 241 | let word = strpart(a:base,1) 242 | let type = 'option' 243 | else 244 | let word = a:base 245 | let type = 'expression' 246 | endif 247 | let res = [] 248 | if type == 'expression' 249 | if line =~ '\%(^\||\)\s*\(\K\k*\)\?$' 250 | let type = 'command' 251 | elseif line =~ '\%(^\||\)\s*se\%(t\?\|tl\%[ocal]\|tg\%[lobal]\)\s\+$' 252 | let type = 'option' 253 | elseif line =~ '\%(^\||\)\s*au\%[tocmd]\%(\s\+\S\+\)\?\s\+\%(\S\+,\)\?$' 254 | let type = 'event' 255 | endif 256 | endif 257 | let comp = getcompletion(word, type) 258 | for c in comp 259 | if c =~ '()\?$' || type == 'function' 260 | call extend(res, GetFuncInfo(c)) 261 | elseif c =~ '^v:' 262 | call extend(res, GetVarInfo(c)) 263 | elseif type == 'option' 264 | let r = GetOptInfo(c) 265 | if a:base[0] == '&' 266 | " prepend the & to results 267 | let r = deepcopy(r) 268 | call map(r, 'extend(v:val, {"word":"&".v:val["word"],' 269 | \ . '"abbr":v:val["word"]})') 270 | endif 271 | call extend(res, r) 272 | elseif type == 'command' 273 | call extend(res, GetCmdInfo(c)) 274 | else 275 | call add(res, c) 276 | endif 277 | endfor 278 | " exclude menu info if 'cot contains popup 279 | if has('patch-8.1.1880') 280 | \ && &completeopt =~ 'popup' 281 | \ && !get(g:, 'cpty_always_menu', 0) 282 | let i = len(res) - 1 283 | while i>=0 284 | let e = res[i] 285 | if type(e) == type({}) && has_key(e, 'menu') 286 | let res[i] = deepcopy(e) 287 | call remove(res[i], 'menu') 288 | endif 289 | let i -= 1 290 | endwhile 291 | endif 292 | return res 293 | endif 294 | endfun 295 | 296 | 297 | " s:Dbg {{{2 298 | function! s:Dbg(msg, ...) abort 299 | if g:cpty_debug 300 | let m = a:msg 301 | if a:0 302 | let m .= " [".join(a:000, "] [")."]" 303 | endif 304 | echom m 305 | endif 306 | endfun 307 | 308 | 309 | " CompleteOpt {{{2 310 | " Completion func for :Set 311 | function! complimentary#CompleteOpt(arg, line, pos) abort 312 | if !exists('g:cpty_shortopt_cache') 313 | call BuildShortoptCache() 314 | endif 315 | let a = a:arg 316 | " look for +/* prefix 317 | let pfx = a[0] 318 | if stridx('*+', pfx) != -1 319 | let a = strpart(a,1) 320 | endif 321 | " look for % glob 322 | let glob = 0 323 | if stridx('%', a[0]) != -1 324 | let a = strpart(a,1) 325 | let glob = 1 326 | endif 327 | " look for * suffix 328 | let sfx = '' 329 | if a[-1:] == '*' 330 | let sfx = a[-1:] 331 | let a = a[0:-2] 332 | endif 333 | let res = {} 334 | for [k, v] in items(g:cpty_shortopt_cache) 335 | " search in long name 336 | if pfx != '+' 337 | if k =~ (glob?'':'^').a 338 | let res[k] = 1 339 | if sfx == '*' 340 | let res[v] = 1 341 | endif 342 | endif 343 | endif 344 | " search in short name 345 | if stridx('*+', pfx) != -1 346 | if v =~ (glob?'':'^').a 347 | let res[v] = 1 348 | endif 349 | endif 350 | endfor 351 | return keys(res) 352 | endfun 353 | 354 | 355 | " RebuildCaches {{{2 356 | " Rebuild the user cached data 357 | function! complimentary#RebuildCaches() abort 358 | for f in values(s:cachefile) 359 | call delete(f) 360 | endfor 361 | call BuildFuncCache() 362 | call BuildCmdCache() 363 | call BuildVarCache() 364 | call BuildOptCache() 365 | call BuildShortoptCache() 366 | endfun 367 | 368 | 369 | let &cpo = s:save_cpo 370 | 371 | " vim: et sw=2 ts=2 ft=vim: 372 | -------------------------------------------------------------------------------- /data/def_varcache.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"word": "v:beval_col", 3 | "kind": "v", 4 | "menu": "The number of the column, over which the mouse pointer is.", 5 | "info": "The number of the column, over which the mouse pointer is. This is the byte index in the |v:beval_lnum| line. Only valid while evaluating the 'balloonexpr' option. " 6 | }, 7 | {"word": "v:beval_bufnr", 8 | "kind": "v", 9 | "menu": "The number of the buffer, over which the mouse pointer is.", 10 | "info": "The number of the buffer, over which the mouse pointer is. Only valid while evaluating the 'balloonexpr' option. " 11 | }, 12 | {"word": "v:beval_lnum", 13 | "kind": "v", 14 | "menu": "The number of the line, over which the mouse pointer is.", 15 | "info": "The number of the line, over which the mouse pointer is. Only valid while evaluating the 'balloonexpr' option. " 16 | }, 17 | {"word": "v:beval_text", 18 | "kind": "v", 19 | "menu": "The text under or after the mouse pointer. Usually a word as", 20 | "info": "The text under or after the mouse pointer. Usually a word as it is useful for debugging a C program. 'iskeyword' applies, but a dot and \"->\" before the position is included. When on a ']' the text before it is used, including the matching '[' and word before it. When on a Visual area within one line the highlighted text is used. Also see ||. Only valid while evaluating the 'balloonexpr' option. " 21 | }, 22 | {"word": "v:beval_winnr", 23 | "kind": "v", 24 | "menu": "The number of the window, over which the mouse pointer is.", 25 | "info": "The number of the window, over which the mouse pointer is. Only valid while evaluating the 'balloonexpr' option. The first window has number zero (unlike most other places where a window gets a number). " 26 | }, 27 | {"word": "v:beval_winid", 28 | "kind": "v", 29 | "menu": "The |window-ID| of the window, over which the mouse pointer", 30 | "info": "The |window-ID| of the window, over which the mouse pointer is. Otherwise like v:beval_winnr. " 31 | }, 32 | {"word": "v:char", 33 | "kind": "v", 34 | "menu": "Argument for evaluating 'formatexpr' and used for the typed", 35 | "info": "Argument for evaluating 'formatexpr' and used for the typed character when using in an abbreviation |:map-|. It is also used by the |InsertCharPre| and |InsertEnter| events. " 36 | }, 37 | {"word": "v:charconvert_from", 38 | "kind": "v", 39 | "menu": "The name of the character encoding of a file to be converted.", 40 | "info": "The name of the character encoding of a file to be converted. Only valid while evaluating the 'charconvert' option. " 41 | }, 42 | {"word": "v:charconvert_to", 43 | "kind": "v", 44 | "menu": "The name of the character encoding of a file after conversion.", 45 | "info": "The name of the character encoding of a file after conversion. Only valid while evaluating the 'charconvert' option. " 46 | }, 47 | {"word": "v:cmdarg", 48 | "kind": "v", 49 | "menu": "This variable is used for two purposes:", 50 | "info": "This variable is used for two purposes: 1. The extra arguments given to a file read/write command. Currently these are \"++enc=\" and \"++ff=\". This variable is set before an autocommand event for a file read/write command is triggered. There is a leading space to make it possible to append this variable directly after the read/write command. Note: The \"+cmd\" argument isn't included here, because it will be executed anyway. 2. When printing a PostScript file with \":hardcopy\" this is the argument for the \":hardcopy\" command. This can be used in 'printexpr'. " 51 | }, 52 | {"word": "v:cmdbang", 53 | "kind": "v", 54 | "menu": "Set like v:cmdarg for a file read/write command. When a \"!\"", 55 | "info": "Set like v:cmdarg for a file read/write command. When a \"!\" was used the value is 1, otherwise it is 0. Note that this can only be used in autocommands. For user commands || can be used. " 56 | }, 57 | {"word": "v:completed_item", 58 | "kind": "v", 59 | "menu": "|Dictionary| containing the |complete-items| for the most", 60 | "info": "|Dictionary| containing the |complete-items| for the most recently completed word after |CompleteDone|. The |Dictionary| is empty if the completion failed. " 61 | }, 62 | {"word": "v:count", 63 | "kind": "v", 64 | "menu": "The count given for the last Normal mode command. Can be used", 65 | "info": "The count given for the last Normal mode command. Can be used to get the count before a mapping. Read-only. Example: > :map _x :echo \"the count is \" . v:count < Note: The is required to remove the line range that you get when typing ':' after a count. When there are two counts, as in \"3d2w\", they are multiplied, just like what happens in the command, \"d6w\" for the example. Also used for evaluating the 'formatexpr' option. \"count\" also works, for backwards compatibility. " 66 | }, 67 | {"word": "v:count1", 68 | "kind": "v", 69 | "menu": "Just like \"v:count\", but defaults to one when no count is", 70 | "info": "Just like \"v:count\", but defaults to one when no count is used. " 71 | }, 72 | {"word": "v:ctype", 73 | "kind": "v", 74 | "menu": "The current locale setting for characters of the runtime", 75 | "info": "The current locale setting for characters of the runtime environment. This allows Vim scripts to be aware of the current locale encoding. Technical: it's the value of LC_CTYPE. When not using a locale the value is \"C\". This variable can not be set directly, use the |:language| command. See |multi-lang|. " 76 | }, 77 | {"word": "v:dying", 78 | "kind": "v", 79 | "menu": "Normally zero. When a deadly signal is caught it's set to", 80 | "info": "Normally zero. When a deadly signal is caught it's set to one. When multiple signals are caught the number increases. Can be used in an autocommand to check if Vim didn't terminate normally. {only works on Unix} Example: > :au VimLeave * if v:dying | echo \"\nAAAAaaaarrrggghhhh!!!\n\" | endif < Note: if another deadly signal is caught when v:dying is one, VimLeave autocommands will not be executed. " 81 | }, 82 | {"word": "v:errmsg", 83 | "kind": "v", 84 | "menu": "Last given error message. It's allowed to set this variable.", 85 | "info": "Last given error message. It's allowed to set this variable. Example: > :let v:errmsg = \"\" :silent! next :if v:errmsg != \"\" : ... handle error < \"errmsg\" also works, for backwards compatibility. " 86 | }, 87 | {"word": "v:errors", 88 | "kind": "v", 89 | "menu": "Errors found by assert functions, such as |assert_true()|.", 90 | "info": "Errors found by assert functions, such as |assert_true()|. This is a list of strings. The assert functions append an item when an assert fails. To remove old results make it empty: > :let v:errors = [] < If v:errors is set to anything but a list it is made an empty list by the assert function. " 91 | }, 92 | {"word": "v:event", 93 | "kind": "v", 94 | "menu": "Dictionary containing information about the current", 95 | "info": "Dictionary containing information about the current |autocommand|. The dictionary is emptied when the |autocommand| finishes, please refer to |dict-identity| for how to get an independent copy of it. " 96 | }, 97 | {"word": "v:exception", 98 | "kind": "v", 99 | "menu": "The value of the exception most recently caught and not", 100 | "info": "The value of the exception most recently caught and not finished. See also |v:throwpoint| and |throw-variables|. Example: > :try : throw \"oops\" :catch /.*/ : echo \"caught\" v:exception :endtry < Output: \"caught oops\". " 101 | }, 102 | {"word": "v:false", 103 | "kind": "v", 104 | "menu": "A Number with value zero. Used to put \"false\" in JSON.", 105 | "info": "A Number with value zero. Used to put \"false\" in JSON. See |json_encode()|. When used as a string this evaluates to \"v:false\". > echo v:false < v:false ~ That is so that eval() can parse the string back to the same value. Read-only. " 106 | }, 107 | {"word": "v:fcs_reason", 108 | "kind": "v", 109 | "menu": "The reason why the |FileChangedShell| event was triggered.", 110 | "info": "The reason why the |FileChangedShell| event was triggered. Can be used in an autocommand to decide what to do and/or what to set v:fcs_choice to. Possible values: deleted file no longer exists conflict file contents, mode or timestamp was changed and buffer is modified changed file contents has changed mode mode of file changed time only file timestamp changed " 111 | }, 112 | {"word": "v:fcs_choice", 113 | "kind": "v", 114 | "menu": "What should happen after a |FileChangedShell| event was", 115 | "info": "What should happen after a |FileChangedShell| event was triggered. Can be used in an autocommand to tell Vim what to do with the affected buffer: reload Reload the buffer (does not work if the file was deleted). ask Ask the user what to do, as if there was no autocommand. Except that when only the timestamp changed nothing will happen. Nothing, the autocommand should do everything that needs to be done. The default is empty. If another (invalid) value is used then Vim behaves like it is empty, there is no warning message. " 116 | }, 117 | {"word": "v:fname_in", 118 | "kind": "v", 119 | "menu": "The name of the input file. Valid while evaluating:", 120 | "info": "The name of the input file. Valid while evaluating: option used for ~ 'charconvert' file to be converted 'diffexpr' original file 'patchexpr' original file 'printexpr' file to be printed And set to the swap file name for |SwapExists|. " 121 | }, 122 | {"word": "v:fname_out", 123 | "kind": "v", 124 | "menu": "The name of the output file. Only valid while", 125 | "info": "The name of the output file. Only valid while evaluating: option used for ~ 'charconvert' resulting converted file (*) 'diffexpr' output of diff 'patchexpr' resulting patched file (*) When doing conversion for a write command (e.g., \":w file\") it will be equal to v:fname_in. When doing conversion for a read command (e.g., \":e file\") it will be a temporary file and different from v:fname_in. " 126 | }, 127 | {"word": "v:fname_new", 128 | "kind": "v", 129 | "menu": "The name of the new version of the file. Only valid while", 130 | "info": "The name of the new version of the file. Only valid while evaluating 'diffexpr'. " 131 | }, 132 | {"word": "v:fname_diff", 133 | "kind": "v", 134 | "menu": "The name of the diff (patch) file. Only valid while", 135 | "info": "The name of the diff (patch) file. Only valid while evaluating 'patchexpr'. " 136 | }, 137 | {"word": "v:folddashes", 138 | "kind": "v", 139 | "menu": "Used for 'foldtext': dashes representing foldlevel of a closed", 140 | "info": "Used for 'foldtext': dashes representing foldlevel of a closed fold. Read-only in the |sandbox|. |fold-foldtext| " 141 | }, 142 | {"word": "v:foldlevel", 143 | "kind": "v", 144 | "menu": "Used for 'foldtext': foldlevel of closed fold.", 145 | "info": "Used for 'foldtext': foldlevel of closed fold. Read-only in the |sandbox|. |fold-foldtext| " 146 | }, 147 | {"word": "v:foldend", 148 | "kind": "v", 149 | "menu": "Used for 'foldtext': last line of closed fold.", 150 | "info": "Used for 'foldtext': last line of closed fold. Read-only in the |sandbox|. |fold-foldtext| " 151 | }, 152 | {"word": "v:foldstart", 153 | "kind": "v", 154 | "menu": "Used for 'foldtext': first line of closed fold.", 155 | "info": "Used for 'foldtext': first line of closed fold. Read-only in the |sandbox|. |fold-foldtext| " 156 | }, 157 | {"word": "v:hlsearch", 158 | "kind": "v", 159 | "menu": "Variable that indicates whether search highlighting is on.", 160 | "info": "Variable that indicates whether search highlighting is on. Setting it makes sense only if 'hlsearch' is enabled which requires |+extra_search|. Setting this variable to zero acts like the |:nohlsearch| command, setting it to one acts like > let &hlsearch = &hlsearch < Note that the value is restored when returning from a function. |function-search-undo|. " 161 | }, 162 | {"word": "v:insertmode", 163 | "kind": "v", 164 | "menu": "Used for the |InsertEnter| and |InsertChange| autocommand", 165 | "info": "Used for the |InsertEnter| and |InsertChange| autocommand events. Values: i Insert mode r Replace mode v Virtual Replace mode " 166 | }, 167 | {"word": "v:key", 168 | "kind": "v", 169 | "menu": "Key of the current item of a |Dictionary|. Only valid while", 170 | "info": "Key of the current item of a |Dictionary|. Only valid while evaluating the expression used with |map()| and |filter()|. Read-only. " 171 | }, 172 | {"word": "v:lang", 173 | "kind": "v", 174 | "menu": "The current locale setting for messages of the runtime", 175 | "info": "The current locale setting for messages of the runtime environment. This allows Vim scripts to be aware of the current language. Technical: it's the value of LC_MESSAGES. The value is system dependent. This variable can not be set directly, use the |:language| command. It can be different from |v:ctype| when messages are desired in a different language than what is used for character encoding. See |multi-lang|. " 176 | }, 177 | {"word": "v:lc_time", 178 | "kind": "v", 179 | "menu": "The current locale setting for time messages of the runtime", 180 | "info": "The current locale setting for time messages of the runtime environment. This allows Vim scripts to be aware of the current language. Technical: it's the value of LC_TIME. This variable can not be set directly, use the |:language| command. See |multi-lang|. " 181 | }, 182 | {"word": "v:lnum", 183 | "kind": "v", 184 | "menu": "Line number for the 'foldexpr' |fold-expr|, 'formatexpr' and", 185 | "info": "Line number for the 'foldexpr' |fold-expr|, 'formatexpr' and 'indentexpr' expressions, tab page number for 'guitablabel' and 'guitabtooltip'. Only valid while one of these expressions is being evaluated. Read-only when in the |sandbox|. " 186 | }, 187 | {"word": "v:mouse_win", 188 | "kind": "v", 189 | "menu": "Window number for a mouse click obtained with |getchar()|.", 190 | "info": "Window number for a mouse click obtained with |getchar()|. First window has number 1, like with |winnr()|. The value is zero when there was no mouse button click. " 191 | }, 192 | {"word": "v:mouse_winid", 193 | "kind": "v", 194 | "menu": "Window ID for a mouse click obtained with |getchar()|.", 195 | "info": "Window ID for a mouse click obtained with |getchar()|. The value is zero when there was no mouse button click. " 196 | }, 197 | {"word": "v:mouse_lnum", 198 | "kind": "v", 199 | "menu": "Line number for a mouse click obtained with |getchar()|.", 200 | "info": "Line number for a mouse click obtained with |getchar()|. This is the text line number, not the screen line number. The value is zero when there was no mouse button click. " 201 | }, 202 | {"word": "v:mouse_col", 203 | "kind": "v", 204 | "menu": "Column number for a mouse click obtained with |getchar()|.", 205 | "info": "Column number for a mouse click obtained with |getchar()|. This is the screen column number, like with |virtcol()|. The value is zero when there was no mouse button click. " 206 | }, 207 | {"word": "v:none", 208 | "kind": "v", 209 | "menu": "An empty String. Used to put an empty item in JSON.", 210 | "info": "An empty String. Used to put an empty item in JSON. See |json_encode()|. When used as a number this evaluates to zero. When used as a string this evaluates to \"v:none\". > echo v:none < v:none ~ That is so that eval() can parse the string back to the same value. Read-only. " 211 | }, 212 | {"word": "v:null", 213 | "kind": "v", 214 | "menu": "An empty String. Used to put \"null\" in JSON.", 215 | "info": "An empty String. Used to put \"null\" in JSON. See |json_encode()|. When used as a number this evaluates to zero. When used as a string this evaluates to \"v:null\". > echo v:null < v:null ~ That is so that eval() can parse the string back to the same value. Read-only. " 216 | }, 217 | {"word": "v:oldfiles", 218 | "kind": "v", 219 | "menu": "List of file names that is loaded from the |viminfo| file on", 220 | "info": "List of file names that is loaded from the |viminfo| file on startup. These are the files that Vim remembers marks for. The length of the List is limited by the ' argument of the 'viminfo' option (default is 100). When the |viminfo| file is not used the List is empty. Also see |:oldfiles| and |c_#<|. The List can be modified, but this has no effect on what is stored in the |viminfo| file later. If you use values other than String this will cause trouble. {only when compiled with the |+viminfo| feature} " 221 | }, 222 | {"word": "v:option_new", 223 | "kind": "v", 224 | "menu": "New value of the option. Valid while executing an |OptionSet|", 225 | "info": "New value of the option. Valid while executing an |OptionSet| autocommand." 226 | }, 227 | {"word": "v:option_old", 228 | "kind": "v", 229 | "menu": "Old value of the option. Valid while executing an |OptionSet|", 230 | "info": "Old value of the option. Valid while executing an |OptionSet| autocommand." 231 | }, 232 | {"word": "v:option_type", 233 | "kind": "v", 234 | "menu": "Scope of the set command. Valid while executing an", 235 | "info": "Scope of the set command. Valid while executing an |OptionSet| autocommand. Can be either \"global\" or \"local\"" 236 | }, 237 | {"word": "v:operator", 238 | "kind": "v", 239 | "menu": "The last operator given in Normal mode. This is a single", 240 | "info": "The last operator given in Normal mode. This is a single character except for commands starting with or , in which case it is two characters. Best used alongside |v:prevcount| and |v:register|. Useful if you want to cancel Operator-pending mode and then use the operator, e.g.: > :omap O :call MyMotion(v:operator) < The value remains set until another operator is entered, thus don't expect it to be empty. v:operator is not set for |:delete|, |:yank| or other Ex commands. Read-only. " 241 | }, 242 | {"word": "v:prevcount", 243 | "kind": "v", 244 | "menu": "The count given for the last but one Normal mode command.", 245 | "info": "The count given for the last but one Normal mode command. This is the v:count value of the previous command. Useful if you want to cancel Visual or Operator-pending mode and then use the count, e.g.: > :vmap % :call MyFilter(v:prevcount) < Read-only. " 246 | }, 247 | {"word": "v:profiling", 248 | "kind": "v", 249 | "menu": "Normally zero. Set to one after using \":profile start\".", 250 | "info": "Normally zero. Set to one after using \":profile start\". See |profiling|. " 251 | }, 252 | {"word": "v:progname", 253 | "kind": "v", 254 | "menu": "Contains the name (with path removed) with which Vim was", 255 | "info": "Contains the name (with path removed) with which Vim was invoked. Allows you to do special initialisations for |view|, |evim| etc., or any other name you might symlink to Vim. Read-only. " 256 | }, 257 | {"word": "v:progpath", 258 | "kind": "v", 259 | "menu": "Contains the command with which Vim was invoked, including the", 260 | "info": "Contains the command with which Vim was invoked, including the path. Useful if you want to message a Vim server using a |--remote-expr|. To get the full path use: > echo exepath(v:progpath) < If the path is relative it will be expanded to the full path, so that it still works after `:cd`. Thus starting \"./vim\" results in \"/home/user/path/to/vim/src/vim\". On MS-Windows the executable may be called \"vim.exe\", but the \".exe\" is not added to v:progpath. Read-only. " 261 | }, 262 | {"word": "v:register", 263 | "kind": "v", 264 | "menu": "The name of the register in effect for the current normal mode", 265 | "info": "The name of the register in effect for the current normal mode command (regardless of whether that command actually used a register). Or for the currently executing normal mode mapping (use this in custom commands that take a register). If none is supplied it is the default register '\"', unless 'clipboard' contains \"unnamed\" or \"unnamedplus\", then it is '*' or '+'. Also see |getreg()| and |setreg()| " 266 | }, 267 | {"word": "v:scrollstart", 268 | "kind": "v", 269 | "menu": "String describing the script or function that caused the", 270 | "info": "String describing the script or function that caused the screen to scroll up. It's only set when it is empty, thus the first reason is remembered. It is set to \"Unknown\" for a typed command. This can be used to find out why your script causes the hit-enter prompt. " 271 | }, 272 | {"word": "v:servername", 273 | "kind": "v", 274 | "menu": "The resulting registered |client-server-name| if any.", 275 | "info": "The resulting registered |client-server-name| if any. Read-only. " 276 | }, 277 | {"word": "v:searchforward", 278 | "kind": "v", 279 | "menu": "Search direction: 1 after a forward search, 0 after a", 280 | "info": "Search direction: 1 after a forward search, 0 after a backward search. It is reset to forward when directly setting the last search pattern, see |quote/|. Note that the value is restored when returning from a function. |function-search-undo|. Read-write. " 281 | }, 282 | {"word": "v:shell_error", 283 | "kind": "v", 284 | "menu": "Result of the last shell command. When non-zero, the last", 285 | "info": "Result of the last shell command. When non-zero, the last shell command had an error. When zero, there was no problem. This only works when the shell returns the error code to Vim. The value -1 is often used when the command could not be executed. Read-only. Example: > :!mv foo bar :if v:shell_error : echo 'could not rename \"foo\" to \"bar\"!' :endif < \"shell_error\" also works, for backwards compatibility. " 286 | }, 287 | {"word": "v:statusmsg", 288 | "kind": "v", 289 | "menu": "Last given status message. It's allowed to set this variable.", 290 | "info": "Last given status message. It's allowed to set this variable. " 291 | }, 292 | {"word": "v:swapname", 293 | "kind": "v", 294 | "menu": "Only valid when executing |SwapExists| autocommands: Name of", 295 | "info": "Only valid when executing |SwapExists| autocommands: Name of the swap file found. Read-only. " 296 | }, 297 | {"word": "v:swapchoice", 298 | "kind": "v", 299 | "menu": "|SwapExists| autocommands can set this to the selected choice", 300 | "info": "|SwapExists| autocommands can set this to the selected choice for handling an existing swap file: 'o' Open read-only 'e' Edit anyway 'r' Recover 'd' Delete swapfile 'q' Quit 'a' Abort The value should be a single-character string. An empty value results in the user being asked, as would happen when there is no SwapExists autocommand. The default is empty. " 301 | }, 302 | {"word": "v:swapcommand", 303 | "kind": "v", 304 | "menu": "Normal mode command to be executed after a file has been", 305 | "info": "Normal mode command to be executed after a file has been opened. Can be used for a |SwapExists| autocommand to have another Vim open the file and jump to the right place. For example, when jumping to a tag the value is \":tag tagname\r\". For \":edit +cmd file\" the value is \":cmd\r\". " 306 | }, 307 | {"word": "v:t_bool", 308 | "kind": "v", 309 | "menu": "Value of Boolean type. Read-only. See: |type()|", 310 | "info": "Value of Boolean type. Read-only. See: |type()|" 311 | }, 312 | {"word": "v:t_channel", 313 | "kind": "v", 314 | "menu": "Value of Channel type. Read-only. See: |type()|", 315 | "info": "Value of Channel type. Read-only. See: |type()|" 316 | }, 317 | {"word": "v:t_dict", 318 | "kind": "v", 319 | "menu": "Value of Dictionary type. Read-only. See: |type()|", 320 | "info": "Value of Dictionary type. Read-only. See: |type()|" 321 | }, 322 | {"word": "v:t_float", 323 | "kind": "v", 324 | "menu": "Value of Float type. Read-only. See: |type()|", 325 | "info": "Value of Float type. Read-only. See: |type()|" 326 | }, 327 | {"word": "v:t_func", 328 | "kind": "v", 329 | "menu": "Value of Funcref type. Read-only. See: |type()|", 330 | "info": "Value of Funcref type. Read-only. See: |type()|" 331 | }, 332 | {"word": "v:t_job", 333 | "kind": "v", 334 | "menu": "Value of Job type. Read-only. See: |type()|", 335 | "info": "Value of Job type. Read-only. See: |type()|" 336 | }, 337 | {"word": "v:t_list", 338 | "kind": "v", 339 | "menu": "Value of List type. Read-only. See: |type()|", 340 | "info": "Value of List type. Read-only. See: |type()|" 341 | }, 342 | {"word": "v:t_none", 343 | "kind": "v", 344 | "menu": "Value of None type. Read-only. See: |type()|", 345 | "info": "Value of None type. Read-only. See: |type()|" 346 | }, 347 | {"word": "v:t_number", 348 | "kind": "v", 349 | "menu": "Value of Number type. Read-only. See: |type()|", 350 | "info": "Value of Number type. Read-only. See: |type()|" 351 | }, 352 | {"word": "v:t_string", 353 | "kind": "v", 354 | "menu": "Value of String type. Read-only. See: |type()|", 355 | "info": "Value of String type. Read-only. See: |type()| " 356 | }, 357 | {"word": "v:termresponse", 358 | "kind": "v", 359 | "menu": "The escape sequence returned by the terminal for the |t_RV|", 360 | "info": "The escape sequence returned by the terminal for the |t_RV| termcap entry. It is set when Vim receives an escape sequence that starts with ESC [ or CSI and ends in a 'c', with only digits, ';' and '.' in between. When this option is set, the TermResponse autocommand event is fired, so that you can react to the response from the terminal. The response from a new xterm is: \"[ Pp ; Pv ; Pc c\". Pp is the terminal type: 0 for vt100 and 1 for vt220. Pv is the patch level (since this was introduced in patch 95, it's always 95 or bigger). Pc is always zero. {only when compiled with |+termresponse| feature} " 361 | }, 362 | {"word": "v:termblinkresp", 363 | "kind": "v", 364 | "menu": "The escape sequence returned by the terminal for the |t_RC|", 365 | "info": "The escape sequence returned by the terminal for the |t_RC| termcap entry. This is used to find out whether the terminal cursor is blinking. This is used by |term_getcursor()|. " 366 | }, 367 | {"word": "v:termstyleresp", 368 | "kind": "v", 369 | "menu": "The escape sequence returned by the terminal for the |t_RS|", 370 | "info": "The escape sequence returned by the terminal for the |t_RS| termcap entry. This is used to find out what the shape of the cursor is. This is used by |term_getcursor()|. " 371 | }, 372 | {"word": "v:termrbgresp", 373 | "kind": "v", 374 | "menu": "The escape sequence returned by the terminal for the |t_RB|", 375 | "info": "The escape sequence returned by the terminal for the |t_RB| termcap entry. This is used to find out what the terminal background color is, see 'background'. " 376 | }, 377 | {"word": "v:termrfgresp", 378 | "kind": "v", 379 | "menu": "The escape sequence returned by the terminal for the |t_RF|", 380 | "info": "The escape sequence returned by the terminal for the |t_RF| termcap entry. This is used to find out what the terminal foreground color is. " 381 | }, 382 | {"word": "v:termu7resp", 383 | "kind": "v", 384 | "menu": "The escape sequence returned by the terminal for the |t_u7|", 385 | "info": "The escape sequence returned by the terminal for the |t_u7| termcap entry. This is used to find out what the terminal does with ambiguous width characters, see 'ambiwidth'. " 386 | }, 387 | {"word": "v:testing", 388 | "kind": "v", 389 | "menu": "Must be set before using `test_garbagecollect_now()`.", 390 | "info": "Must be set before using `test_garbagecollect_now()`. Also, when set certain error messages won't be shown for 2 seconds. (e.g. \"'dictionary' option is empty\") " 391 | }, 392 | {"word": "v:this_session", 393 | "kind": "v", 394 | "menu": "Full filename of the last loaded or saved session file.", 395 | "info": "Full filename of the last loaded or saved session file. See |:mksession|. It is allowed to set this variable. When no session file has been saved, this variable is empty. \"this_session\" also works, for backwards compatibility. " 396 | }, 397 | {"word": "v:throwpoint", 398 | "kind": "v", 399 | "menu": "The point where the exception most recently caught and not", 400 | "info": "The point where the exception most recently caught and not finished was thrown. Not set when commands are typed. See also |v:exception| and |throw-variables|. Example: > :try : throw \"oops\" :catch /.*/ : echo \"Exception from\" v:throwpoint :endtry < Output: \"Exception from test.vim, line 2\" " 401 | }, 402 | {"word": "v:true", 403 | "kind": "v", 404 | "menu": "A Number with value one. Used to put \"true\" in JSON.", 405 | "info": "A Number with value one. Used to put \"true\" in JSON. See |json_encode()|. When used as a string this evaluates to \"v:true\". > echo v:true < v:true ~ That is so that eval() can parse the string back to the same value. Read-only." 406 | }, 407 | {"word": "v:val", 408 | "kind": "v", 409 | "menu": "Value of the current item of a |List| or |Dictionary|.", 410 | "info": "Value of the current item of a |List| or |Dictionary|. Only valid while evaluating the expression used with |map()| and |filter()|. Read-only. " 411 | }, 412 | {"word": "v:version", 413 | "kind": "v", 414 | "menu": "Version number of Vim: Major version number times 100 plus", 415 | "info": "Version number of Vim: Major version number times 100 plus minor version number. Version 5.0 is 500. Version 5.1 (5.01) is 501. Read-only. \"version\" also works, for backwards compatibility. Use |has()| to check if a certain patch was included, e.g.: > if has(\"patch-7.4.123\") < Note that patch numbers are specific to the version, thus both version 5.0 and 5.1 may have a patch 123, but these are completely different. " 416 | }, 417 | {"word": "v:vim_did_enter", 418 | "kind": "v", 419 | "menu": "Zero until most of startup is done. It is set to one just", 420 | "info": "Zero until most of startup is done. It is set to one just before |VimEnter| autocommands are triggered. " 421 | }, 422 | {"word": "v:warningmsg", 423 | "kind": "v", 424 | "menu": "Last given warning message. It's allowed to set this variable.", 425 | "info": "Last given warning message. It's allowed to set this variable. " 426 | }, 427 | {"word": "v:windowid", 428 | "kind": "v", 429 | "menu": "When any X11 based GUI is running or when running in a", 430 | "info": "When any X11 based GUI is running or when running in a terminal and Vim connects to the X server (|-X|) this will be set to the window ID. When an MS-Windows GUI is running this will be set to the window handle. Otherwise the value is zero. Note: for windows inside Vim use |winnr()| or |win_getid()|, see |window-ID|. " 431 | }] -------------------------------------------------------------------------------- /data/def_optcache.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"word": "aleph", 3 | "menu": "'al' ASCII code of the letter Aleph (Hebrew)", 4 | "info": "'al' ASCII code of the letter Aleph (Hebrew)" 5 | }, 6 | {"word": "allowrevins", 7 | "menu": "'ari' allow CTRL-_ in Insert and Command-line mode", 8 | "info": "'ari' allow CTRL-_ in Insert and Command-line mode" 9 | }, 10 | {"word": "altkeymap", 11 | "menu": "'akm' for default second language (Farsi/Hebrew)", 12 | "info": "'akm' for default second language (Farsi/Hebrew)" 13 | }, 14 | {"word": "ambiwidth", 15 | "menu": "'ambw' what to do with Unicode chars of ambiguous width", 16 | "info": "'ambw' what to do with Unicode chars of ambiguous width" 17 | }, 18 | {"word": "antialias", 19 | "menu": "'anti' Mac OS X: use smooth, antialiased fonts", 20 | "info": "'anti' Mac OS X: use smooth, antialiased fonts" 21 | }, 22 | {"word": "autochdir", 23 | "menu": "'acd' change directory to the file in the current window", 24 | "info": "'acd' change directory to the file in the current window" 25 | }, 26 | {"word": "arabic", 27 | "menu": "'arab' for Arabic as a default second language", 28 | "info": "'arab' for Arabic as a default second language" 29 | }, 30 | {"word": "arabicshape", 31 | "menu": "'arshape' do shaping for Arabic characters", 32 | "info": "'arshape' do shaping for Arabic characters" 33 | }, 34 | {"word": "autoindent", 35 | "menu": "'ai' take indent for new line from previous line", 36 | "info": "'ai' take indent for new line from previous line" 37 | }, 38 | {"word": "autoread", 39 | "menu": "'ar' autom. read file when changed outside of Vim", 40 | "info": "'ar' autom. read file when changed outside of Vim" 41 | }, 42 | {"word": "autowrite", 43 | "menu": "'aw' automatically write file if changed", 44 | "info": "'aw' automatically write file if changed" 45 | }, 46 | {"word": "autowriteall", 47 | "menu": "'awa' as 'autowrite', but works with more commands", 48 | "info": "'awa' as 'autowrite', but works with more commands" 49 | }, 50 | {"word": "background", 51 | "menu": "'bg' \"dark\" or \"light\", used for highlight colors", 52 | "info": "'bg' \"dark\" or \"light\", used for highlight colors" 53 | }, 54 | {"word": "backspace", 55 | "menu": "'bs' how backspace works at start of line", 56 | "info": "'bs' how backspace works at start of line" 57 | }, 58 | {"word": "backup", 59 | "menu": "'bk' keep backup file after overwriting a file", 60 | "info": "'bk' keep backup file after overwriting a file" 61 | }, 62 | {"word": "backupcopy", 63 | "menu": "'bkc' make backup as a copy, don't rename the file", 64 | "info": "'bkc' make backup as a copy, don't rename the file" 65 | }, 66 | {"word": "backupdir", 67 | "menu": "'bdir' list of directories for the backup file", 68 | "info": "'bdir' list of directories for the backup file" 69 | }, 70 | {"word": "backupext", 71 | "menu": "'bex' extension used for the backup file", 72 | "info": "'bex' extension used for the backup file" 73 | }, 74 | {"word": "backupskip", 75 | "menu": "'bsk' no backup for files that match these patterns", 76 | "info": "'bsk' no backup for files that match these patterns" 77 | }, 78 | {"word": "balloondelay", 79 | "menu": "'bdlay' delay in mS before a balloon may pop up", 80 | "info": "'bdlay' delay in mS before a balloon may pop up" 81 | }, 82 | {"word": "ballooneval", 83 | "menu": "'beval' switch on balloon evaluation in the GUI", 84 | "info": "'beval' switch on balloon evaluation in the GUI" 85 | }, 86 | {"word": "balloonevalterm", 87 | "menu": "'bevalterm' switch on balloon evaluation in the terminal", 88 | "info": "'bevalterm' switch on balloon evaluation in the terminal" 89 | }, 90 | {"word": "balloonexpr", 91 | "menu": "'bexpr' expression to show in balloon", 92 | "info": "'bexpr' expression to show in balloon" 93 | }, 94 | {"word": "belloff", 95 | "menu": "'bo' do not ring the bell for these reasons", 96 | "info": "'bo' do not ring the bell for these reasons" 97 | }, 98 | {"word": "binary", 99 | "menu": "'bin' read/write/edit file in binary mode", 100 | "info": "'bin' read/write/edit file in binary mode" 101 | }, 102 | {"word": "bioskey", 103 | "menu": "'biosk' MS-DOS: use bios calls for input characters", 104 | "info": "'biosk' MS-DOS: use bios calls for input characters" 105 | }, 106 | {"word": "bomb", 107 | "menu": "prepend a Byte Order Mark to the file", 108 | "info": "prepend a Byte Order Mark to the file" 109 | }, 110 | {"word": "breakat", 111 | "menu": "'brk' characters that may cause a line break", 112 | "info": "'brk' characters that may cause a line break" 113 | }, 114 | {"word": "breakindent", 115 | "menu": "'bri' wrapped line repeats indent ", 116 | "info": "'bri' wrapped line repeats indent " 117 | }, 118 | {"word": "breakindentopt", 119 | "menu": "'briopt' settings for 'breakindent'", 120 | "info": "'briopt' settings for 'breakindent'" 121 | }, 122 | {"word": "browsedir", 123 | "menu": "'bsdir' which directory to start browsing in", 124 | "info": "'bsdir' which directory to start browsing in" 125 | }, 126 | {"word": "bufhidden", 127 | "menu": "'bh' what to do when buffer is no longer in window", 128 | "info": "'bh' what to do when buffer is no longer in window" 129 | }, 130 | {"word": "buflisted", 131 | "menu": "'bl' whether the buffer shows up in the buffer list", 132 | "info": "'bl' whether the buffer shows up in the buffer list" 133 | }, 134 | {"word": "buftype", 135 | "menu": "'bt' special type of buffer", 136 | "info": "'bt' special type of buffer" 137 | }, 138 | {"word": "casemap", 139 | "menu": "'cmp' specifies how case of letters is changed", 140 | "info": "'cmp' specifies how case of letters is changed" 141 | }, 142 | {"word": "cdpath", 143 | "menu": "'cd' list of directories searched with \":cd\"", 144 | "info": "'cd' list of directories searched with \":cd\"" 145 | }, 146 | {"word": "cedit", 147 | "menu": "key used to open the command-line window", 148 | "info": "key used to open the command-line window" 149 | }, 150 | {"word": "charconvert", 151 | "menu": "'ccv' expression for character encoding conversion", 152 | "info": "'ccv' expression for character encoding conversion" 153 | }, 154 | {"word": "cindent", 155 | "menu": "'cin' do C program indenting", 156 | "info": "'cin' do C program indenting" 157 | }, 158 | {"word": "cinkeys", 159 | "menu": "'cink' keys that trigger indent when 'cindent' is set", 160 | "info": "'cink' keys that trigger indent when 'cindent' is set" 161 | }, 162 | {"word": "cinoptions", 163 | "menu": "'cino' how to do indenting when 'cindent' is set", 164 | "info": "'cino' how to do indenting when 'cindent' is set" 165 | }, 166 | {"word": "cinwords", 167 | "menu": "'cinw' words where 'si' and 'cin' add an indent", 168 | "info": "'cinw' words where 'si' and 'cin' add an indent" 169 | }, 170 | {"word": "clipboard", 171 | "menu": "'cb' use the clipboard as the unnamed register", 172 | "info": "'cb' use the clipboard as the unnamed register" 173 | }, 174 | {"word": "cmdheight", 175 | "menu": "'ch' number of lines to use for the command-line", 176 | "info": "'ch' number of lines to use for the command-line" 177 | }, 178 | {"word": "cmdwinheight", 179 | "menu": "'cwh' height of the command-line window", 180 | "info": "'cwh' height of the command-line window" 181 | }, 182 | {"word": "colorcolumn", 183 | "menu": "'cc' columns to highlight", 184 | "info": "'cc' columns to highlight" 185 | }, 186 | {"word": "columns", 187 | "menu": "'co' number of columns in the display", 188 | "info": "'co' number of columns in the display" 189 | }, 190 | {"word": "comments", 191 | "menu": "'com' patterns that can start a comment line", 192 | "info": "'com' patterns that can start a comment line" 193 | }, 194 | {"word": "commentstring", 195 | "menu": "'cms' template for comments; used for fold marker", 196 | "info": "'cms' template for comments; used for fold marker" 197 | }, 198 | {"word": "compatible", 199 | "menu": "'cp' behave Vi-compatible as much as possible", 200 | "info": "'cp' behave Vi-compatible as much as possible" 201 | }, 202 | {"word": "complete", 203 | "menu": "'cpt' specify how Insert mode completion works", 204 | "info": "'cpt' specify how Insert mode completion works" 205 | }, 206 | {"word": "completefunc", 207 | "menu": "'cfu' function to be used for Insert mode completion", 208 | "info": "'cfu' function to be used for Insert mode completion" 209 | }, 210 | {"word": "completeopt", 211 | "menu": "'cot' options for Insert mode completion", 212 | "info": "'cot' options for Insert mode completion" 213 | }, 214 | {"word": "concealcursor", 215 | "menu": "'cocu' whether concealable text is hidden in cursor line", 216 | "info": "'cocu' whether concealable text is hidden in cursor line" 217 | }, 218 | {"word": "conceallevel", 219 | "menu": "'cole' whether concealable text is shown or hidden", 220 | "info": "'cole' whether concealable text is shown or hidden" 221 | }, 222 | {"word": "confirm", 223 | "menu": "'cf' ask what to do about unsaved/read-only files", 224 | "info": "'cf' ask what to do about unsaved/read-only files" 225 | }, 226 | {"word": "conskey", 227 | "menu": "'consk' get keys directly from console (MS-DOS only)", 228 | "info": "'consk' get keys directly from console (MS-DOS only)" 229 | }, 230 | {"word": "copyindent", 231 | "menu": "'ci' make 'autoindent' use existing indent structure", 232 | "info": "'ci' make 'autoindent' use existing indent structure" 233 | }, 234 | {"word": "cpoptions", 235 | "menu": "'cpo' flags for Vi-compatible behavior", 236 | "info": "'cpo' flags for Vi-compatible behavior" 237 | }, 238 | {"word": "cryptmethod", 239 | "menu": "'cm' type of encryption to use for file writing", 240 | "info": "'cm' type of encryption to use for file writing" 241 | }, 242 | {"word": "cscopepathcomp", 243 | "menu": "'cspc' how many components of the path to show", 244 | "info": "'cspc' how many components of the path to show" 245 | }, 246 | {"word": "cscopeprg", 247 | "menu": "'csprg' command to execute cscope", 248 | "info": "'csprg' command to execute cscope" 249 | }, 250 | {"word": "cscopequickfix", 251 | "menu": "'csqf' use quickfix window for cscope results", 252 | "info": "'csqf' use quickfix window for cscope results" 253 | }, 254 | {"word": "cscoperelative", 255 | "menu": "'csre' Use cscope.out path basename as prefix", 256 | "info": "'csre' Use cscope.out path basename as prefix" 257 | }, 258 | {"word": "cscopetag", 259 | "menu": "'cst' use cscope for tag commands", 260 | "info": "'cst' use cscope for tag commands" 261 | }, 262 | {"word": "cscopetagorder", 263 | "menu": "'csto' determines \":cstag\" search order", 264 | "info": "'csto' determines \":cstag\" search order" 265 | }, 266 | {"word": "cscopeverbose", 267 | "menu": "'csverb' give messages when adding a cscope database", 268 | "info": "'csverb' give messages when adding a cscope database" 269 | }, 270 | {"word": "cursorbind", 271 | "menu": "'crb' move cursor in window as it moves in other windows", 272 | "info": "'crb' move cursor in window as it moves in other windows" 273 | }, 274 | {"word": "cursorcolumn", 275 | "menu": "'cuc' highlight the screen column of the cursor", 276 | "info": "'cuc' highlight the screen column of the cursor" 277 | }, 278 | {"word": "cursorline", 279 | "menu": "'cul' highlight the screen line of the cursor", 280 | "info": "'cul' highlight the screen line of the cursor" 281 | }, 282 | {"word": "debug", 283 | "menu": "set to \"msg\" to see all error messages", 284 | "info": "set to \"msg\" to see all error messages" 285 | }, 286 | {"word": "define", 287 | "menu": "'def' pattern to be used to find a macro definition", 288 | "info": "'def' pattern to be used to find a macro definition" 289 | }, 290 | {"word": "delcombine", 291 | "menu": "'deco' delete combining characters on their own", 292 | "info": "'deco' delete combining characters on their own" 293 | }, 294 | {"word": "dictionary", 295 | "menu": "'dict' list of file names used for keyword completion", 296 | "info": "'dict' list of file names used for keyword completion" 297 | }, 298 | {"word": "diff", 299 | "menu": "use diff mode for the current window", 300 | "info": "use diff mode for the current window" 301 | }, 302 | {"word": "diffexpr", 303 | "menu": "'dex' expression used to obtain a diff file", 304 | "info": "'dex' expression used to obtain a diff file" 305 | }, 306 | {"word": "diffopt", 307 | "menu": "'dip' options for using diff mode", 308 | "info": "'dip' options for using diff mode" 309 | }, 310 | {"word": "digraph", 311 | "menu": "'dg' enable the entering of digraphs in Insert mode", 312 | "info": "'dg' enable the entering of digraphs in Insert mode" 313 | }, 314 | {"word": "directory", 315 | "menu": "'dir' list of directory names for the swap file", 316 | "info": "'dir' list of directory names for the swap file" 317 | }, 318 | {"word": "display", 319 | "menu": "'dy' list of flags for how to display text", 320 | "info": "'dy' list of flags for how to display text" 321 | }, 322 | {"word": "eadirection", 323 | "menu": "'ead' in which direction 'equalalways' works", 324 | "info": "'ead' in which direction 'equalalways' works" 325 | }, 326 | {"word": "edcompatible", 327 | "menu": "'ed' toggle flags of \":substitute\" command", 328 | "info": "'ed' toggle flags of \":substitute\" command" 329 | }, 330 | {"word": "emoji", 331 | "menu": "'emo' emoji characters are considered full width", 332 | "info": "'emo' emoji characters are considered full width" 333 | }, 334 | {"word": "encoding", 335 | "menu": "'enc' encoding used internally", 336 | "info": "'enc' encoding used internally" 337 | }, 338 | {"word": "endofline", 339 | "menu": "'eol' write for last line in file", 340 | "info": "'eol' write for last line in file" 341 | }, 342 | {"word": "equalalways", 343 | "menu": "'ea' windows are automatically made the same size", 344 | "info": "'ea' windows are automatically made the same size" 345 | }, 346 | {"word": "equalprg", 347 | "menu": "'ep' external program to use for \"=\" command", 348 | "info": "'ep' external program to use for \"=\" command" 349 | }, 350 | {"word": "errorbells", 351 | "menu": "'eb' ring the bell for error messages", 352 | "info": "'eb' ring the bell for error messages" 353 | }, 354 | {"word": "errorfile", 355 | "menu": "'ef' name of the errorfile for the QuickFix mode", 356 | "info": "'ef' name of the errorfile for the QuickFix mode" 357 | }, 358 | {"word": "errorformat", 359 | "menu": "'efm' description of the lines in the error file", 360 | "info": "'efm' description of the lines in the error file" 361 | }, 362 | {"word": "esckeys", 363 | "menu": "'ek' recognize function keys in Insert mode", 364 | "info": "'ek' recognize function keys in Insert mode" 365 | }, 366 | {"word": "eventignore", 367 | "menu": "'ei' autocommand events that are ignored", 368 | "info": "'ei' autocommand events that are ignored" 369 | }, 370 | {"word": "expandtab", 371 | "menu": "'et' use spaces when is inserted", 372 | "info": "'et' use spaces when is inserted" 373 | }, 374 | {"word": "exrc", 375 | "menu": "'ex' read .vimrc and .exrc in the current directory", 376 | "info": "'ex' read .vimrc and .exrc in the current directory" 377 | }, 378 | {"word": "fileencoding", 379 | "menu": "'fenc' file encoding for multi-byte text", 380 | "info": "'fenc' file encoding for multi-byte text" 381 | }, 382 | {"word": "fileencodings", 383 | "menu": "'fencs' automatically detected character encodings", 384 | "info": "'fencs' automatically detected character encodings" 385 | }, 386 | {"word": "fileformat", 387 | "menu": "'ff' file format used for file I/O", 388 | "info": "'ff' file format used for file I/O" 389 | }, 390 | {"word": "fileformats", 391 | "menu": "'ffs' automatically detected values for 'fileformat'", 392 | "info": "'ffs' automatically detected values for 'fileformat'" 393 | }, 394 | {"word": "fileignorecase", 395 | "menu": "'fic' ignore case when using file names", 396 | "info": "'fic' ignore case when using file names" 397 | }, 398 | {"word": "filetype", 399 | "menu": "'ft' type of file, used for autocommands", 400 | "info": "'ft' type of file, used for autocommands" 401 | }, 402 | {"word": "fillchars", 403 | "menu": "'fcs' characters to use for displaying special items", 404 | "info": "'fcs' characters to use for displaying special items" 405 | }, 406 | {"word": "fixendofline", 407 | "menu": "'fixeol' make sure last line in file has ", 408 | "info": "'fixeol' make sure last line in file has " 409 | }, 410 | {"word": "fkmap", 411 | "menu": "'fk' Farsi keyboard mapping", 412 | "info": "'fk' Farsi keyboard mapping" 413 | }, 414 | {"word": "foldclose", 415 | "menu": "'fcl' close a fold when the cursor leaves it", 416 | "info": "'fcl' close a fold when the cursor leaves it" 417 | }, 418 | {"word": "foldcolumn", 419 | "menu": "'fdc' width of the column used to indicate folds", 420 | "info": "'fdc' width of the column used to indicate folds" 421 | }, 422 | {"word": "foldenable", 423 | "menu": "'fen' set to display all folds open", 424 | "info": "'fen' set to display all folds open" 425 | }, 426 | {"word": "foldexpr", 427 | "menu": "'fde' expression used when 'foldmethod' is \"expr\"", 428 | "info": "'fde' expression used when 'foldmethod' is \"expr\"" 429 | }, 430 | {"word": "foldignore", 431 | "menu": "'fdi' ignore lines when 'foldmethod' is \"indent\"", 432 | "info": "'fdi' ignore lines when 'foldmethod' is \"indent\"" 433 | }, 434 | {"word": "foldlevel", 435 | "menu": "'fdl' close folds with a level higher than this", 436 | "info": "'fdl' close folds with a level higher than this" 437 | }, 438 | {"word": "foldlevelstart", 439 | "menu": "'fdls' 'foldlevel' when starting to edit a file", 440 | "info": "'fdls' 'foldlevel' when starting to edit a file" 441 | }, 442 | {"word": "foldmarker", 443 | "menu": "'fmr' markers used when 'foldmethod' is \"marker\"", 444 | "info": "'fmr' markers used when 'foldmethod' is \"marker\"" 445 | }, 446 | {"word": "foldmethod", 447 | "menu": "'fdm' folding type", 448 | "info": "'fdm' folding type" 449 | }, 450 | {"word": "foldminlines", 451 | "menu": "'fml' minimum number of lines for a fold to be closed", 452 | "info": "'fml' minimum number of lines for a fold to be closed" 453 | }, 454 | {"word": "foldnestmax", 455 | "menu": "'fdn' maximum fold depth", 456 | "info": "'fdn' maximum fold depth" 457 | }, 458 | {"word": "foldopen", 459 | "menu": "'fdo' for which commands a fold will be opened", 460 | "info": "'fdo' for which commands a fold will be opened" 461 | }, 462 | {"word": "foldtext", 463 | "menu": "'fdt' expression used to display for a closed fold", 464 | "info": "'fdt' expression used to display for a closed fold" 465 | }, 466 | {"word": "formatexpr", 467 | "menu": "'fex' expression used with \"gq\" command", 468 | "info": "'fex' expression used with \"gq\" command" 469 | }, 470 | {"word": "formatlistpat", 471 | "menu": "'flp' pattern used to recognize a list header", 472 | "info": "'flp' pattern used to recognize a list header" 473 | }, 474 | {"word": "formatoptions", 475 | "menu": "'fo' how automatic formatting is to be done", 476 | "info": "'fo' how automatic formatting is to be done" 477 | }, 478 | {"word": "formatprg", 479 | "menu": "'fp' name of external program used with \"gq\" command", 480 | "info": "'fp' name of external program used with \"gq\" command" 481 | }, 482 | {"word": "fsync", 483 | "menu": "'fs' whether to invoke fsync() after file write", 484 | "info": "'fs' whether to invoke fsync() after file write" 485 | }, 486 | {"word": "gdefault", 487 | "menu": "'gd' the \":substitute\" flag 'g' is default on", 488 | "info": "'gd' the \":substitute\" flag 'g' is default on" 489 | }, 490 | {"word": "grepformat", 491 | "menu": "'gfm' format of 'grepprg' output", 492 | "info": "'gfm' format of 'grepprg' output" 493 | }, 494 | {"word": "grepprg", 495 | "menu": "'gp' program to use for \":grep\"", 496 | "info": "'gp' program to use for \":grep\"" 497 | }, 498 | {"word": "guicursor", 499 | "menu": "'gcr' GUI: settings for cursor shape and blinking", 500 | "info": "'gcr' GUI: settings for cursor shape and blinking" 501 | }, 502 | {"word": "guifont", 503 | "menu": "'gfn' GUI: Name(s) of font(s) to be used", 504 | "info": "'gfn' GUI: Name(s) of font(s) to be used" 505 | }, 506 | {"word": "guifontset", 507 | "menu": "'gfs' GUI: Names of multi-byte fonts to be used", 508 | "info": "'gfs' GUI: Names of multi-byte fonts to be used" 509 | }, 510 | {"word": "guifontwide", 511 | "menu": "'gfw' list of font names for double-wide characters", 512 | "info": "'gfw' list of font names for double-wide characters" 513 | }, 514 | {"word": "guiheadroom", 515 | "menu": "'ghr' GUI: pixels room for window decorations", 516 | "info": "'ghr' GUI: pixels room for window decorations" 517 | }, 518 | {"word": "guioptions", 519 | "menu": "'go' GUI: Which components and options are used", 520 | "info": "'go' GUI: Which components and options are used" 521 | }, 522 | {"word": "guipty", 523 | "menu": "GUI: try to use a pseudo-tty for \":!\" commands", 524 | "info": "GUI: try to use a pseudo-tty for \":!\" commands" 525 | }, 526 | {"word": "guitablabel", 527 | "menu": "'gtl' GUI: custom label for a tab page", 528 | "info": "'gtl' GUI: custom label for a tab page" 529 | }, 530 | {"word": "guitabtooltip", 531 | "menu": "'gtt' GUI: custom tooltip for a tab page", 532 | "info": "'gtt' GUI: custom tooltip for a tab page" 533 | }, 534 | {"word": "helpfile", 535 | "menu": "'hf' full path name of the main help file", 536 | "info": "'hf' full path name of the main help file" 537 | }, 538 | {"word": "helpheight", 539 | "menu": "'hh' minimum height of a new help window", 540 | "info": "'hh' minimum height of a new help window" 541 | }, 542 | {"word": "helplang", 543 | "menu": "'hlg' preferred help languages", 544 | "info": "'hlg' preferred help languages" 545 | }, 546 | {"word": "hidden", 547 | "menu": "'hid' don't unload buffer when it is |abandon|ed", 548 | "info": "'hid' don't unload buffer when it is |abandon|ed" 549 | }, 550 | {"word": "highlight", 551 | "menu": "'hl' sets highlighting mode for various occasions", 552 | "info": "'hl' sets highlighting mode for various occasions" 553 | }, 554 | {"word": "history", 555 | "menu": "'hi' number of command-lines that are remembered", 556 | "info": "'hi' number of command-lines that are remembered" 557 | }, 558 | {"word": "hkmap", 559 | "menu": "'hk' Hebrew keyboard mapping", 560 | "info": "'hk' Hebrew keyboard mapping" 561 | }, 562 | {"word": "hkmapp", 563 | "menu": "'hkp' phonetic Hebrew keyboard mapping", 564 | "info": "'hkp' phonetic Hebrew keyboard mapping" 565 | }, 566 | {"word": "hlsearch", 567 | "menu": "'hls' highlight matches with last search pattern", 568 | "info": "'hls' highlight matches with last search pattern" 569 | }, 570 | {"word": "icon", 571 | "menu": "let Vim set the text of the window icon", 572 | "info": "let Vim set the text of the window icon" 573 | }, 574 | {"word": "iconstring", 575 | "menu": "string to use for the Vim icon text", 576 | "info": "string to use for the Vim icon text" 577 | }, 578 | {"word": "ignorecase", 579 | "menu": "'ic' ignore case in search patterns", 580 | "info": "'ic' ignore case in search patterns" 581 | }, 582 | {"word": "imactivatefunc", 583 | "menu": "'imaf' function to enable/disable the X input method", 584 | "info": "'imaf' function to enable/disable the X input method" 585 | }, 586 | {"word": "imactivatekey", 587 | "menu": "'imak' key that activates the X input method", 588 | "info": "'imak' key that activates the X input method" 589 | }, 590 | {"word": "imcmdline", 591 | "menu": "'imc' use IM when starting to edit a command line", 592 | "info": "'imc' use IM when starting to edit a command line" 593 | }, 594 | {"word": "imdisable", 595 | "menu": "'imd' do not use the IM in any mode", 596 | "info": "'imd' do not use the IM in any mode" 597 | }, 598 | {"word": "iminsert", 599 | "menu": "'imi' use :lmap or IM in Insert mode", 600 | "info": "'imi' use :lmap or IM in Insert mode" 601 | }, 602 | {"word": "imsearch", 603 | "menu": "'ims' use :lmap or IM when typing a search pattern", 604 | "info": "'ims' use :lmap or IM when typing a search pattern" 605 | }, 606 | {"word": "imstatusfunc", 607 | "menu": "'imsf' function to obtain X input method status", 608 | "info": "'imsf' function to obtain X input method status" 609 | }, 610 | {"word": "imstyle", 611 | "menu": "'imst' specifies the input style of the input method", 612 | "info": "'imst' specifies the input style of the input method" 613 | }, 614 | {"word": "include", 615 | "menu": "'inc' pattern to be used to find an include file", 616 | "info": "'inc' pattern to be used to find an include file" 617 | }, 618 | {"word": "includeexpr", 619 | "menu": "'inex' expression used to process an include line", 620 | "info": "'inex' expression used to process an include line" 621 | }, 622 | {"word": "incsearch", 623 | "menu": "'is' highlight match while typing search pattern", 624 | "info": "'is' highlight match while typing search pattern" 625 | }, 626 | {"word": "indentexpr", 627 | "menu": "'inde' expression used to obtain the indent of a line", 628 | "info": "'inde' expression used to obtain the indent of a line" 629 | }, 630 | {"word": "indentkeys", 631 | "menu": "'indk' keys that trigger indenting with 'indentexpr'", 632 | "info": "'indk' keys that trigger indenting with 'indentexpr'" 633 | }, 634 | {"word": "infercase", 635 | "menu": "'inf' adjust case of match for keyword completion", 636 | "info": "'inf' adjust case of match for keyword completion" 637 | }, 638 | {"word": "insertmode", 639 | "menu": "'im' start the edit of a file in Insert mode", 640 | "info": "'im' start the edit of a file in Insert mode" 641 | }, 642 | {"word": "isfname", 643 | "menu": "'isf' characters included in file names and pathnames", 644 | "info": "'isf' characters included in file names and pathnames" 645 | }, 646 | {"word": "isident", 647 | "menu": "'isi' characters included in identifiers", 648 | "info": "'isi' characters included in identifiers" 649 | }, 650 | {"word": "iskeyword", 651 | "menu": "'isk' characters included in keywords", 652 | "info": "'isk' characters included in keywords" 653 | }, 654 | {"word": "isprint", 655 | "menu": "'isp' printable characters", 656 | "info": "'isp' printable characters" 657 | }, 658 | {"word": "joinspaces", 659 | "menu": "'js' two spaces after a period with a join command", 660 | "info": "'js' two spaces after a period with a join command" 661 | }, 662 | {"word": "key", 663 | "menu": "encryption key", 664 | "info": "encryption key" 665 | }, 666 | {"word": "keymap", 667 | "menu": "'kmp' name of a keyboard mapping", 668 | "info": "'kmp' name of a keyboard mapping" 669 | }, 670 | {"word": "keymodel", 671 | "menu": "'km' enable starting/stopping selection with keys", 672 | "info": "'km' enable starting/stopping selection with keys" 673 | }, 674 | {"word": "keywordprg", 675 | "menu": "'kp' program to use for the \"K\" command", 676 | "info": "'kp' program to use for the \"K\" command" 677 | }, 678 | {"word": "langmap", 679 | "menu": "'lmap' alphabetic characters for other language mode", 680 | "info": "'lmap' alphabetic characters for other language mode" 681 | }, 682 | {"word": "langmenu", 683 | "menu": "'lm' language to be used for the menus", 684 | "info": "'lm' language to be used for the menus" 685 | }, 686 | {"word": "langremap", 687 | "menu": "'lrm' do apply 'langmap' to mapped characters", 688 | "info": "'lrm' do apply 'langmap' to mapped characters" 689 | }, 690 | {"word": "laststatus", 691 | "menu": "'ls' tells when last window has status lines", 692 | "info": "'ls' tells when last window has status lines" 693 | }, 694 | {"word": "lazyredraw", 695 | "menu": "'lz' don't redraw while executing macros", 696 | "info": "'lz' don't redraw while executing macros" 697 | }, 698 | {"word": "linebreak", 699 | "menu": "'lbr' wrap long lines at a blank", 700 | "info": "'lbr' wrap long lines at a blank" 701 | }, 702 | {"word": "lines", 703 | "menu": "number of lines in the display", 704 | "info": "number of lines in the display" 705 | }, 706 | {"word": "linespace", 707 | "menu": "'lsp' number of pixel lines to use between characters", 708 | "info": "'lsp' number of pixel lines to use between characters" 709 | }, 710 | {"word": "lisp", 711 | "menu": "automatic indenting for Lisp", 712 | "info": "automatic indenting for Lisp" 713 | }, 714 | {"word": "lispwords", 715 | "menu": "'lw' words that change how lisp indenting works", 716 | "info": "'lw' words that change how lisp indenting works" 717 | }, 718 | {"word": "list", 719 | "menu": "show and ", 720 | "info": "show and " 721 | }, 722 | {"word": "listchars", 723 | "menu": "'lcs' characters for displaying in list mode", 724 | "info": "'lcs' characters for displaying in list mode" 725 | }, 726 | {"word": "loadplugins", 727 | "menu": "'lpl' load plugin scripts when starting up", 728 | "info": "'lpl' load plugin scripts when starting up" 729 | }, 730 | {"word": "luadll", 731 | "menu": "name of the Lua dynamic library", 732 | "info": "name of the Lua dynamic library" 733 | }, 734 | {"word": "mzschemedll", 735 | "menu": "name of the MzScheme dynamic library", 736 | "info": "name of the MzScheme dynamic library" 737 | }, 738 | {"word": "mzschemegcdll", 739 | "menu": "name of the MzScheme dynamic library for GC", 740 | "info": "name of the MzScheme dynamic library for GC" 741 | }, 742 | {"word": "macatsui", 743 | "menu": "Mac GUI: use ATSUI text drawing", 744 | "info": "Mac GUI: use ATSUI text drawing" 745 | }, 746 | {"word": "magic", 747 | "menu": "changes special characters in search patterns", 748 | "info": "changes special characters in search patterns" 749 | }, 750 | {"word": "makeef", 751 | "menu": "'mef' name of the errorfile for \":make\"", 752 | "info": "'mef' name of the errorfile for \":make\"" 753 | }, 754 | {"word": "makeencoding", 755 | "menu": "'menc' encoding of external make/grep commands", 756 | "info": "'menc' encoding of external make/grep commands" 757 | }, 758 | {"word": "makeprg", 759 | "menu": "'mp' program to use for the \":make\" command", 760 | "info": "'mp' program to use for the \":make\" command" 761 | }, 762 | {"word": "matchpairs", 763 | "menu": "'mps' pairs of characters that \"%\" can match", 764 | "info": "'mps' pairs of characters that \"%\" can match" 765 | }, 766 | {"word": "matchtime", 767 | "menu": "'mat' tenths of a second to show matching paren", 768 | "info": "'mat' tenths of a second to show matching paren" 769 | }, 770 | {"word": "maxcombine", 771 | "menu": "'mco' maximum nr of combining characters displayed", 772 | "info": "'mco' maximum nr of combining characters displayed" 773 | }, 774 | {"word": "maxfuncdepth", 775 | "menu": "'mfd' maximum recursive depth for user functions", 776 | "info": "'mfd' maximum recursive depth for user functions" 777 | }, 778 | {"word": "maxmapdepth", 779 | "menu": "'mmd' maximum recursive depth for mapping", 780 | "info": "'mmd' maximum recursive depth for mapping" 781 | }, 782 | {"word": "maxmem", 783 | "menu": "'mm' maximum memory (in Kbyte) used for one buffer", 784 | "info": "'mm' maximum memory (in Kbyte) used for one buffer" 785 | }, 786 | {"word": "maxmempattern", 787 | "menu": "'mmp' maximum memory (in Kbyte) used for pattern search", 788 | "info": "'mmp' maximum memory (in Kbyte) used for pattern search" 789 | }, 790 | {"word": "maxmemtot", 791 | "menu": "'mmt' maximum memory (in Kbyte) used for all buffers", 792 | "info": "'mmt' maximum memory (in Kbyte) used for all buffers" 793 | }, 794 | {"word": "menuitems", 795 | "menu": "'mis' maximum number of items in a menu", 796 | "info": "'mis' maximum number of items in a menu" 797 | }, 798 | {"word": "mkspellmem", 799 | "menu": "'msm' memory used before |:mkspell| compresses the tree", 800 | "info": "'msm' memory used before |:mkspell| compresses the tree" 801 | }, 802 | {"word": "modeline", 803 | "menu": "'ml' recognize modelines at start or end of file", 804 | "info": "'ml' recognize modelines at start or end of file" 805 | }, 806 | {"word": "modelines", 807 | "menu": "'mls' number of lines checked for modelines", 808 | "info": "'mls' number of lines checked for modelines" 809 | }, 810 | {"word": "modifiable", 811 | "menu": "'ma' changes to the text are not possible", 812 | "info": "'ma' changes to the text are not possible" 813 | }, 814 | {"word": "modified", 815 | "menu": "'mod' buffer has been modified", 816 | "info": "'mod' buffer has been modified" 817 | }, 818 | {"word": "more", 819 | "menu": "pause listings when the whole screen is filled", 820 | "info": "pause listings when the whole screen is filled" 821 | }, 822 | {"word": "mouse", 823 | "menu": "enable the use of mouse clicks", 824 | "info": "enable the use of mouse clicks" 825 | }, 826 | {"word": "mousefocus", 827 | "menu": "'mousef' keyboard focus follows the mouse", 828 | "info": "'mousef' keyboard focus follows the mouse" 829 | }, 830 | {"word": "mousehide", 831 | "menu": "'mh' hide mouse pointer while typing", 832 | "info": "'mh' hide mouse pointer while typing" 833 | }, 834 | {"word": "mousemodel", 835 | "menu": "'mousem' changes meaning of mouse buttons", 836 | "info": "'mousem' changes meaning of mouse buttons" 837 | }, 838 | {"word": "mouseshape", 839 | "menu": "'mouses' shape of the mouse pointer in different modes", 840 | "info": "'mouses' shape of the mouse pointer in different modes" 841 | }, 842 | {"word": "mousetime", 843 | "menu": "'mouset' max time between mouse double-click", 844 | "info": "'mouset' max time between mouse double-click" 845 | }, 846 | {"word": "mzquantum", 847 | "menu": "'mzq' the interval between polls for MzScheme threads", 848 | "info": "'mzq' the interval between polls for MzScheme threads" 849 | }, 850 | {"word": "nrformats", 851 | "menu": "'nf' number formats recognized for CTRL-A command", 852 | "info": "'nf' number formats recognized for CTRL-A command" 853 | }, 854 | {"word": "number", 855 | "menu": "'nu' print the line number in front of each line", 856 | "info": "'nu' print the line number in front of each line" 857 | }, 858 | {"word": "numberwidth", 859 | "menu": "'nuw' number of columns used for the line number", 860 | "info": "'nuw' number of columns used for the line number" 861 | }, 862 | {"word": "omnifunc", 863 | "menu": "'ofu' function for filetype-specific completion", 864 | "info": "'ofu' function for filetype-specific completion" 865 | }, 866 | {"word": "opendevice", 867 | "menu": "'odev' allow reading/writing devices on MS-Windows", 868 | "info": "'odev' allow reading/writing devices on MS-Windows" 869 | }, 870 | {"word": "operatorfunc", 871 | "menu": "'opfunc' function to be called for |g@| operator", 872 | "info": "'opfunc' function to be called for |g@| operator" 873 | }, 874 | {"word": "osfiletype", 875 | "menu": "'oft' no longer supported", 876 | "info": "'oft' no longer supported" 877 | }, 878 | {"word": "packpath", 879 | "menu": "'pp' list of directories used for packages", 880 | "info": "'pp' list of directories used for packages" 881 | }, 882 | {"word": "paragraphs", 883 | "menu": "'para' nroff macros that separate paragraphs", 884 | "info": "'para' nroff macros that separate paragraphs" 885 | }, 886 | {"word": "paste", 887 | "menu": "allow pasting text", 888 | "info": "allow pasting text" 889 | }, 890 | {"word": "pastetoggle", 891 | "menu": "'pt' key code that causes 'paste' to toggle", 892 | "info": "'pt' key code that causes 'paste' to toggle" 893 | }, 894 | {"word": "patchexpr", 895 | "menu": "'pex' expression used to patch a file", 896 | "info": "'pex' expression used to patch a file" 897 | }, 898 | {"word": "patchmode", 899 | "menu": "'pm' keep the oldest version of a file", 900 | "info": "'pm' keep the oldest version of a file" 901 | }, 902 | {"word": "path", 903 | "menu": "'pa' list of directories searched with \"gf\" et.al.", 904 | "info": "'pa' list of directories searched with \"gf\" et.al." 905 | }, 906 | {"word": "perldll", 907 | "menu": "name of the Perl dynamic library", 908 | "info": "name of the Perl dynamic library" 909 | }, 910 | {"word": "preserveindent", 911 | "menu": "'pi' preserve the indent structure when reindenting", 912 | "info": "'pi' preserve the indent structure when reindenting" 913 | }, 914 | {"word": "previewheight", 915 | "menu": "'pvh' height of the preview window", 916 | "info": "'pvh' height of the preview window" 917 | }, 918 | {"word": "previewwindow", 919 | "menu": "'pvw' identifies the preview window", 920 | "info": "'pvw' identifies the preview window" 921 | }, 922 | {"word": "printdevice", 923 | "menu": "'pdev' name of the printer to be used for :hardcopy", 924 | "info": "'pdev' name of the printer to be used for :hardcopy" 925 | }, 926 | {"word": "printencoding", 927 | "menu": "'penc' encoding to be used for printing", 928 | "info": "'penc' encoding to be used for printing" 929 | }, 930 | {"word": "printexpr", 931 | "menu": "'pexpr' expression used to print PostScript for :hardcopy", 932 | "info": "'pexpr' expression used to print PostScript for :hardcopy" 933 | }, 934 | {"word": "printfont", 935 | "menu": "'pfn' name of the font to be used for :hardcopy", 936 | "info": "'pfn' name of the font to be used for :hardcopy" 937 | }, 938 | {"word": "printheader", 939 | "menu": "'pheader' format of the header used for :hardcopy", 940 | "info": "'pheader' format of the header used for :hardcopy" 941 | }, 942 | {"word": "printmbcharset", 943 | "menu": "'pmbcs' CJK character set to be used for :hardcopy", 944 | "info": "'pmbcs' CJK character set to be used for :hardcopy" 945 | }, 946 | {"word": "printmbfont", 947 | "menu": "'pmbfn' font names to be used for CJK output of :hardcopy", 948 | "info": "'pmbfn' font names to be used for CJK output of :hardcopy" 949 | }, 950 | {"word": "printoptions", 951 | "menu": "'popt' controls the format of :hardcopy output", 952 | "info": "'popt' controls the format of :hardcopy output" 953 | }, 954 | {"word": "prompt", 955 | "menu": "'prompt' enable prompt in Ex mode", 956 | "info": "'prompt' enable prompt in Ex mode" 957 | }, 958 | {"word": "pumheight", 959 | "menu": "'ph' maximum height of the popup menu", 960 | "info": "'ph' maximum height of the popup menu" 961 | }, 962 | {"word": "pumwidth", 963 | "menu": "'pw' minimum width of the popup menu", 964 | "info": "'pw' minimum width of the popup menu" 965 | }, 966 | {"word": "pythondll", 967 | "menu": "name of the Python 2 dynamic library", 968 | "info": "name of the Python 2 dynamic library" 969 | }, 970 | {"word": "pythonhome", 971 | "menu": "name of the Python 2 home directory", 972 | "info": "name of the Python 2 home directory" 973 | }, 974 | {"word": "pythonthreedll", 975 | "menu": "name of the Python 3 dynamic library", 976 | "info": "name of the Python 3 dynamic library" 977 | }, 978 | {"word": "pythonthreehome", 979 | "menu": "name of the Python 3 home directory", 980 | "info": "name of the Python 3 home directory" 981 | }, 982 | {"word": "pyxversion", 983 | "menu": "'pyx' Python version used for pyx* commands", 984 | "info": "'pyx' Python version used for pyx* commands" 985 | }, 986 | {"word": "quoteescape", 987 | "menu": "'qe' escape characters used in a string", 988 | "info": "'qe' escape characters used in a string" 989 | }, 990 | {"word": "readonly", 991 | "menu": "'ro' disallow writing the buffer", 992 | "info": "'ro' disallow writing the buffer" 993 | }, 994 | {"word": "redrawtime", 995 | "menu": "'rdt' timeout for 'hlsearch' and |:match| highlighting", 996 | "info": "'rdt' timeout for 'hlsearch' and |:match| highlighting" 997 | }, 998 | {"word": "regexpengine", 999 | "menu": "'re' default regexp engine to use", 1000 | "info": "'re' default regexp engine to use" 1001 | }, 1002 | {"word": "relativenumber", 1003 | "menu": "'rnu' show relative line number in front of each line", 1004 | "info": "'rnu' show relative line number in front of each line" 1005 | }, 1006 | {"word": "remap", 1007 | "menu": "allow mappings to work recursively", 1008 | "info": "allow mappings to work recursively" 1009 | }, 1010 | {"word": "renderoptions", 1011 | "menu": "'rop' options for text rendering on Windows", 1012 | "info": "'rop' options for text rendering on Windows" 1013 | }, 1014 | {"word": "report", 1015 | "menu": "threshold for reporting nr. of lines changed", 1016 | "info": "threshold for reporting nr. of lines changed" 1017 | }, 1018 | {"word": "restorescreen", 1019 | "menu": "'rs' Win32: restore screen when exiting", 1020 | "info": "'rs' Win32: restore screen when exiting" 1021 | }, 1022 | {"word": "revins", 1023 | "menu": "'ri' inserting characters will work backwards", 1024 | "info": "'ri' inserting characters will work backwards" 1025 | }, 1026 | {"word": "rightleft", 1027 | "menu": "'rl' window is right-to-left oriented", 1028 | "info": "'rl' window is right-to-left oriented" 1029 | }, 1030 | {"word": "rightleftcmd", 1031 | "menu": "'rlc' commands for which editing works right-to-left", 1032 | "info": "'rlc' commands for which editing works right-to-left" 1033 | }, 1034 | {"word": "rubydll", 1035 | "menu": "name of the Ruby dynamic library", 1036 | "info": "name of the Ruby dynamic library" 1037 | }, 1038 | {"word": "ruler", 1039 | "menu": "'ru' show cursor line and column in the status line", 1040 | "info": "'ru' show cursor line and column in the status line" 1041 | }, 1042 | {"word": "rulerformat", 1043 | "menu": "'ruf' custom format for the ruler", 1044 | "info": "'ruf' custom format for the ruler" 1045 | }, 1046 | {"word": "runtimepath", 1047 | "menu": "'rtp' list of directories used for runtime files", 1048 | "info": "'rtp' list of directories used for runtime files" 1049 | }, 1050 | {"word": "scroll", 1051 | "menu": "'scr' lines to scroll with CTRL-U and CTRL-D", 1052 | "info": "'scr' lines to scroll with CTRL-U and CTRL-D" 1053 | }, 1054 | {"word": "scrollbind", 1055 | "menu": "'scb' scroll in window as other windows scroll", 1056 | "info": "'scb' scroll in window as other windows scroll" 1057 | }, 1058 | {"word": "scrolljump", 1059 | "menu": "'sj' minimum number of lines to scroll", 1060 | "info": "'sj' minimum number of lines to scroll" 1061 | }, 1062 | {"word": "scrolloff", 1063 | "menu": "'so' minimum nr. of lines above and below cursor", 1064 | "info": "'so' minimum nr. of lines above and below cursor" 1065 | }, 1066 | {"word": "scrollopt", 1067 | "menu": "'sbo' how 'scrollbind' should behave", 1068 | "info": "'sbo' how 'scrollbind' should behave" 1069 | }, 1070 | {"word": "sections", 1071 | "menu": "'sect' nroff macros that separate sections", 1072 | "info": "'sect' nroff macros that separate sections" 1073 | }, 1074 | {"word": "secure", 1075 | "menu": "secure mode for reading .vimrc in current dir", 1076 | "info": "secure mode for reading .vimrc in current dir" 1077 | }, 1078 | {"word": "selection", 1079 | "menu": "'sel' what type of selection to use", 1080 | "info": "'sel' what type of selection to use" 1081 | }, 1082 | {"word": "selectmode", 1083 | "menu": "'slm' when to use Select mode instead of Visual mode", 1084 | "info": "'slm' when to use Select mode instead of Visual mode" 1085 | }, 1086 | {"word": "sessionoptions", 1087 | "menu": "'ssop' options for |:mksession|", 1088 | "info": "'ssop' options for |:mksession|" 1089 | }, 1090 | {"word": "shell", 1091 | "menu": "'sh' name of shell to use for external commands", 1092 | "info": "'sh' name of shell to use for external commands" 1093 | }, 1094 | {"word": "shellcmdflag", 1095 | "menu": "'shcf' flag to shell to execute one command", 1096 | "info": "'shcf' flag to shell to execute one command" 1097 | }, 1098 | {"word": "shellpipe", 1099 | "menu": "'sp' string to put output of \":make\" in error file", 1100 | "info": "'sp' string to put output of \":make\" in error file" 1101 | }, 1102 | {"word": "shellquote", 1103 | "menu": "'shq' quote character(s) for around shell command", 1104 | "info": "'shq' quote character(s) for around shell command" 1105 | }, 1106 | {"word": "shellredir", 1107 | "menu": "'srr' string to put output of filter in a temp file", 1108 | "info": "'srr' string to put output of filter in a temp file" 1109 | }, 1110 | {"word": "shellslash", 1111 | "menu": "'ssl' use forward slash for shell file names", 1112 | "info": "'ssl' use forward slash for shell file names" 1113 | }, 1114 | {"word": "shelltemp", 1115 | "menu": "'stmp' whether to use a temp file for shell commands", 1116 | "info": "'stmp' whether to use a temp file for shell commands" 1117 | }, 1118 | {"word": "shelltype", 1119 | "menu": "'st' Amiga: influences how to use a shell", 1120 | "info": "'st' Amiga: influences how to use a shell" 1121 | }, 1122 | {"word": "shellxescape", 1123 | "menu": "'sxe' characters to escape when 'shellxquote' is (", 1124 | "info": "'sxe' characters to escape when 'shellxquote' is (" 1125 | }, 1126 | {"word": "shellxquote", 1127 | "menu": "'sxq' like 'shellquote', but include redirection", 1128 | "info": "'sxq' like 'shellquote', but include redirection" 1129 | }, 1130 | {"word": "shiftround", 1131 | "menu": "'sr' round indent to multiple of shiftwidth", 1132 | "info": "'sr' round indent to multiple of shiftwidth" 1133 | }, 1134 | {"word": "shiftwidth", 1135 | "menu": "'sw' number of spaces to use for (auto)indent step", 1136 | "info": "'sw' number of spaces to use for (auto)indent step" 1137 | }, 1138 | {"word": "shortmess", 1139 | "menu": "'shm' list of flags, reduce length of messages", 1140 | "info": "'shm' list of flags, reduce length of messages" 1141 | }, 1142 | {"word": "shortname", 1143 | "menu": "'sn' non-MS-DOS: Filenames assumed to be 8.3 chars", 1144 | "info": "'sn' non-MS-DOS: Filenames assumed to be 8.3 chars" 1145 | }, 1146 | {"word": "showbreak", 1147 | "menu": "'sbr' string to use at the start of wrapped lines", 1148 | "info": "'sbr' string to use at the start of wrapped lines" 1149 | }, 1150 | {"word": "showcmd", 1151 | "menu": "'sc' show (partial) command in status line", 1152 | "info": "'sc' show (partial) command in status line" 1153 | }, 1154 | {"word": "showfulltag", 1155 | "menu": "'sft' show full tag pattern when completing tag", 1156 | "info": "'sft' show full tag pattern when completing tag" 1157 | }, 1158 | {"word": "showmatch", 1159 | "menu": "'sm' briefly jump to matching bracket if insert one", 1160 | "info": "'sm' briefly jump to matching bracket if insert one" 1161 | }, 1162 | {"word": "showmode", 1163 | "menu": "'smd' message on status line to show current mode", 1164 | "info": "'smd' message on status line to show current mode" 1165 | }, 1166 | {"word": "showtabline", 1167 | "menu": "'stal' tells when the tab pages line is displayed", 1168 | "info": "'stal' tells when the tab pages line is displayed" 1169 | }, 1170 | {"word": "sidescroll", 1171 | "menu": "'ss' minimum number of columns to scroll horizontal", 1172 | "info": "'ss' minimum number of columns to scroll horizontal" 1173 | }, 1174 | {"word": "sidescrolloff", 1175 | "menu": "'siso' min. nr. of columns to left and right of cursor", 1176 | "info": "'siso' min. nr. of columns to left and right of cursor" 1177 | }, 1178 | {"word": "signcolumn", 1179 | "menu": "'scl' when to display the sign column", 1180 | "info": "'scl' when to display the sign column" 1181 | }, 1182 | {"word": "smartcase", 1183 | "menu": "'scs' no ignore case when pattern has uppercase", 1184 | "info": "'scs' no ignore case when pattern has uppercase" 1185 | }, 1186 | {"word": "smartindent", 1187 | "menu": "'si' smart autoindenting for C programs", 1188 | "info": "'si' smart autoindenting for C programs" 1189 | }, 1190 | {"word": "smarttab", 1191 | "menu": "'sta' use 'shiftwidth' when inserting ", 1192 | "info": "'sta' use 'shiftwidth' when inserting " 1193 | }, 1194 | {"word": "softtabstop", 1195 | "menu": "'sts' number of spaces that uses while editing", 1196 | "info": "'sts' number of spaces that uses while editing" 1197 | }, 1198 | {"word": "spell", 1199 | "menu": "enable spell checking", 1200 | "info": "enable spell checking" 1201 | }, 1202 | {"word": "spellcapcheck", 1203 | "menu": "'spc' pattern to locate end of a sentence", 1204 | "info": "'spc' pattern to locate end of a sentence" 1205 | }, 1206 | {"word": "spellfile", 1207 | "menu": "'spf' files where |zg| and |zw| store words", 1208 | "info": "'spf' files where |zg| and |zw| store words" 1209 | }, 1210 | {"word": "spelllang", 1211 | "menu": "'spl' language(s) to do spell checking for", 1212 | "info": "'spl' language(s) to do spell checking for" 1213 | }, 1214 | {"word": "spellsuggest", 1215 | "menu": "'sps' method(s) used to suggest spelling corrections", 1216 | "info": "'sps' method(s) used to suggest spelling corrections" 1217 | }, 1218 | {"word": "splitbelow", 1219 | "menu": "'sb' new window from split is below the current one", 1220 | "info": "'sb' new window from split is below the current one" 1221 | }, 1222 | {"word": "splitright", 1223 | "menu": "'spr' new window is put right of the current one", 1224 | "info": "'spr' new window is put right of the current one" 1225 | }, 1226 | {"word": "startofline", 1227 | "menu": "'sol' commands move cursor to first non-blank in line", 1228 | "info": "'sol' commands move cursor to first non-blank in line" 1229 | }, 1230 | {"word": "statusline", 1231 | "menu": "'stl' custom format for the status line", 1232 | "info": "'stl' custom format for the status line" 1233 | }, 1234 | {"word": "suffixes", 1235 | "menu": "'su' suffixes that are ignored with multiple match", 1236 | "info": "'su' suffixes that are ignored with multiple match" 1237 | }, 1238 | {"word": "suffixesadd", 1239 | "menu": "'sua' suffixes added when searching for a file", 1240 | "info": "'sua' suffixes added when searching for a file" 1241 | }, 1242 | {"word": "swapfile", 1243 | "menu": "'swf' whether to use a swapfile for a buffer", 1244 | "info": "'swf' whether to use a swapfile for a buffer" 1245 | }, 1246 | {"word": "swapsync", 1247 | "menu": "'sws' how to sync the swap file", 1248 | "info": "'sws' how to sync the swap file" 1249 | }, 1250 | {"word": "switchbuf", 1251 | "menu": "'swb' sets behavior when switching to another buffer", 1252 | "info": "'swb' sets behavior when switching to another buffer" 1253 | }, 1254 | {"word": "synmaxcol", 1255 | "menu": "'smc' maximum column to find syntax items", 1256 | "info": "'smc' maximum column to find syntax items" 1257 | }, 1258 | {"word": "syntax", 1259 | "menu": "'syn' syntax to be loaded for current buffer", 1260 | "info": "'syn' syntax to be loaded for current buffer" 1261 | }, 1262 | {"word": "tabline", 1263 | "menu": "'tal' custom format for the console tab pages line", 1264 | "info": "'tal' custom format for the console tab pages line" 1265 | }, 1266 | {"word": "tabpagemax", 1267 | "menu": "'tpm' maximum number of tab pages for |-p| and \"tab all\"", 1268 | "info": "'tpm' maximum number of tab pages for |-p| and \"tab all\"" 1269 | }, 1270 | {"word": "tabstop", 1271 | "menu": "'ts' number of spaces that in file uses", 1272 | "info": "'ts' number of spaces that in file uses" 1273 | }, 1274 | {"word": "tagbsearch", 1275 | "menu": "'tbs' use binary searching in tags files", 1276 | "info": "'tbs' use binary searching in tags files" 1277 | }, 1278 | {"word": "tagcase", 1279 | "menu": "'tc' how to handle case when searching in tags files", 1280 | "info": "'tc' how to handle case when searching in tags files" 1281 | }, 1282 | {"word": "taglength", 1283 | "menu": "'tl' number of significant characters for a tag", 1284 | "info": "'tl' number of significant characters for a tag" 1285 | }, 1286 | {"word": "tagrelative", 1287 | "menu": "'tr' file names in tag file are relative", 1288 | "info": "'tr' file names in tag file are relative" 1289 | }, 1290 | {"word": "tags", 1291 | "menu": "'tag' list of file names used by the tag command", 1292 | "info": "'tag' list of file names used by the tag command" 1293 | }, 1294 | {"word": "tagstack", 1295 | "menu": "'tgst' push tags onto the tag stack", 1296 | "info": "'tgst' push tags onto the tag stack" 1297 | }, 1298 | {"word": "tcldll", 1299 | "menu": "name of the Tcl dynamic library", 1300 | "info": "name of the Tcl dynamic library" 1301 | }, 1302 | {"word": "term", 1303 | "menu": "name of the terminal", 1304 | "info": "name of the terminal" 1305 | }, 1306 | {"word": "termbidi", 1307 | "menu": "'tbidi' terminal takes care of bi-directionality", 1308 | "info": "'tbidi' terminal takes care of bi-directionality" 1309 | }, 1310 | {"word": "termencoding", 1311 | "menu": "'tenc' character encoding used by the terminal", 1312 | "info": "'tenc' character encoding used by the terminal" 1313 | }, 1314 | {"word": "termguicolors", 1315 | "menu": "'tgc' use GUI colors for the terminal", 1316 | "info": "'tgc' use GUI colors for the terminal" 1317 | }, 1318 | {"word": "termkey", 1319 | "menu": "'tk' key that precedes a Vim command in a terminal", 1320 | "info": "'tk' key that precedes a Vim command in a terminal" 1321 | }, 1322 | {"word": "termsize", 1323 | "menu": "'tms' size of a terminal window", 1324 | "info": "'tms' size of a terminal window" 1325 | }, 1326 | {"word": "terse", 1327 | "menu": "shorten some messages", 1328 | "info": "shorten some messages" 1329 | }, 1330 | {"word": "textauto", 1331 | "menu": "'ta' obsolete, use 'fileformats'", 1332 | "info": "'ta' obsolete, use 'fileformats'" 1333 | }, 1334 | {"word": "textmode", 1335 | "menu": "'tx' obsolete, use 'fileformat'", 1336 | "info": "'tx' obsolete, use 'fileformat'" 1337 | }, 1338 | {"word": "textwidth", 1339 | "menu": "'tw' maximum width of text that is being inserted", 1340 | "info": "'tw' maximum width of text that is being inserted" 1341 | }, 1342 | {"word": "thesaurus", 1343 | "menu": "'tsr' list of thesaurus files for keyword completion", 1344 | "info": "'tsr' list of thesaurus files for keyword completion" 1345 | }, 1346 | {"word": "tildeop", 1347 | "menu": "'top' tilde command \"~\" behaves like an operator", 1348 | "info": "'top' tilde command \"~\" behaves like an operator" 1349 | }, 1350 | {"word": "timeout", 1351 | "menu": "'to' time out on mappings and key codes", 1352 | "info": "'to' time out on mappings and key codes" 1353 | }, 1354 | {"word": "timeoutlen", 1355 | "menu": "'tm' time out time in milliseconds", 1356 | "info": "'tm' time out time in milliseconds" 1357 | }, 1358 | {"word": "title", 1359 | "menu": "let Vim set the title of the window", 1360 | "info": "let Vim set the title of the window" 1361 | }, 1362 | {"word": "titlelen", 1363 | "menu": "percentage of 'columns' used for window title", 1364 | "info": "percentage of 'columns' used for window title" 1365 | }, 1366 | {"word": "titleold", 1367 | "menu": "old title, restored when exiting", 1368 | "info": "old title, restored when exiting" 1369 | }, 1370 | {"word": "titlestring", 1371 | "menu": "string to use for the Vim window title", 1372 | "info": "string to use for the Vim window title" 1373 | }, 1374 | {"word": "toolbar", 1375 | "menu": "'tb' GUI: which items to show in the toolbar", 1376 | "info": "'tb' GUI: which items to show in the toolbar" 1377 | }, 1378 | {"word": "toolbariconsize", 1379 | "menu": "'tbis' size of the toolbar icons (for GTK 2 only)", 1380 | "info": "'tbis' size of the toolbar icons (for GTK 2 only)" 1381 | }, 1382 | {"word": "ttimeout", 1383 | "menu": "time out on mappings", 1384 | "info": "time out on mappings" 1385 | }, 1386 | {"word": "ttimeoutlen", 1387 | "menu": "'ttm' time out time for key codes in milliseconds", 1388 | "info": "'ttm' time out time for key codes in milliseconds" 1389 | }, 1390 | {"word": "ttybuiltin", 1391 | "menu": "'tbi' use built-in termcap before external termcap", 1392 | "info": "'tbi' use built-in termcap before external termcap" 1393 | }, 1394 | {"word": "ttyfast", 1395 | "menu": "'tf' indicates a fast terminal connection", 1396 | "info": "'tf' indicates a fast terminal connection" 1397 | }, 1398 | {"word": "ttymouse", 1399 | "menu": "'ttym' type of mouse codes generated", 1400 | "info": "'ttym' type of mouse codes generated" 1401 | }, 1402 | {"word": "ttyscroll", 1403 | "menu": "'tsl' maximum number of lines for a scroll", 1404 | "info": "'tsl' maximum number of lines for a scroll" 1405 | }, 1406 | {"word": "ttytype", 1407 | "menu": "'tty' alias for 'term'", 1408 | "info": "'tty' alias for 'term'" 1409 | }, 1410 | {"word": "undodir", 1411 | "menu": "'udir' where to store undo files", 1412 | "info": "'udir' where to store undo files" 1413 | }, 1414 | {"word": "undofile", 1415 | "menu": "'udf' save undo information in a file", 1416 | "info": "'udf' save undo information in a file" 1417 | }, 1418 | {"word": "undolevels", 1419 | "menu": "'ul' maximum number of changes that can be undone", 1420 | "info": "'ul' maximum number of changes that can be undone" 1421 | }, 1422 | {"word": "undoreload", 1423 | "menu": "'ur' max nr of lines to save for undo on a buffer reload", 1424 | "info": "'ur' max nr of lines to save for undo on a buffer reload" 1425 | }, 1426 | {"word": "updatecount", 1427 | "menu": "'uc' after this many characters flush swap file", 1428 | "info": "'uc' after this many characters flush swap file" 1429 | }, 1430 | {"word": "updatetime", 1431 | "menu": "'ut' after this many milliseconds flush swap file", 1432 | "info": "'ut' after this many milliseconds flush swap file" 1433 | }, 1434 | {"word": "verbose", 1435 | "menu": "'vbs' give informative messages", 1436 | "info": "'vbs' give informative messages" 1437 | }, 1438 | {"word": "verbosefile", 1439 | "menu": "'vfile' file to write messages in", 1440 | "info": "'vfile' file to write messages in" 1441 | }, 1442 | {"word": "viewdir", 1443 | "menu": "'vdir' directory where to store files with :mkview", 1444 | "info": "'vdir' directory where to store files with :mkview" 1445 | }, 1446 | {"word": "viewoptions", 1447 | "menu": "'vop' specifies what to save for :mkview", 1448 | "info": "'vop' specifies what to save for :mkview" 1449 | }, 1450 | {"word": "viminfo", 1451 | "menu": "'vi' use .viminfo file upon startup and exiting", 1452 | "info": "'vi' use .viminfo file upon startup and exiting" 1453 | }, 1454 | {"word": "viminfofile", 1455 | "menu": "'vif' file name used for the viminfo file", 1456 | "info": "'vif' file name used for the viminfo file" 1457 | }, 1458 | {"word": "virtualedit", 1459 | "menu": "'ve' when to use virtual editing", 1460 | "info": "'ve' when to use virtual editing" 1461 | }, 1462 | {"word": "visualbell", 1463 | "menu": "'vb' use visual bell instead of beeping", 1464 | "info": "'vb' use visual bell instead of beeping" 1465 | }, 1466 | {"word": "warn", 1467 | "menu": "warn for shell command when buffer was changed", 1468 | "info": "warn for shell command when buffer was changed" 1469 | }, 1470 | {"word": "weirdinvert", 1471 | "menu": "'wiv' for terminals that have weird inversion method", 1472 | "info": "'wiv' for terminals that have weird inversion method" 1473 | }, 1474 | {"word": "whichwrap", 1475 | "menu": "'ww' allow specified keys to cross line boundaries", 1476 | "info": "'ww' allow specified keys to cross line boundaries" 1477 | }, 1478 | {"word": "wildchar", 1479 | "menu": "'wc' command-line character for wildcard expansion", 1480 | "info": "'wc' command-line character for wildcard expansion" 1481 | }, 1482 | {"word": "wildcharm", 1483 | "menu": "'wcm' like 'wildchar' but also works when mapped", 1484 | "info": "'wcm' like 'wildchar' but also works when mapped" 1485 | }, 1486 | {"word": "wildignore", 1487 | "menu": "'wig' files matching these patterns are not completed", 1488 | "info": "'wig' files matching these patterns are not completed" 1489 | }, 1490 | {"word": "wildignorecase", 1491 | "menu": "'wic' ignore case when completing file names", 1492 | "info": "'wic' ignore case when completing file names" 1493 | }, 1494 | {"word": "wildmenu", 1495 | "menu": "'wmnu' use menu for command line completion", 1496 | "info": "'wmnu' use menu for command line completion" 1497 | }, 1498 | {"word": "wildmode", 1499 | "menu": "'wim' mode for 'wildchar' command-line expansion", 1500 | "info": "'wim' mode for 'wildchar' command-line expansion" 1501 | }, 1502 | {"word": "wildoptions", 1503 | "menu": "'wop' specifies how command line completion is done", 1504 | "info": "'wop' specifies how command line completion is done" 1505 | }, 1506 | {"word": "winaltkeys", 1507 | "menu": "'wak' when the windows system handles ALT keys", 1508 | "info": "'wak' when the windows system handles ALT keys" 1509 | }, 1510 | {"word": "window", 1511 | "menu": "'wi' nr of lines to scroll for CTRL-F and CTRL-B", 1512 | "info": "'wi' nr of lines to scroll for CTRL-F and CTRL-B" 1513 | }, 1514 | {"word": "winheight", 1515 | "menu": "'wh' minimum number of lines for the current window", 1516 | "info": "'wh' minimum number of lines for the current window" 1517 | }, 1518 | {"word": "winfixheight", 1519 | "menu": "'wfh' keep window height when opening/closing windows", 1520 | "info": "'wfh' keep window height when opening/closing windows" 1521 | }, 1522 | {"word": "winfixwidth", 1523 | "menu": "'wfw' keep window width when opening/closing windows", 1524 | "info": "'wfw' keep window width when opening/closing windows" 1525 | }, 1526 | {"word": "winminheight", 1527 | "menu": "'wmh' minimum number of lines for any window", 1528 | "info": "'wmh' minimum number of lines for any window" 1529 | }, 1530 | {"word": "winminwidth", 1531 | "menu": "'wmw' minimal number of columns for any window", 1532 | "info": "'wmw' minimal number of columns for any window" 1533 | }, 1534 | {"word": "winptydll", 1535 | "menu": "name of the winpty dynamic library", 1536 | "info": "name of the winpty dynamic library" 1537 | }, 1538 | {"word": "winwidth", 1539 | "menu": "'wiw' minimal number of columns for current window", 1540 | "info": "'wiw' minimal number of columns for current window" 1541 | }, 1542 | {"word": "wrap", 1543 | "menu": "long lines wrap and continue on the next line", 1544 | "info": "long lines wrap and continue on the next line" 1545 | }, 1546 | {"word": "wrapmargin", 1547 | "menu": "'wm' chars from the right where wrapping starts", 1548 | "info": "'wm' chars from the right where wrapping starts" 1549 | }, 1550 | {"word": "wrapscan", 1551 | "menu": "'ws' searches wrap around the end of the file", 1552 | "info": "'ws' searches wrap around the end of the file" 1553 | }, 1554 | {"word": "write", 1555 | "menu": "writing to a file is allowed", 1556 | "info": "writing to a file is allowed" 1557 | }, 1558 | {"word": "writeany", 1559 | "menu": "'wa' write to file with no need for \"!\" override", 1560 | "info": "'wa' write to file with no need for \"!\" override" 1561 | }, 1562 | {"word": "writebackup", 1563 | "menu": "'wb' make a backup before overwriting a file", 1564 | "info": "'wb' make a backup before overwriting a file" 1565 | }, 1566 | {"word": "writedelay", 1567 | "menu": "'wd' delay this many msec for each char (for debug)", 1568 | "info": "'wd' delay this many msec for each char (for debug)" 1569 | }] -------------------------------------------------------------------------------- /data/def_funccache.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"word": "abs(", 3 | "kind": "f", 4 | "menu": "absolute value of {expr}", 5 | "info": "abs({expr}) Float or Number\n\nabsolute value of {expr}" 6 | }, 7 | {"word": "acos(", 8 | "kind": "f", 9 | "menu": "arc cosine of {expr}", 10 | "info": "acos({expr}) Float\n\narc cosine of {expr}" 11 | }, 12 | {"word": "add(", 13 | "kind": "f", 14 | "menu": "append {item} to |List| {list}", 15 | "info": "add({list}, {item}) List\n\nappend {item} to |List| {list}" 16 | }, 17 | {"word": "and(", 18 | "kind": "f", 19 | "menu": "bitwise AND", 20 | "info": "and({expr}, {expr}) Number\n\nbitwise AND" 21 | }, 22 | {"word": "append(", 23 | "kind": "f", 24 | "menu": "append {string} below line {lnum}", 25 | "info": "append({lnum}, {string}) Number\n\nappend {string} below line {lnum}" 26 | }, 27 | {"word": "append(", 28 | "kind": "f", 29 | "menu": "append lines {list} below line {lnum}", 30 | "info": "append({lnum}, {list}) Number\n\nappend lines {list} below line {lnum}" 31 | }, 32 | {"word": "argc()", 33 | "kind": "f", 34 | "menu": "number of files in the argument list", 35 | "info": "argc() Number\n\nnumber of files in the argument list" 36 | }, 37 | {"word": "argidx()", 38 | "kind": "f", 39 | "menu": "current index in the argument list", 40 | "info": "argidx() Number\n\ncurrent index in the argument list" 41 | }, 42 | {"word": "arglistid(", 43 | "kind": "f", 44 | "menu": "argument list id", 45 | "info": "arglistid([{winnr} [, {tabnr}]]) Number\n\nargument list id" 46 | }, 47 | {"word": "argv(", 48 | "kind": "f", 49 | "menu": "{nr} entry of the argument list", 50 | "info": "argv({nr}) String\n\n{nr} entry of the argument list" 51 | }, 52 | {"word": "argv()", 53 | "kind": "f", 54 | "menu": "the argument list", 55 | "info": "argv() List\n\nthe argument list" 56 | }, 57 | {"word": "assert_beeps(", 58 | "kind": "f", 59 | "menu": "assert {cmd} causes a beep", 60 | "info": "assert_beeps({cmd}) none\n\nassert {cmd} causes a beep" 61 | }, 62 | {"word": "assert_equal(", 63 | "kind": "f", 64 | "menu": "assert {exp} is equal to {act}", 65 | "info": "assert_equal({exp}, {act} [, {msg}]) none\n\nassert {exp} is equal to {act}" 66 | }, 67 | {"word": "assert_equalfile(", 68 | "kind": "f", 69 | "menu": "assert file contents is equal", 70 | "info": "assert_equalfile({fname-one}, {fname-two}) none\n\nassert file contents is equal" 71 | }, 72 | {"word": "assert_exception(", 73 | "kind": "f", 74 | "menu": "assert {error} is in v:exception", 75 | "info": "assert_exception({error} [, {msg}]) none\n\nassert {error} is in v:exception" 76 | }, 77 | {"word": "assert_fails(", 78 | "kind": "f", 79 | "menu": "assert {cmd} fails", 80 | "info": "assert_fails({cmd} [, {error}]) none\n\nassert {cmd} fails" 81 | }, 82 | {"word": "assert_false(", 83 | "kind": "f", 84 | "menu": "assert {actual} is false", 85 | "info": "assert_false({actual} [, {msg}]) none\n\nassert {actual} is false" 86 | }, 87 | {"word": "assert_inrange(", 88 | "kind": "f", 89 | "menu": "assert {actual} is inside the range", 90 | "info": "assert_inrange({lower}, {upper}, {actual} [, {msg}]) none\n\nassert {actual} is inside the range" 91 | }, 92 | {"word": "assert_match(", 93 | "kind": "f", 94 | "menu": "assert {pat} matches {text}", 95 | "info": "assert_match({pat}, {text} [, {msg}]) none\n\nassert {pat} matches {text}" 96 | }, 97 | {"word": "assert_notequal(", 98 | "kind": "f", 99 | "menu": "assert {exp} is not equal {act}", 100 | "info": "assert_notequal({exp}, {act} [, {msg}]) none\n\nassert {exp} is not equal {act}" 101 | }, 102 | {"word": "assert_notmatch(", 103 | "kind": "f", 104 | "menu": "assert {pat} not matches {text}", 105 | "info": "assert_notmatch({pat}, {text} [, {msg}]) none\n\nassert {pat} not matches {text}" 106 | }, 107 | {"word": "assert_report(", 108 | "kind": "f", 109 | "menu": "report a test failure", 110 | "info": "assert_report({msg}) none\n\nreport a test failure" 111 | }, 112 | {"word": "assert_true(", 113 | "kind": "f", 114 | "menu": "assert {actual} is true", 115 | "info": "assert_true({actual} [, {msg}]) none\n\nassert {actual} is true" 116 | }, 117 | {"word": "asin(", 118 | "kind": "f", 119 | "menu": "arc sine of {expr}", 120 | "info": "asin({expr}) Float\n\narc sine of {expr}" 121 | }, 122 | {"word": "atan(", 123 | "kind": "f", 124 | "menu": "arc tangent of {expr}", 125 | "info": "atan({expr}) Float\n\narc tangent of {expr}" 126 | }, 127 | {"word": "atan2(", 128 | "kind": "f", 129 | "menu": "arc tangent of {expr1} / {expr2}", 130 | "info": "atan2({expr1}, {expr2}) Float\n\narc tangent of {expr1} / {expr2}" 131 | }, 132 | {"word": "balloon_show(", 133 | "kind": "f", 134 | "menu": "show {expr} inside the balloon", 135 | "info": "balloon_show({expr}) none\n\nshow {expr} inside the balloon" 136 | }, 137 | {"word": "balloon_split(", 138 | "kind": "f", 139 | "menu": "split {msg} as used for a balloon", 140 | "info": "balloon_split({msg}) List\n\nsplit {msg} as used for a balloon" 141 | }, 142 | {"word": "browse(", 143 | "kind": "f", 144 | "menu": "put up a file requester", 145 | "info": "browse({save}, {title}, {initdir}, {default}) String\n\nput up a file requester" 146 | }, 147 | {"word": "browsedir(", 148 | "kind": "f", 149 | "menu": "put up a directory requester", 150 | "info": "browsedir({title}, {initdir}) String\n\nput up a directory requester" 151 | }, 152 | {"word": "bufexists(", 153 | "kind": "f", 154 | "menu": "|TRUE| if buffer {expr} exists", 155 | "info": "bufexists({expr}) Number\n\n|TRUE| if buffer {expr} exists" 156 | }, 157 | {"word": "buflisted(", 158 | "kind": "f", 159 | "menu": "|TRUE| if buffer {expr} is listed", 160 | "info": "buflisted({expr}) Number\n\n|TRUE| if buffer {expr} is listed" 161 | }, 162 | {"word": "bufloaded(", 163 | "kind": "f", 164 | "menu": "|TRUE| if buffer {expr} is loaded", 165 | "info": "bufloaded({expr}) Number\n\n|TRUE| if buffer {expr} is loaded" 166 | }, 167 | {"word": "bufname(", 168 | "kind": "f", 169 | "menu": "Name of the buffer {expr}", 170 | "info": "bufname({expr}) String\n\nName of the buffer {expr}" 171 | }, 172 | {"word": "bufnr(", 173 | "kind": "f", 174 | "menu": "Number of the buffer {expr}", 175 | "info": "bufnr({expr} [, {create}]) Number\n\nNumber of the buffer {expr}" 176 | }, 177 | {"word": "bufwinid(", 178 | "kind": "f", 179 | "menu": "window ID of buffer {expr}", 180 | "info": "bufwinid({expr}) Number\n\nwindow ID of buffer {expr}" 181 | }, 182 | {"word": "bufwinnr(", 183 | "kind": "f", 184 | "menu": "window number of buffer {expr}", 185 | "info": "bufwinnr({expr}) Number\n\nwindow number of buffer {expr}" 186 | }, 187 | {"word": "byte2line(", 188 | "kind": "f", 189 | "menu": "line number at byte count {byte}", 190 | "info": "byte2line({byte}) Number\n\nline number at byte count {byte}" 191 | }, 192 | {"word": "byteidx(", 193 | "kind": "f", 194 | "menu": "byte index of {nr}'th char in {expr}", 195 | "info": "byteidx({expr}, {nr}) Number\n\nbyte index of {nr}'th char in {expr}" 196 | }, 197 | {"word": "byteidxcomp(", 198 | "kind": "f", 199 | "menu": "byte index of {nr}'th char in {expr}", 200 | "info": "byteidxcomp({expr}, {nr}) Number\n\nbyte index of {nr}'th char in {expr}" 201 | }, 202 | {"word": "call(", 203 | "kind": "f", 204 | "menu": "call {func} with arguments {arglist}", 205 | "info": "call({func}, {arglist} [, {dict}]) any\n\ncall {func} with arguments {arglist}" 206 | }, 207 | {"word": "ceil(", 208 | "kind": "f", 209 | "menu": "round {expr} up", 210 | "info": "ceil({expr}) Float\n\nround {expr} up" 211 | }, 212 | {"word": "ch_canread(", 213 | "kind": "f", 214 | "menu": "check if there is something to read", 215 | "info": "ch_canread({handle}) Number\n\ncheck if there is something to read" 216 | }, 217 | {"word": "ch_close(", 218 | "kind": "f", 219 | "menu": "close {handle}", 220 | "info": "ch_close({handle}) none\n\nclose {handle}" 221 | }, 222 | {"word": "ch_close_in(", 223 | "kind": "f", 224 | "menu": "close in part of {handle}", 225 | "info": "ch_close_in({handle}) none\n\nclose in part of {handle}" 226 | }, 227 | {"word": "ch_evalexpr(", 228 | "kind": "f", 229 | "menu": "evaluate {expr} on JSON {handle}", 230 | "info": "ch_evalexpr({handle}, {expr} [, {options}]) any\n\nevaluate {expr} on JSON {handle}" 231 | }, 232 | {"word": "ch_evalraw(", 233 | "kind": "f", 234 | "menu": "evaluate {string} on raw {handle}", 235 | "info": "ch_evalraw({handle}, {string} [, {options}]) any\n\nevaluate {string} on raw {handle}" 236 | }, 237 | {"word": "ch_getbufnr(", 238 | "kind": "f", 239 | "menu": "get buffer number for {handle}/{what}", 240 | "info": "ch_getbufnr({handle}, {what}) Number\n\nget buffer number for {handle}/{what}" 241 | }, 242 | {"word": "ch_getjob(", 243 | "kind": "f", 244 | "menu": "get the Job of {channel}", 245 | "info": "ch_getjob({channel}) Job\n\nget the Job of {channel}" 246 | }, 247 | {"word": "ch_info(", 248 | "kind": "f", 249 | "menu": "info about channel {handle}", 250 | "info": "ch_info({handle}) String\n\ninfo about channel {handle}" 251 | }, 252 | {"word": "ch_log(", 253 | "kind": "f", 254 | "menu": "write {msg} in the channel log file", 255 | "info": "ch_log({msg} [, {handle}]) none\n\nwrite {msg} in the channel log file" 256 | }, 257 | {"word": "ch_logfile(", 258 | "kind": "f", 259 | "menu": "start logging channel activity", 260 | "info": "ch_logfile({fname} [, {mode}]) none\n\nstart logging channel activity" 261 | }, 262 | {"word": "ch_open(", 263 | "kind": "f", 264 | "menu": "open a channel to {address}", 265 | "info": "ch_open({address} [, {options}]) Channel\n\nopen a channel to {address}" 266 | }, 267 | {"word": "ch_read(", 268 | "kind": "f", 269 | "menu": "read from {handle}", 270 | "info": "ch_read({handle} [, {options}]) String\n\nread from {handle}" 271 | }, 272 | {"word": "ch_readraw(", 273 | "kind": "f", 274 | "menu": "read raw from {handle}", 275 | "info": "ch_readraw({handle} [, {options}]) String\n\nread raw from {handle}" 276 | }, 277 | {"word": "ch_sendexpr(", 278 | "kind": "f", 279 | "menu": "send {expr} over JSON {handle}", 280 | "info": "ch_sendexpr({handle}, {expr} [, {options}]) any\n\nsend {expr} over JSON {handle}" 281 | }, 282 | {"word": "ch_sendraw(", 283 | "kind": "f", 284 | "menu": "send {string} over raw {handle}", 285 | "info": "ch_sendraw({handle}, {string} [, {options}]) any\n\nsend {string} over raw {handle}" 286 | }, 287 | {"word": "ch_setoptions(", 288 | "kind": "f", 289 | "menu": "set options for {handle}", 290 | "info": "ch_setoptions({handle}, {options}) none\n\nset options for {handle}" 291 | }, 292 | {"word": "ch_status(", 293 | "kind": "f", 294 | "menu": "status of channel {handle}", 295 | "info": "ch_status({handle} [, {options}]) String\n\nstatus of channel {handle}" 296 | }, 297 | {"word": "changenr()", 298 | "kind": "f", 299 | "menu": "current change number", 300 | "info": "changenr() Number\n\ncurrent change number" 301 | }, 302 | {"word": "char2nr(", 303 | "kind": "f", 304 | "menu": "ASCII/UTF8 value of first char in {expr}", 305 | "info": "char2nr({expr} [, {utf8}]) Number\n\nASCII/UTF8 value of first char in {expr}" 306 | }, 307 | {"word": "cindent(", 308 | "kind": "f", 309 | "menu": "C indent for line {lnum}", 310 | "info": "cindent({lnum}) Number\n\nC indent for line {lnum}" 311 | }, 312 | {"word": "clearmatches()", 313 | "kind": "f", 314 | "menu": "clear all matches", 315 | "info": "clearmatches() none\n\nclear all matches" 316 | }, 317 | {"word": "col(", 318 | "kind": "f", 319 | "menu": "column nr of cursor or mark", 320 | "info": "col({expr}) Number\n\ncolumn nr of cursor or mark" 321 | }, 322 | {"word": "complete(", 323 | "kind": "f", 324 | "menu": "set Insert mode completion", 325 | "info": "complete({startcol}, {matches}) none\n\nset Insert mode completion" 326 | }, 327 | {"word": "complete_add(", 328 | "kind": "f", 329 | "menu": "add completion match", 330 | "info": "complete_add({expr}) Number\n\nadd completion match" 331 | }, 332 | {"word": "complete_check()", 333 | "kind": "f", 334 | "menu": "check for key typed during completion", 335 | "info": "complete_check() Number\n\ncheck for key typed during completion" 336 | }, 337 | {"word": "confirm(", 338 | "kind": "f", 339 | "menu": "number of choice picked by user", 340 | "info": "confirm({msg} [, {choices} [, {default} [, {type}]]]) Number\n\nnumber of choice picked by user" 341 | }, 342 | {"word": "copy(", 343 | "kind": "f", 344 | "menu": "make a shallow copy of {expr}", 345 | "info": "copy({expr}) any\n\nmake a shallow copy of {expr}" 346 | }, 347 | {"word": "cos(", 348 | "kind": "f", 349 | "menu": "cosine of {expr}", 350 | "info": "cos({expr}) Float\n\ncosine of {expr}" 351 | }, 352 | {"word": "cosh(", 353 | "kind": "f", 354 | "menu": "hyperbolic cosine of {expr}", 355 | "info": "cosh({expr}) Float\n\nhyperbolic cosine of {expr}" 356 | }, 357 | {"word": "count(", 358 | "kind": "f", 359 | "menu": "count how many {expr} are in {list}", 360 | "info": "count({list}, {expr} [, {ic} [, {start}]]) Number\n\ncount how many {expr} are in {list}" 361 | }, 362 | {"word": "cscope_connection(", 363 | "kind": "f", 364 | "menu": "checks existence of cscope connection", 365 | "info": "cscope_connection([{num}, {dbpath} [, {prepend}]]) Number\n\nchecks existence of cscope connection" 366 | }, 367 | {"word": "cursor(", 368 | "kind": "f", 369 | "menu": "move cursor to {lnum}, {col}, {off}", 370 | "info": "cursor({lnum}, {col} [, {off}]) Number\n\nmove cursor to {lnum}, {col}, {off}" 371 | }, 372 | {"word": "cursor(", 373 | "kind": "f", 374 | "menu": "move cursor to position in {list}", 375 | "info": "cursor({list}) Number\n\nmove cursor to position in {list}" 376 | }, 377 | {"word": "deepcopy(", 378 | "kind": "f", 379 | "menu": "make a full copy of {expr}", 380 | "info": "deepcopy({expr} [, {noref}]) any\n\nmake a full copy of {expr}" 381 | }, 382 | {"word": "delete(", 383 | "kind": "f", 384 | "menu": "delete the file or directory {fname}", 385 | "info": "delete({fname} [, {flags}]) Number\n\ndelete the file or directory {fname}" 386 | }, 387 | {"word": "did_filetype()", 388 | "kind": "f", 389 | "menu": "|TRUE| if FileType autocmd event used", 390 | "info": "did_filetype() Number\n\n|TRUE| if FileType autocmd event used" 391 | }, 392 | {"word": "diff_filler(", 393 | "kind": "f", 394 | "menu": "diff filler lines about {lnum}", 395 | "info": "diff_filler({lnum}) Number\n\ndiff filler lines about {lnum}" 396 | }, 397 | {"word": "diff_hlID(", 398 | "kind": "f", 399 | "menu": "diff highlighting at {lnum}/{col}", 400 | "info": "diff_hlID({lnum}, {col}) Number\n\ndiff highlighting at {lnum}/{col}" 401 | }, 402 | {"word": "empty(", 403 | "kind": "f", 404 | "menu": "|TRUE| if {expr} is empty", 405 | "info": "empty({expr}) Number\n\n|TRUE| if {expr} is empty" 406 | }, 407 | {"word": "escape(", 408 | "kind": "f", 409 | "menu": "escape {chars} in {string} with '\\'", 410 | "info": "escape({string}, {chars}) String\n\nescape {chars} in {string} with '\\'" 411 | }, 412 | {"word": "eval(", 413 | "kind": "f", 414 | "menu": "evaluate {string} into its value", 415 | "info": "eval({string}) any\n\nevaluate {string} into its value" 416 | }, 417 | {"word": "eventhandler()", 418 | "kind": "f", 419 | "menu": "|TRUE| if inside an event handler", 420 | "info": "eventhandler() Number\n\n|TRUE| if inside an event handler" 421 | }, 422 | {"word": "executable(", 423 | "kind": "f", 424 | "menu": "1 if executable {expr} exists", 425 | "info": "executable({expr}) Number\n\n1 if executable {expr} exists" 426 | }, 427 | {"word": "execute(", 428 | "kind": "f", 429 | "menu": "execute {command} and get the output", 430 | "info": "execute({command}) String\n\nexecute {command} and get the output" 431 | }, 432 | {"word": "exepath(", 433 | "kind": "f", 434 | "menu": "full path of the command {expr}", 435 | "info": "exepath({expr}) String\n\nfull path of the command {expr}" 436 | }, 437 | {"word": "exists(", 438 | "kind": "f", 439 | "menu": "|TRUE| if {expr} exists", 440 | "info": "exists({expr}) Number\n\n|TRUE| if {expr} exists" 441 | }, 442 | {"word": "extend(", 443 | "kind": "f", 444 | "menu": "insert items of {expr2} into {expr1}", 445 | "info": "extend({expr1}, {expr2} [, {expr3}]) List/Dict\n\ninsert items of {expr2} into {expr1}" 446 | }, 447 | {"word": "exp(", 448 | "kind": "f", 449 | "menu": "exponential of {expr}", 450 | "info": "exp({expr}) Float\n\nexponential of {expr}" 451 | }, 452 | {"word": "expand(", 453 | "kind": "f", 454 | "menu": "expand special keywords in {expr}", 455 | "info": "expand({expr} [, {nosuf} [, {list}]]) any\n\nexpand special keywords in {expr}" 456 | }, 457 | {"word": "feedkeys(", 458 | "kind": "f", 459 | "menu": "add key sequence to typeahead buffer", 460 | "info": "feedkeys({string} [, {mode}]) Number\n\nadd key sequence to typeahead buffer" 461 | }, 462 | {"word": "filereadable(", 463 | "kind": "f", 464 | "menu": "|TRUE| if {file} is a readable file", 465 | "info": "filereadable({file}) Number\n\n|TRUE| if {file} is a readable file" 466 | }, 467 | {"word": "filewritable(", 468 | "kind": "f", 469 | "menu": "|TRUE| if {file} is a writable file", 470 | "info": "filewritable({file}) Number\n\n|TRUE| if {file} is a writable file" 471 | }, 472 | {"word": "filter(", 473 | "kind": "f", 474 | "menu": "remove items from {expr1} where{expr2} is 0", 475 | "info": "filter({expr1}, {expr2}) List/Dict\n\nremove items from {expr1} where{expr2} is 0" 476 | }, 477 | {"word": "finddir(", 478 | "kind": "f", 479 | "menu": "find directory {name} in {path}", 480 | "info": "finddir({name} [, {path} [, {count}]]) String\n\nfind directory {name} in {path}" 481 | }, 482 | {"word": "findfile(", 483 | "kind": "f", 484 | "menu": "find file {name} in {path}", 485 | "info": "findfile({name} [, {path} [, {count}]]) String\n\nfind file {name} in {path}" 486 | }, 487 | {"word": "float2nr(", 488 | "kind": "f", 489 | "menu": "convert Float {expr} to a Number", 490 | "info": "float2nr({expr}) Number\n\nconvert Float {expr} to a Number" 491 | }, 492 | {"word": "floor(", 493 | "kind": "f", 494 | "menu": "round {expr} down", 495 | "info": "floor({expr}) Float\n\nround {expr} down" 496 | }, 497 | {"word": "fmod(", 498 | "kind": "f", 499 | "menu": "remainder of {expr1} / {expr2}", 500 | "info": "fmod({expr1}, {expr2}) Float\n\nremainder of {expr1} / {expr2}" 501 | }, 502 | {"word": "fnameescape(", 503 | "kind": "f", 504 | "menu": "escape special characters in {fname}", 505 | "info": "fnameescape({fname}) String\n\nescape special characters in {fname}" 506 | }, 507 | {"word": "fnamemodify(", 508 | "kind": "f", 509 | "menu": "modify file name", 510 | "info": "fnamemodify({fname}, {mods}) String\n\nmodify file name" 511 | }, 512 | {"word": "foldclosed(", 513 | "kind": "f", 514 | "menu": "first line of fold at {lnum} if closed", 515 | "info": "foldclosed({lnum}) Number\n\nfirst line of fold at {lnum} if closed" 516 | }, 517 | {"word": "foldclosedend(", 518 | "kind": "f", 519 | "menu": "last line of fold at {lnum} if closed", 520 | "info": "foldclosedend({lnum}) Number\n\nlast line of fold at {lnum} if closed" 521 | }, 522 | {"word": "foldlevel(", 523 | "kind": "f", 524 | "menu": "fold level at {lnum}", 525 | "info": "foldlevel({lnum}) Number\n\nfold level at {lnum}" 526 | }, 527 | {"word": "foldtext()", 528 | "kind": "f", 529 | "menu": "line displayed for closed fold", 530 | "info": "foldtext() String\n\nline displayed for closed fold" 531 | }, 532 | {"word": "foldtextresult(", 533 | "kind": "f", 534 | "menu": "text for closed fold at {lnum}", 535 | "info": "foldtextresult({lnum}) String\n\ntext for closed fold at {lnum}" 536 | }, 537 | {"word": "foreground()", 538 | "kind": "f", 539 | "menu": "bring the Vim window to the foreground", 540 | "info": "foreground() Number\n\nbring the Vim window to the foreground" 541 | }, 542 | {"word": "funcref(", 543 | "kind": "f", 544 | "menu": "reference to function {name}", 545 | "info": "funcref({name} [, {arglist}] [, {dict}]) Funcref\n\nreference to function {name}" 546 | }, 547 | {"word": "function(", 548 | "kind": "f", 549 | "menu": "named reference to function {name}", 550 | "info": "function({name} [, {arglist}] [, {dict}]) Funcref\n\nnamed reference to function {name}" 551 | }, 552 | {"word": "garbagecollect(", 553 | "kind": "f", 554 | "menu": "free memory, breaking cyclic references", 555 | "info": "garbagecollect([{atexit}]) none\n\nfree memory, breaking cyclic references" 556 | }, 557 | {"word": "get(", 558 | "kind": "f", 559 | "menu": "get item {idx} from {list} or {def}", 560 | "info": "get({list}, {idx} [, {def}]) any\n\nget item {idx} from {list} or {def}" 561 | }, 562 | {"word": "get(", 563 | "kind": "f", 564 | "menu": "get item {key} from {dict} or {def}", 565 | "info": "get({dict}, {key} [, {def}]) any\n\nget item {key} from {dict} or {def}" 566 | }, 567 | {"word": "get(", 568 | "kind": "f", 569 | "menu": "get property of funcref/partial {func}", 570 | "info": "get({func}, {what}) any\n\nget property of funcref/partial {func}" 571 | }, 572 | {"word": "getbufinfo(", 573 | "kind": "f", 574 | "menu": "information about buffers", 575 | "info": "getbufinfo([{expr}]) List\n\ninformation about buffers" 576 | }, 577 | {"word": "getbufline(", 578 | "kind": "f", 579 | "menu": "lines {lnum} to {end} of buffer {expr}", 580 | "info": "getbufline({expr}, {lnum} [, {end}]) List\n\nlines {lnum} to {end} of buffer {expr}" 581 | }, 582 | {"word": "getbufvar(", 583 | "kind": "f", 584 | "menu": "variable {varname} in buffer {expr}", 585 | "info": "getbufvar({expr}, {varname} [, {def}]) any\n\nvariable {varname} in buffer {expr}" 586 | }, 587 | {"word": "getchangelist(", 588 | "kind": "f", 589 | "menu": "list of change list items", 590 | "info": "getchangelist({expr}) List\n\nlist of change list items" 591 | }, 592 | {"word": "getchar(", 593 | "kind": "f", 594 | "menu": "get one character from the user", 595 | "info": "getchar([expr]) Number\n\nget one character from the user" 596 | }, 597 | {"word": "getcharmod()", 598 | "kind": "f", 599 | "menu": "modifiers for the last typed character", 600 | "info": "getcharmod() Number\n\nmodifiers for the last typed character" 601 | }, 602 | {"word": "getcharsearch()", 603 | "kind": "f", 604 | "menu": "last character search", 605 | "info": "getcharsearch() Dict\n\nlast character search" 606 | }, 607 | {"word": "getcmdline()", 608 | "kind": "f", 609 | "menu": "return the current command-line", 610 | "info": "getcmdline() String\n\nreturn the current command-line" 611 | }, 612 | {"word": "getcmdpos()", 613 | "kind": "f", 614 | "menu": "return cursor position in command-line", 615 | "info": "getcmdpos() Number\n\nreturn cursor position in command-line" 616 | }, 617 | {"word": "getcmdtype()", 618 | "kind": "f", 619 | "menu": "return current command-line type", 620 | "info": "getcmdtype() String\n\nreturn current command-line type" 621 | }, 622 | {"word": "getcmdwintype()", 623 | "kind": "f", 624 | "menu": "return current command-line window type", 625 | "info": "getcmdwintype() String\n\nreturn current command-line window type" 626 | }, 627 | {"word": "getcompletion(", 628 | "kind": "f", 629 | "menu": "list of cmdline completion matches", 630 | "info": "getcompletion({pat}, {type} [, {filtered}]) List\n\nlist of cmdline completion matches" 631 | }, 632 | {"word": "getcurpos()", 633 | "kind": "f", 634 | "menu": "position of the cursor", 635 | "info": "getcurpos() List\n\nposition of the cursor" 636 | }, 637 | {"word": "getcwd(", 638 | "kind": "f", 639 | "menu": "get the current working directory", 640 | "info": "getcwd([{winnr} [, {tabnr}]]) String\n\nget the current working directory" 641 | }, 642 | {"word": "getfontname(", 643 | "kind": "f", 644 | "menu": "name of font being used", 645 | "info": "getfontname([{name}]) String\n\nname of font being used" 646 | }, 647 | {"word": "getfperm(", 648 | "kind": "f", 649 | "menu": "file permissions of file {fname}", 650 | "info": "getfperm({fname}) String\n\nfile permissions of file {fname}" 651 | }, 652 | {"word": "getfsize(", 653 | "kind": "f", 654 | "menu": "size in bytes of file {fname}", 655 | "info": "getfsize({fname}) Number\n\nsize in bytes of file {fname}" 656 | }, 657 | {"word": "getftime(", 658 | "kind": "f", 659 | "menu": "last modification time of file", 660 | "info": "getftime({fname}) Number\n\nlast modification time of file" 661 | }, 662 | {"word": "getftype(", 663 | "kind": "f", 664 | "menu": "description of type of file {fname}", 665 | "info": "getftype({fname}) String\n\ndescription of type of file {fname}" 666 | }, 667 | {"word": "getjumplist(", 668 | "kind": "f", 669 | "menu": "list of jump list items", 670 | "info": "getjumplist([{winnr} [, {tabnr}]]) List\n\nlist of jump list items" 671 | }, 672 | {"word": "getline(", 673 | "kind": "f", 674 | "menu": "line {lnum} of current buffer", 675 | "info": "getline({lnum}) String\n\nline {lnum} of current buffer" 676 | }, 677 | {"word": "getline(", 678 | "kind": "f", 679 | "menu": "lines {lnum} to {end} of current buffer", 680 | "info": "getline({lnum}, {end}) List\n\nlines {lnum} to {end} of current buffer" 681 | }, 682 | {"word": "getloclist(", 683 | "kind": "f", 684 | "menu": "list of location list items", 685 | "info": "getloclist({nr} [, {what}]) List\n\nlist of location list items" 686 | }, 687 | {"word": "getmatches()", 688 | "kind": "f", 689 | "menu": "list of current matches", 690 | "info": "getmatches() List\n\nlist of current matches" 691 | }, 692 | {"word": "getpid()", 693 | "kind": "f", 694 | "menu": "process ID of Vim", 695 | "info": "getpid() Number\n\nprocess ID of Vim" 696 | }, 697 | {"word": "getpos(", 698 | "kind": "f", 699 | "menu": "position of cursor, mark, etc.", 700 | "info": "getpos({expr}) List\n\nposition of cursor, mark, etc." 701 | }, 702 | {"word": "getqflist(", 703 | "kind": "f", 704 | "menu": "list of quickfix items", 705 | "info": "getqflist([{what}]) List\n\nlist of quickfix items" 706 | }, 707 | {"word": "getreg(", 708 | "kind": "f", 709 | "menu": "contents of register", 710 | "info": "getreg([{regname} [, 1 [, {list}]]]) String or List\n\ncontents of register" 711 | }, 712 | {"word": "getregtype(", 713 | "kind": "f", 714 | "menu": "type of register", 715 | "info": "getregtype([{regname}]) String\n\ntype of register" 716 | }, 717 | {"word": "gettabinfo(", 718 | "kind": "f", 719 | "menu": "list of tab pages", 720 | "info": "gettabinfo([{expr}]) List\n\nlist of tab pages" 721 | }, 722 | {"word": "gettabvar(", 723 | "kind": "f", 724 | "menu": "variable {varname} in tab {nr} or {def}", 725 | "info": "gettabvar({nr}, {varname} [, {def}]) any\n\nvariable {varname} in tab {nr} or {def}" 726 | }, 727 | {"word": "gettabwinvar(", 728 | "kind": "f", 729 | "menu": "{name} in {winnr} in tab page {tabnr}", 730 | "info": "gettabwinvar({tabnr}, {winnr}, {name} [, {def}]) any\n\n{name} in {winnr} in tab page {tabnr}" 731 | }, 732 | {"word": "getwininfo(", 733 | "kind": "f", 734 | "menu": "list of windows", 735 | "info": "getwininfo([{winid}]) List\n\nlist of windows" 736 | }, 737 | {"word": "getwinpos(", 738 | "kind": "f", 739 | "menu": "X and Y coord in pixels of the Vim window", 740 | "info": "getwinpos([{tmeout}]) List\n\nX and Y coord in pixels of the Vim window" 741 | }, 742 | {"word": "getwinposx()", 743 | "kind": "f", 744 | "menu": "X coord in pixels of the Vim window", 745 | "info": "getwinposx() Number\n\nX coord in pixels of the Vim window" 746 | }, 747 | {"word": "getwinposy()", 748 | "kind": "f", 749 | "menu": "Y coord in pixels of the Vim window", 750 | "info": "getwinposy() Number\n\nY coord in pixels of the Vim window" 751 | }, 752 | {"word": "getwinvar(", 753 | "kind": "f", 754 | "menu": "variable {varname} in window {nr}", 755 | "info": "getwinvar({nr}, {varname} [, {def}]) any\n\nvariable {varname} in window {nr}" 756 | }, 757 | {"word": "glob(", 758 | "kind": "f", 759 | "menu": "expand file wildcards in {expr}", 760 | "info": "glob({expr} [, {nosuf} [, {list} [, {alllinks}]]]) any\n\nexpand file wildcards in {expr}" 761 | }, 762 | {"word": "glob2regpat(", 763 | "kind": "f", 764 | "menu": "convert a glob pat into a search pat", 765 | "info": "glob2regpat({expr}) String\n\nconvert a glob pat into a search pat" 766 | }, 767 | {"word": "globpath(", 768 | "kind": "f", 769 | "menu": "do glob({expr}) for all dirs in {path}", 770 | "info": "globpath({path}, {expr} [, {nosuf} [, {list} [, {alllinks}]]]) String\n\ndo glob({expr}) for all dirs in {path}" 771 | }, 772 | {"word": "has(", 773 | "kind": "f", 774 | "menu": "|TRUE| if feature {feature} supported", 775 | "info": "has({feature}) Number\n\n|TRUE| if feature {feature} supported" 776 | }, 777 | {"word": "has_key(", 778 | "kind": "f", 779 | "menu": "|TRUE| if {dict} has entry {key}", 780 | "info": "has_key({dict}, {key}) Number\n\n|TRUE| if {dict} has entry {key}" 781 | }, 782 | {"word": "haslocaldir(", 783 | "kind": "f", 784 | "menu": "|TRUE| if the window executed |:lcd|", 785 | "info": "haslocaldir([{winnr} [, {tabnr}]]) Number\n\n|TRUE| if the window executed |:lcd|" 786 | }, 787 | {"word": "hasmapto(", 788 | "kind": "f", 789 | "menu": "|TRUE| if mapping to {what} exists", 790 | "info": "hasmapto({what} [, {mode} [, {abbr}]]) Number\n\n|TRUE| if mapping to {what} exists" 791 | }, 792 | {"word": "histadd(", 793 | "kind": "f", 794 | "menu": "add an item to a history", 795 | "info": "histadd({history}, {item}) String\n\nadd an item to a history" 796 | }, 797 | {"word": "histdel(", 798 | "kind": "f", 799 | "menu": "remove an item from a history", 800 | "info": "histdel({history} [, {item}]) String\n\nremove an item from a history" 801 | }, 802 | {"word": "histget(", 803 | "kind": "f", 804 | "menu": "get the item {index} from a history", 805 | "info": "histget({history} [, {index}]) String\n\nget the item {index} from a history" 806 | }, 807 | {"word": "histnr(", 808 | "kind": "f", 809 | "menu": "highest index of a history", 810 | "info": "histnr({history}) Number\n\nhighest index of a history" 811 | }, 812 | {"word": "hlexists(", 813 | "kind": "f", 814 | "menu": "|TRUE| if highlight group {name} exists", 815 | "info": "hlexists({name}) Number\n\n|TRUE| if highlight group {name} exists" 816 | }, 817 | {"word": "hlID(", 818 | "kind": "f", 819 | "menu": "syntax ID of highlight group {name}", 820 | "info": "hlID({name}) Number\n\nsyntax ID of highlight group {name}" 821 | }, 822 | {"word": "hostname()", 823 | "kind": "f", 824 | "menu": "name of the machine Vim is running on", 825 | "info": "hostname() String\n\nname of the machine Vim is running on" 826 | }, 827 | {"word": "iconv(", 828 | "kind": "f", 829 | "menu": "convert encoding of {expr}", 830 | "info": "iconv({expr}, {from}, {to}) String\n\nconvert encoding of {expr}" 831 | }, 832 | {"word": "indent(", 833 | "kind": "f", 834 | "menu": "indent of line {lnum}", 835 | "info": "indent({lnum}) Number\n\nindent of line {lnum}" 836 | }, 837 | {"word": "index(", 838 | "kind": "f", 839 | "menu": "index in {list} where {expr} appears", 840 | "info": "index({list}, {expr} [, {start} [, {ic}]]) Number\n\nindex in {list} where {expr} appears" 841 | }, 842 | {"word": "input(", 843 | "kind": "f", 844 | "menu": "get input from the user", 845 | "info": "input({prompt} [, {text} [, {completion}]]) String\n\nget input from the user" 846 | }, 847 | {"word": "inputdialog(", 848 | "kind": "f", 849 | "menu": "like input() but in a GUI dialog", 850 | "info": "inputdialog({prompt} [, {text} [, {completion}]]) String\n\nlike input() but in a GUI dialog" 851 | }, 852 | {"word": "inputlist(", 853 | "kind": "f", 854 | "menu": "let the user pick from a choice list", 855 | "info": "inputlist({textlist}) Number\n\nlet the user pick from a choice list" 856 | }, 857 | {"word": "inputrestore()", 858 | "kind": "f", 859 | "menu": "restore typeahead", 860 | "info": "inputrestore() Number\n\nrestore typeahead" 861 | }, 862 | {"word": "inputsave()", 863 | "kind": "f", 864 | "menu": "save and clear typeahead", 865 | "info": "inputsave() Number\n\nsave and clear typeahead" 866 | }, 867 | {"word": "inputsecret(", 868 | "kind": "f", 869 | "menu": "like input() but hiding the text", 870 | "info": "inputsecret({prompt} [, {text}]) String\n\nlike input() but hiding the text" 871 | }, 872 | {"word": "insert(", 873 | "kind": "f", 874 | "menu": "insert {item} in {list} [before {idx}]", 875 | "info": "insert({list}, {item} [, {idx}]) List\n\ninsert {item} in {list} [before {idx}]" 876 | }, 877 | {"word": "invert(", 878 | "kind": "f", 879 | "menu": "bitwise invert", 880 | "info": "invert({expr}) Number\n\nbitwise invert" 881 | }, 882 | {"word": "isdirectory(", 883 | "kind": "f", 884 | "menu": "|TRUE| if {directory} is a directory", 885 | "info": "isdirectory({directory}) Number\n\n|TRUE| if {directory} is a directory" 886 | }, 887 | {"word": "islocked(", 888 | "kind": "f", 889 | "menu": "|TRUE| if {expr} is locked", 890 | "info": "islocked({expr}) Number\n\n|TRUE| if {expr} is locked" 891 | }, 892 | {"word": "isnan(", 893 | "kind": "f", 894 | "menu": "|TRUE| if {expr} is NaN", 895 | "info": "isnan({expr}) Number\n\n|TRUE| if {expr} is NaN" 896 | }, 897 | {"word": "items(", 898 | "kind": "f", 899 | "menu": "key-value pairs in {dict}", 900 | "info": "items({dict}) List\n\nkey-value pairs in {dict}" 901 | }, 902 | {"word": "job_getchannel(", 903 | "kind": "f", 904 | "menu": "get the channel handle for {job}", 905 | "info": "job_getchannel({job}) Channel\n\nget the channel handle for {job}" 906 | }, 907 | {"word": "job_info(", 908 | "kind": "f", 909 | "menu": "get information about {job}", 910 | "info": "job_info({job}) Dict\n\nget information about {job}" 911 | }, 912 | {"word": "job_setoptions(", 913 | "kind": "f", 914 | "menu": "set options for {job}", 915 | "info": "job_setoptions({job}, {options}) none\n\nset options for {job}" 916 | }, 917 | {"word": "job_start(", 918 | "kind": "f", 919 | "menu": "start a job", 920 | "info": "job_start({command} [, {options}]) Job\n\nstart a job" 921 | }, 922 | {"word": "job_status(", 923 | "kind": "f", 924 | "menu": "get the status of {job}", 925 | "info": "job_status({job}) String\n\nget the status of {job}" 926 | }, 927 | {"word": "job_stop(", 928 | "kind": "f", 929 | "menu": "stop {job}", 930 | "info": "job_stop({job} [, {how}]) Number\n\nstop {job}" 931 | }, 932 | {"word": "join(", 933 | "kind": "f", 934 | "menu": "join {list} items into one String", 935 | "info": "join({list} [, {sep}]) String\n\njoin {list} items into one String" 936 | }, 937 | {"word": "js_decode(", 938 | "kind": "f", 939 | "menu": "decode JS style JSON", 940 | "info": "js_decode({string}) any\n\ndecode JS style JSON" 941 | }, 942 | {"word": "js_encode(", 943 | "kind": "f", 944 | "menu": "encode JS style JSON", 945 | "info": "js_encode({expr}) String\n\nencode JS style JSON" 946 | }, 947 | {"word": "json_decode(", 948 | "kind": "f", 949 | "menu": "decode JSON", 950 | "info": "json_decode({string}) any\n\ndecode JSON" 951 | }, 952 | {"word": "json_encode(", 953 | "kind": "f", 954 | "menu": "encode JSON", 955 | "info": "json_encode({expr}) String\n\nencode JSON" 956 | }, 957 | {"word": "keys(", 958 | "kind": "f", 959 | "menu": "keys in {dict}", 960 | "info": "keys({dict}) List\n\nkeys in {dict}" 961 | }, 962 | {"word": "len(", 963 | "kind": "f", 964 | "menu": "the length of {expr}", 965 | "info": "len({expr}) Number\n\nthe length of {expr}" 966 | }, 967 | {"word": "libcall(", 968 | "kind": "f", 969 | "menu": "call {func} in library {lib} with {arg}", 970 | "info": "libcall({lib}, {func}, {arg}) String\n\ncall {func} in library {lib} with {arg}" 971 | }, 972 | {"word": "libcallnr(", 973 | "kind": "f", 974 | "menu": "idem, but return a Number", 975 | "info": "libcallnr({lib}, {func}, {arg}) Number\n\nidem, but return a Number" 976 | }, 977 | {"word": "line(", 978 | "kind": "f", 979 | "menu": "line nr of cursor, last line or mark", 980 | "info": "line({expr}) Number\n\nline nr of cursor, last line or mark" 981 | }, 982 | {"word": "line2byte(", 983 | "kind": "f", 984 | "menu": "byte count of line {lnum}", 985 | "info": "line2byte({lnum}) Number\n\nbyte count of line {lnum}" 986 | }, 987 | {"word": "lispindent(", 988 | "kind": "f", 989 | "menu": "Lisp indent for line {lnum}", 990 | "info": "lispindent({lnum}) Number\n\nLisp indent for line {lnum}" 991 | }, 992 | {"word": "localtime()", 993 | "kind": "f", 994 | "menu": "current time", 995 | "info": "localtime() Number\n\ncurrent time" 996 | }, 997 | {"word": "log(", 998 | "kind": "f", 999 | "menu": "natural logarithm (base e) of {expr}", 1000 | "info": "log({expr}) Float\n\nnatural logarithm (base e) of {expr}" 1001 | }, 1002 | {"word": "log10(", 1003 | "kind": "f", 1004 | "menu": "logarithm of Float {expr} to base 10", 1005 | "info": "log10({expr}) Float\n\nlogarithm of Float {expr} to base 10" 1006 | }, 1007 | {"word": "luaeval(", 1008 | "kind": "f", 1009 | "menu": "evaluate |Lua| expression", 1010 | "info": "luaeval({expr} [, {expr}]) any\n\nevaluate |Lua| expression" 1011 | }, 1012 | {"word": "map(", 1013 | "kind": "f", 1014 | "menu": "change each item in {expr1} to {expr}", 1015 | "info": "map({expr1}, {expr2}) List/Dict\n\nchange each item in {expr1} to {expr}" 1016 | }, 1017 | {"word": "maparg(", 1018 | "kind": "f", 1019 | "menu": "rhs of mapping {name} in mode {mode}", 1020 | "info": "maparg({name} [, {mode} [, {abbr} [, {dict}]]]) String or Dict\n\nrhs of mapping {name} in mode {mode}" 1021 | }, 1022 | {"word": "mapcheck(", 1023 | "kind": "f", 1024 | "menu": "check for mappings matching {name}", 1025 | "info": "mapcheck({name} [, {mode} [, {abbr}]]) String\n\ncheck for mappings matching {name}" 1026 | }, 1027 | {"word": "match(", 1028 | "kind": "f", 1029 | "menu": "position where {pat} matches in {expr}", 1030 | "info": "match({expr}, {pat} [, {start} [, {count}]]) Number\n\nposition where {pat} matches in {expr}" 1031 | }, 1032 | {"word": "matchadd(", 1033 | "kind": "f", 1034 | "menu": "highlight {pattern} with {group}", 1035 | "info": "matchadd({group}, {pattern} [, {priority} [, {id} [, {dict}]]]) Number\n\nhighlight {pattern} with {group}" 1036 | }, 1037 | {"word": "matchaddpos(", 1038 | "kind": "f", 1039 | "menu": "highlight positions with {group}", 1040 | "info": "matchaddpos({group}, {pos} [, {priority} [, {id} [, {dict}]]]) Number\n\nhighlight positions with {group}" 1041 | }, 1042 | {"word": "matcharg(", 1043 | "kind": "f", 1044 | "menu": "arguments of |:match|", 1045 | "info": "matcharg({nr}) List\n\narguments of |:match|" 1046 | }, 1047 | {"word": "matchdelete(", 1048 | "kind": "f", 1049 | "menu": "delete match identified by {id}", 1050 | "info": "matchdelete({id}) Number\n\ndelete match identified by {id}" 1051 | }, 1052 | {"word": "matchend(", 1053 | "kind": "f", 1054 | "menu": "position where {pat} ends in {expr}", 1055 | "info": "matchend({expr}, {pat} [, {start} [, {count}]]) Number\n\nposition where {pat} ends in {expr}" 1056 | }, 1057 | {"word": "matchlist(", 1058 | "kind": "f", 1059 | "menu": "match and submatches of {pat} in {expr}", 1060 | "info": "matchlist({expr}, {pat} [, {start} [, {count}]]) List\n\nmatch and submatches of {pat} in {expr}" 1061 | }, 1062 | {"word": "matchstr(", 1063 | "kind": "f", 1064 | "menu": "{count}'th match of {pat} in {expr}", 1065 | "info": "matchstr({expr}, {pat} [, {start} [, {count}]]) String\n\n{count}'th match of {pat} in {expr}" 1066 | }, 1067 | {"word": "matchstrpos(", 1068 | "kind": "f", 1069 | "menu": "{count}'th match of {pat} in {expr}", 1070 | "info": "matchstrpos({expr}, {pat} [, {start} [, {count}]]) List\n\n{count}'th match of {pat} in {expr}" 1071 | }, 1072 | {"word": "max(", 1073 | "kind": "f", 1074 | "menu": "maximum value of items in {expr}", 1075 | "info": "max({expr}) Number\n\nmaximum value of items in {expr}" 1076 | }, 1077 | {"word": "min(", 1078 | "kind": "f", 1079 | "menu": "minimum value of items in {expr}", 1080 | "info": "min({expr}) Number\n\nminimum value of items in {expr}" 1081 | }, 1082 | {"word": "mkdir(", 1083 | "kind": "f", 1084 | "menu": "create directory {name}", 1085 | "info": "mkdir({name} [, {path} [, {prot}]]) Number\n\ncreate directory {name}" 1086 | }, 1087 | {"word": "mode(", 1088 | "kind": "f", 1089 | "menu": "current editing mode", 1090 | "info": "mode([expr]) String\n\ncurrent editing mode" 1091 | }, 1092 | {"word": "mzeval(", 1093 | "kind": "f", 1094 | "menu": "evaluate |MzScheme| expression", 1095 | "info": "mzeval({expr}) any\n\nevaluate |MzScheme| expression" 1096 | }, 1097 | {"word": "nextnonblank(", 1098 | "kind": "f", 1099 | "menu": "line nr of non-blank line >= {lnum}", 1100 | "info": "nextnonblank({lnum}) Number\n\nline nr of non-blank line >= {lnum}" 1101 | }, 1102 | {"word": "nr2char(", 1103 | "kind": "f", 1104 | "menu": "single char with ASCII/UTF8 value {expr}", 1105 | "info": "nr2char({expr} [, {utf8}]) String\n\nsingle char with ASCII/UTF8 value {expr}" 1106 | }, 1107 | {"word": "option_restore(", 1108 | "kind": "f", 1109 | "menu": "restore options saved by option_save()", 1110 | "info": "option_restore({list}) none\n\nrestore options saved by option_save()" 1111 | }, 1112 | {"word": "option_save(", 1113 | "kind": "f", 1114 | "menu": "save options values", 1115 | "info": "option_save({list}) List\n\nsave options values" 1116 | }, 1117 | {"word": "or(", 1118 | "kind": "f", 1119 | "menu": "bitwise OR", 1120 | "info": "or({expr}, {expr}) Number\n\nbitwise OR" 1121 | }, 1122 | {"word": "pathshorten(", 1123 | "kind": "f", 1124 | "menu": "shorten directory names in a path", 1125 | "info": "pathshorten({expr}) String\n\nshorten directory names in a path" 1126 | }, 1127 | {"word": "perleval(", 1128 | "kind": "f", 1129 | "menu": "evaluate |Perl| expression", 1130 | "info": "perleval({expr}) any\n\nevaluate |Perl| expression" 1131 | }, 1132 | {"word": "pow(", 1133 | "kind": "f", 1134 | "menu": "{x} to the power of {y}", 1135 | "info": "pow({x}, {y}) Float\n\n{x} to the power of {y}" 1136 | }, 1137 | {"word": "prevnonblank(", 1138 | "kind": "f", 1139 | "menu": "line nr of non-blank line <= {lnum}", 1140 | "info": "prevnonblank({lnum}) Number\n\nline nr of non-blank line <= {lnum}" 1141 | }, 1142 | {"word": "printf(", 1143 | "kind": "f", 1144 | "menu": "format text", 1145 | "info": "printf({fmt}, {expr1}...) String\n\nformat text" 1146 | }, 1147 | {"word": "pumvisible()", 1148 | "kind": "f", 1149 | "menu": "whether popup menu is visible", 1150 | "info": "pumvisible() Number\n\nwhether popup menu is visible" 1151 | }, 1152 | {"word": "pyeval(", 1153 | "kind": "f", 1154 | "menu": "evaluate |Python| expression", 1155 | "info": "pyeval({expr}) any\n\nevaluate |Python| expression" 1156 | }, 1157 | {"word": "py3eval(", 1158 | "kind": "f", 1159 | "menu": "evaluate |python3| expression", 1160 | "info": "py3eval({expr}) any\n\nevaluate |python3| expression" 1161 | }, 1162 | {"word": "pyxeval(", 1163 | "kind": "f", 1164 | "menu": "evaluate |python_x| expression", 1165 | "info": "pyxeval({expr}) any\n\nevaluate |python_x| expression" 1166 | }, 1167 | {"word": "range(", 1168 | "kind": "f", 1169 | "menu": "items from {expr} to {max}", 1170 | "info": "range({expr} [, {max} [, {stride}]]) List\n\nitems from {expr} to {max}" 1171 | }, 1172 | {"word": "readfile(", 1173 | "kind": "f", 1174 | "menu": "get list of lines from file {fname}", 1175 | "info": "readfile({fname} [, {binary} [, {max}]]) List\n\nget list of lines from file {fname}" 1176 | }, 1177 | {"word": "reltime(", 1178 | "kind": "f", 1179 | "menu": "get time value", 1180 | "info": "reltime([{start} [, {end}]]) List\n\nget time value" 1181 | }, 1182 | {"word": "reltimefloat(", 1183 | "kind": "f", 1184 | "menu": "turn the time value into a Float", 1185 | "info": "reltimefloat({time}) Float\n\nturn the time value into a Float" 1186 | }, 1187 | {"word": "reltimestr(", 1188 | "kind": "f", 1189 | "menu": "turn time value into a String", 1190 | "info": "reltimestr({time}) String\n\nturn time value into a String" 1191 | }, 1192 | {"word": "remote_expr(", 1193 | "kind": "f", 1194 | "menu": "send expression", 1195 | "info": "remote_expr({server}, {string} [, {idvar} [, {timeout}]]) String\n\nsend expression" 1196 | }, 1197 | {"word": "remote_foreground(", 1198 | "kind": "f", 1199 | "menu": "bring Vim server to the foreground", 1200 | "info": "remote_foreground({server}) Number\n\nbring Vim server to the foreground" 1201 | }, 1202 | {"word": "remote_peek(", 1203 | "kind": "f", 1204 | "menu": "check for reply string", 1205 | "info": "remote_peek({serverid} [, {retvar}]) Number\n\ncheck for reply string" 1206 | }, 1207 | {"word": "remote_read(", 1208 | "kind": "f", 1209 | "menu": "read reply string", 1210 | "info": "remote_read({serverid} [, {timeout}]) String\n\nread reply string" 1211 | }, 1212 | {"word": "remote_send(", 1213 | "kind": "f", 1214 | "menu": "send key sequence", 1215 | "info": "remote_send({server}, {string} [, {idvar}]) String\n\nsend key sequence" 1216 | }, 1217 | {"word": "remote_startserver(", 1218 | "kind": "f", 1219 | "menu": "become server {name} / String => send key sequence", 1220 | "info": "remote_startserver({name}) none\n\nbecome server {name} / String => send key sequence" 1221 | }, 1222 | {"word": "remove(", 1223 | "kind": "f", 1224 | "menu": "remove items {idx}-{end} from {list}", 1225 | "info": "remove({list}, {idx} [, {end}]) any\n\nremove items {idx}-{end} from {list}" 1226 | }, 1227 | {"word": "remove(", 1228 | "kind": "f", 1229 | "menu": "remove entry {key} from {dict}", 1230 | "info": "remove({dict}, {key}) any\n\nremove entry {key} from {dict}" 1231 | }, 1232 | {"word": "rename(", 1233 | "kind": "f", 1234 | "menu": "rename (move) file from {from} to {to}", 1235 | "info": "rename({from}, {to}) Number\n\nrename (move) file from {from} to {to}" 1236 | }, 1237 | {"word": "repeat(", 1238 | "kind": "f", 1239 | "menu": "repeat {expr} {count} times", 1240 | "info": "repeat({expr}, {count}) String\n\nrepeat {expr} {count} times" 1241 | }, 1242 | {"word": "resolve(", 1243 | "kind": "f", 1244 | "menu": "get filename a shortcut points to", 1245 | "info": "resolve({filename}) String\n\nget filename a shortcut points to" 1246 | }, 1247 | {"word": "reverse(", 1248 | "kind": "f", 1249 | "menu": "reverse {list} in-place", 1250 | "info": "reverse({list}) List\n\nreverse {list} in-place" 1251 | }, 1252 | {"word": "round(", 1253 | "kind": "f", 1254 | "menu": "round off {expr}", 1255 | "info": "round({expr}) Float\n\nround off {expr}" 1256 | }, 1257 | {"word": "screenattr(", 1258 | "kind": "f", 1259 | "menu": "attribute at screen position", 1260 | "info": "screenattr({row}, {col}) Number\n\nattribute at screen position" 1261 | }, 1262 | {"word": "screenchar(", 1263 | "kind": "f", 1264 | "menu": "character at screen position", 1265 | "info": "screenchar({row}, {col}) Number\n\ncharacter at screen position" 1266 | }, 1267 | {"word": "screencol()", 1268 | "kind": "f", 1269 | "menu": "current cursor column", 1270 | "info": "screencol() Number\n\ncurrent cursor column" 1271 | }, 1272 | {"word": "screenrow()", 1273 | "kind": "f", 1274 | "menu": "current cursor row", 1275 | "info": "screenrow() Number\n\ncurrent cursor row" 1276 | }, 1277 | {"word": "search(", 1278 | "kind": "f", 1279 | "menu": "search for {pattern}", 1280 | "info": "search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) Number\n\nsearch for {pattern}" 1281 | }, 1282 | {"word": "searchdecl(", 1283 | "kind": "f", 1284 | "menu": "search for variable declaration", 1285 | "info": "searchdecl({name} [, {global} [, {thisblock}]]) Number\n\nsearch for variable declaration" 1286 | }, 1287 | {"word": "searchpair(", 1288 | "kind": "f", 1289 | "menu": "search for other end of start/end pair", 1290 | "info": "searchpair({start}, {middle}, {end} [, {flags} [, {skip} [...]]]) Number\n\nsearch for other end of start/end pair" 1291 | }, 1292 | {"word": "searchpairpos(", 1293 | "kind": "f", 1294 | "menu": "search for other end of start/end pair", 1295 | "info": "searchpairpos({start}, {middle}, {end} [, {flags} [, {skip} [...]]]) List\n\nsearch for other end of start/end pair" 1296 | }, 1297 | {"word": "searchpos(", 1298 | "kind": "f", 1299 | "menu": "search for {pattern}", 1300 | "info": "searchpos({pattern} [, {flags} [, {stopline} [, {timeout}]]]) List\n\nsearch for {pattern}" 1301 | }, 1302 | {"word": "server2client(", 1303 | "kind": "f", 1304 | "menu": "send reply string", 1305 | "info": "server2client({clientid}, {string}) Number\n\nsend reply string" 1306 | }, 1307 | {"word": "serverlist()", 1308 | "kind": "f", 1309 | "menu": "get a list of available servers", 1310 | "info": "serverlist() String\n\nget a list of available servers" 1311 | }, 1312 | {"word": "setbufline(", 1313 | "kind": "f", 1314 | "menu": "set line {lnum} to {line} in buffer{expr}", 1315 | "info": "setbufline({expr}, {lnum}, {line}) Number\n\nset line {lnum} to {line} in buffer{expr}" 1316 | }, 1317 | {"word": "setbufvar(", 1318 | "kind": "f", 1319 | "menu": "set {varname} in buffer {expr} to {val}", 1320 | "info": "setbufvar({expr}, {varname}, {val}) none\n\nset {varname} in buffer {expr} to {val}" 1321 | }, 1322 | {"word": "setcharsearch(", 1323 | "kind": "f", 1324 | "menu": "set character search from {dict}", 1325 | "info": "setcharsearch({dict}) Dict\n\nset character search from {dict}" 1326 | }, 1327 | {"word": "setcmdpos(", 1328 | "kind": "f", 1329 | "menu": "set cursor position in command-line", 1330 | "info": "setcmdpos({pos}) Number\n\nset cursor position in command-line" 1331 | }, 1332 | {"word": "setfperm(", 1333 | "kind": "f", 1334 | "menu": "set {fname} file permissions to {mode}", 1335 | "info": "setfperm({fname}, {mode}) Number\n\nset {fname} file permissions to {mode}" 1336 | }, 1337 | {"word": "setline(", 1338 | "kind": "f", 1339 | "menu": "set line {lnum} to {line}", 1340 | "info": "setline({lnum}, {line}) Number\n\nset line {lnum} to {line}" 1341 | }, 1342 | {"word": "setloclist(", 1343 | "kind": "f", 1344 | "menu": "modify location list using {list}", 1345 | "info": "setloclist({nr}, {list} [, {action} [, {what}]]) Number\n\nmodify location list using {list}" 1346 | }, 1347 | {"word": "setmatches(", 1348 | "kind": "f", 1349 | "menu": "restore a list of matches", 1350 | "info": "setmatches({list}) Number\n\nrestore a list of matches" 1351 | }, 1352 | {"word": "setpos(", 1353 | "kind": "f", 1354 | "menu": "set the {expr} position to {list}", 1355 | "info": "setpos({expr}, {list}) Number\n\nset the {expr} position to {list}" 1356 | }, 1357 | {"word": "setqflist(", 1358 | "kind": "f", 1359 | "menu": "modify quickfix list using {list}", 1360 | "info": "setqflist({list} [, {action} [, {what}]]) Number\n\nmodify quickfix list using {list}" 1361 | }, 1362 | {"word": "setreg(", 1363 | "kind": "f", 1364 | "menu": "set register to value and type", 1365 | "info": "setreg({n}, {v} [, {opt}]) Number\n\nset register to value and type" 1366 | }, 1367 | {"word": "settabvar(", 1368 | "kind": "f", 1369 | "menu": "set {varname} in tab page {nr} to {val}", 1370 | "info": "settabvar({nr}, {varname}, {val}) none\n\nset {varname} in tab page {nr} to {val}" 1371 | }, 1372 | {"word": "settabwinvar(", 1373 | "kind": "f", 1374 | "menu": "set {varname} in window {winnr} in tabpage {tabnr} to {val}", 1375 | "info": "settabwinvar({tabnr}, {winnr}, {varname}, {val}) none\n\nset {varname} in window {winnr} in tabpage {tabnr} to {val}" 1376 | }, 1377 | {"word": "setwinvar(", 1378 | "kind": "f", 1379 | "menu": "set {varname} in window {nr} to {val}", 1380 | "info": "setwinvar({nr}, {varname}, {val}) none\n\nset {varname} in window {nr} to {val}" 1381 | }, 1382 | {"word": "sha256(", 1383 | "kind": "f", 1384 | "menu": "SHA256 checksum of {string}", 1385 | "info": "sha256({string}) String\n\nSHA256 checksum of {string}" 1386 | }, 1387 | {"word": "shellescape(", 1388 | "kind": "f", 1389 | "menu": "escape {string} for use as shellcommand argument", 1390 | "info": "shellescape({string} [, {special}]) String\n\nescape {string} for use as shellcommand argument" 1391 | }, 1392 | {"word": "shiftwidth()", 1393 | "kind": "f", 1394 | "menu": "effective value of 'shiftwidth'", 1395 | "info": "shiftwidth() Number\n\neffective value of 'shiftwidth'" 1396 | }, 1397 | {"word": "simplify(", 1398 | "kind": "f", 1399 | "menu": "simplify filename as much as possible", 1400 | "info": "simplify({filename}) String\n\nsimplify filename as much as possible" 1401 | }, 1402 | {"word": "sin(", 1403 | "kind": "f", 1404 | "menu": "sine of {expr}", 1405 | "info": "sin({expr}) Float\n\nsine of {expr}" 1406 | }, 1407 | {"word": "sinh(", 1408 | "kind": "f", 1409 | "menu": "hyperbolic sine of {expr}", 1410 | "info": "sinh({expr}) Float\n\nhyperbolic sine of {expr}" 1411 | }, 1412 | {"word": "sort(", 1413 | "kind": "f", 1414 | "menu": "sort {list}, using {func} to compare", 1415 | "info": "sort({list} [, {func} [, {dict}]]) List\n\nsort {list}, using {func} to compare" 1416 | }, 1417 | {"word": "soundfold(", 1418 | "kind": "f", 1419 | "menu": "sound-fold {word}", 1420 | "info": "soundfold({word}) String\n\nsound-fold {word}" 1421 | }, 1422 | {"word": "spellbadword()", 1423 | "kind": "f", 1424 | "menu": "badly spelled word at cursor", 1425 | "info": "spellbadword() String\n\nbadly spelled word at cursor" 1426 | }, 1427 | {"word": "spellsuggest(", 1428 | "kind": "f", 1429 | "menu": "spelling suggestions", 1430 | "info": "spellsuggest({word} [, {max} [, {capital}]]) List\n\nspelling suggestions" 1431 | }, 1432 | {"word": "split(", 1433 | "kind": "f", 1434 | "menu": "make |List| from {pat} separated {expr}", 1435 | "info": "split({expr} [, {pat} [, {keepempty}]]) List\n\nmake |List| from {pat} separated {expr}" 1436 | }, 1437 | {"word": "sqrt(", 1438 | "kind": "f", 1439 | "menu": "square root of {expr}", 1440 | "info": "sqrt({expr}) Float\n\nsquare root of {expr}" 1441 | }, 1442 | {"word": "str2float(", 1443 | "kind": "f", 1444 | "menu": "convert String to Float", 1445 | "info": "str2float({expr}) Float\n\nconvert String to Float" 1446 | }, 1447 | {"word": "str2nr(", 1448 | "kind": "f", 1449 | "menu": "convert String to Number", 1450 | "info": "str2nr({expr} [, {base}]) Number\n\nconvert String to Number" 1451 | }, 1452 | {"word": "strchars(", 1453 | "kind": "f", 1454 | "menu": "character length of the String {expr}", 1455 | "info": "strchars({expr} [, {skipcc}]) Number\n\ncharacter length of the String {expr}" 1456 | }, 1457 | {"word": "strcharpart(", 1458 | "kind": "f", 1459 | "menu": "{len} characters of {str} at {start}", 1460 | "info": "strcharpart({str}, {start} [, {len}]) String\n\n{len} characters of {str} at {start}" 1461 | }, 1462 | {"word": "strdisplaywidth(", 1463 | "kind": "f", 1464 | "menu": "display length of the String {expr}", 1465 | "info": "strdisplaywidth({expr} [, {col}]) Number\n\ndisplay length of the String {expr}" 1466 | }, 1467 | {"word": "strftime(", 1468 | "kind": "f", 1469 | "menu": "time in specified format", 1470 | "info": "strftime({format} [, {time}]) String\n\ntime in specified format" 1471 | }, 1472 | {"word": "strgetchar(", 1473 | "kind": "f", 1474 | "menu": "get char {index} from {str}", 1475 | "info": "strgetchar({str}, {index}) Number\n\nget char {index} from {str}" 1476 | }, 1477 | {"word": "stridx(", 1478 | "kind": "f", 1479 | "menu": "index of {needle} in {haystack}", 1480 | "info": "stridx({haystack}, {needle} [, {start}]) Number\n\nindex of {needle} in {haystack}" 1481 | }, 1482 | {"word": "string(", 1483 | "kind": "f", 1484 | "menu": "String representation of {expr} value", 1485 | "info": "string({expr}) String\n\nString representation of {expr} value" 1486 | }, 1487 | {"word": "strlen(", 1488 | "kind": "f", 1489 | "menu": "length of the String {expr}", 1490 | "info": "strlen({expr}) Number\n\nlength of the String {expr}" 1491 | }, 1492 | {"word": "strpart(", 1493 | "kind": "f", 1494 | "menu": "{len} characters of {str} at {start}", 1495 | "info": "strpart({str}, {start} [, {len}]) String\n\n{len} characters of {str} at {start}" 1496 | }, 1497 | {"word": "strridx(", 1498 | "kind": "f", 1499 | "menu": "last index of {needle} in {haystack}", 1500 | "info": "strridx({haystack}, {needle} [, {start}]) Number\n\nlast index of {needle} in {haystack}" 1501 | }, 1502 | {"word": "strtrans(", 1503 | "kind": "f", 1504 | "menu": "translate string to make it printable", 1505 | "info": "strtrans({expr}) String\n\ntranslate string to make it printable" 1506 | }, 1507 | {"word": "strwidth(", 1508 | "kind": "f", 1509 | "menu": "display cell length of the String {expr}", 1510 | "info": "strwidth({expr}) Number\n\ndisplay cell length of the String {expr}" 1511 | }, 1512 | {"word": "submatch(", 1513 | "kind": "f", 1514 | "menu": "specific match in \":s\" or substitute()", 1515 | "info": "submatch({nr} [, {list}]) String or List\n\nspecific match in \":s\" or substitute()" 1516 | }, 1517 | {"word": "substitute(", 1518 | "kind": "f", 1519 | "menu": "all {pat} in {expr} replaced with {sub}", 1520 | "info": "substitute({expr}, {pat}, {sub}, {flags}) String\n\nall {pat} in {expr} replaced with {sub}" 1521 | }, 1522 | {"word": "synID(", 1523 | "kind": "f", 1524 | "menu": "syntax ID at {lnum} and {col}", 1525 | "info": "synID({lnum}, {col}, {trans}) Number\n\nsyntax ID at {lnum} and {col}" 1526 | }, 1527 | {"word": "synIDattr(", 1528 | "kind": "f", 1529 | "menu": "attribute {what} of syntax ID {synID}", 1530 | "info": "synIDattr({synID}, {what} [, {mode}]) String\n\nattribute {what} of syntax ID {synID}" 1531 | }, 1532 | {"word": "synIDtrans(", 1533 | "kind": "f", 1534 | "menu": "translated syntax ID of {synID}", 1535 | "info": "synIDtrans({synID}) Number\n\ntranslated syntax ID of {synID}" 1536 | }, 1537 | {"word": "synconcealed(", 1538 | "kind": "f", 1539 | "menu": "info about concealing", 1540 | "info": "synconcealed({lnum}, {col}) List\n\ninfo about concealing" 1541 | }, 1542 | {"word": "synstack(", 1543 | "kind": "f", 1544 | "menu": "stack of syntax IDs at {lnum} and {col}", 1545 | "info": "synstack({lnum}, {col}) List\n\nstack of syntax IDs at {lnum} and {col}" 1546 | }, 1547 | {"word": "system(", 1548 | "kind": "f", 1549 | "menu": "output of shell command/filter {expr}", 1550 | "info": "system({expr} [, {input}]) String\n\noutput of shell command/filter {expr}" 1551 | }, 1552 | {"word": "systemlist(", 1553 | "kind": "f", 1554 | "menu": "output of shell command/filter {expr}", 1555 | "info": "systemlist({expr} [, {input}]) List\n\noutput of shell command/filter {expr}" 1556 | }, 1557 | {"word": "tabpagebuflist(", 1558 | "kind": "f", 1559 | "menu": "list of buffer numbers in tab page", 1560 | "info": "tabpagebuflist([{arg}]) List\n\nlist of buffer numbers in tab page" 1561 | }, 1562 | {"word": "tabpagenr(", 1563 | "kind": "f", 1564 | "menu": "number of current or last tab page", 1565 | "info": "tabpagenr([{arg}]) Number\n\nnumber of current or last tab page" 1566 | }, 1567 | {"word": "tabpagewinnr(", 1568 | "kind": "f", 1569 | "menu": "number of current window in tab page", 1570 | "info": "tabpagewinnr({tabarg} [, {arg}]) Number\n\nnumber of current window in tab page" 1571 | }, 1572 | {"word": "taglist(", 1573 | "kind": "f", 1574 | "menu": "list of tags matching {expr}", 1575 | "info": "taglist({expr} [, {filename}]) List\n\nlist of tags matching {expr}" 1576 | }, 1577 | {"word": "tagfiles()", 1578 | "kind": "f", 1579 | "menu": "tags files used", 1580 | "info": "tagfiles() List\n\ntags files used" 1581 | }, 1582 | {"word": "tan(", 1583 | "kind": "f", 1584 | "menu": "tangent of {expr}", 1585 | "info": "tan({expr}) Float\n\ntangent of {expr}" 1586 | }, 1587 | {"word": "tanh(", 1588 | "kind": "f", 1589 | "menu": "hyperbolic tangent of {expr}", 1590 | "info": "tanh({expr}) Float\n\nhyperbolic tangent of {expr}" 1591 | }, 1592 | {"word": "tempname()", 1593 | "kind": "f", 1594 | "menu": "name for a temporary file", 1595 | "info": "tempname() String\n\nname for a temporary file" 1596 | }, 1597 | {"word": "term_dumpdiff(", 1598 | "kind": "f", 1599 | "menu": "display difference between two dumps", 1600 | "info": "term_dumpdiff({filename}, {filename} [, {options}]) Number\n\ndisplay difference between two dumps" 1601 | }, 1602 | {"word": "term_dumpload(", 1603 | "kind": "f", 1604 | "menu": "displaying a screen dump", 1605 | "info": "term_dumpload({filename} [, {options}]) Number\n\ndisplaying a screen dump" 1606 | }, 1607 | {"word": "term_dumpwrite(", 1608 | "kind": "f", 1609 | "menu": "dump terminal window contents", 1610 | "info": "term_dumpwrite({buf}, {filename} [, {options}]) none\n\ndump terminal window contents" 1611 | }, 1612 | {"word": "term_getaltscreen(", 1613 | "kind": "f", 1614 | "menu": "get the alternate screen flag", 1615 | "info": "term_getaltscreen({buf}) Number\n\nget the alternate screen flag" 1616 | }, 1617 | {"word": "term_getattr(", 1618 | "kind": "f", 1619 | "menu": "get the value of attribute {what}", 1620 | "info": "term_getattr({attr}, {what}) Number\n\nget the value of attribute {what}" 1621 | }, 1622 | {"word": "term_getcursor(", 1623 | "kind": "f", 1624 | "menu": "get the cursor position of a terminal", 1625 | "info": "term_getcursor({buf}) List\n\nget the cursor position of a terminal" 1626 | }, 1627 | {"word": "term_getjob(", 1628 | "kind": "f", 1629 | "menu": "get the job associated with a terminal", 1630 | "info": "term_getjob({buf}) Job\n\nget the job associated with a terminal" 1631 | }, 1632 | {"word": "term_getline(", 1633 | "kind": "f", 1634 | "menu": "get a line of text from a terminal", 1635 | "info": "term_getline({buf}, {row}) String\n\nget a line of text from a terminal" 1636 | }, 1637 | {"word": "term_getscrolled(", 1638 | "kind": "f", 1639 | "menu": "get the scroll count of a terminal", 1640 | "info": "term_getscrolled({buf}) Number\n\nget the scroll count of a terminal" 1641 | }, 1642 | {"word": "term_getsize(", 1643 | "kind": "f", 1644 | "menu": "get the size of a terminal", 1645 | "info": "term_getsize({buf}) List\n\nget the size of a terminal" 1646 | }, 1647 | {"word": "term_getstatus(", 1648 | "kind": "f", 1649 | "menu": "get the status of a terminal", 1650 | "info": "term_getstatus({buf}) String\n\nget the status of a terminal" 1651 | }, 1652 | {"word": "term_gettitle(", 1653 | "kind": "f", 1654 | "menu": "get the title of a terminal", 1655 | "info": "term_gettitle({buf}) String\n\nget the title of a terminal" 1656 | }, 1657 | {"word": "term_gettty(", 1658 | "kind": "f", 1659 | "menu": "get the tty name of a terminal", 1660 | "info": "term_gettty({buf}, [{input}]) String\n\nget the tty name of a terminal" 1661 | }, 1662 | {"word": "term_list()", 1663 | "kind": "f", 1664 | "menu": "get the list of terminal buffers", 1665 | "info": "term_list() List\n\nget the list of terminal buffers" 1666 | }, 1667 | {"word": "term_scrape(", 1668 | "kind": "f", 1669 | "menu": "get row of a terminal screen", 1670 | "info": "term_scrape({buf}, {row}) List\n\nget row of a terminal screen" 1671 | }, 1672 | {"word": "term_sendkeys(", 1673 | "kind": "f", 1674 | "menu": "send keystrokes to a terminal", 1675 | "info": "term_sendkeys({buf}, {keys}) none\n\nsend keystrokes to a terminal" 1676 | }, 1677 | {"word": "term_start(", 1678 | "kind": "f", 1679 | "menu": "open a terminal window and run a job", 1680 | "info": "term_start({cmd}, {options}) Job\n\nopen a terminal window and run a job" 1681 | }, 1682 | {"word": "term_wait(", 1683 | "kind": "f", 1684 | "menu": "wait for screen to be updated", 1685 | "info": "term_wait({buf} [, {time}]) Number\n\nwait for screen to be updated" 1686 | }, 1687 | {"word": "test_alloc_fail(", 1688 | "kind": "f", 1689 | "menu": "make memory allocation fail", 1690 | "info": "test_alloc_fail({id}, {countdown}, {repeat}) none\n\nmake memory allocation fail" 1691 | }, 1692 | {"word": "test_autochdir()", 1693 | "kind": "f", 1694 | "menu": "enable 'autochdir' during startup", 1695 | "info": "test_autochdir() none\n\nenable 'autochdir' during startup" 1696 | }, 1697 | {"word": "test_feedinput()", 1698 | "kind": "f", 1699 | "menu": "add key sequence to input buffer", 1700 | "info": "test_feedinput() none\n\nadd key sequence to input buffer" 1701 | }, 1702 | {"word": "test_garbagecollect_now()", 1703 | "kind": "f", 1704 | "menu": "free memory right now for testing", 1705 | "info": "test_garbagecollect_now() none\n\nfree memory right now for testing" 1706 | }, 1707 | {"word": "test_ignore_error(", 1708 | "kind": "f", 1709 | "menu": "ignore a specific error", 1710 | "info": "test_ignore_error({expr}) none\n\nignore a specific error" 1711 | }, 1712 | {"word": "test_null_channel()", 1713 | "kind": "f", 1714 | "menu": "null value for testing", 1715 | "info": "test_null_channel() Channel\n\nnull value for testing" 1716 | }, 1717 | {"word": "test_null_dict()", 1718 | "kind": "f", 1719 | "menu": "null value for testing", 1720 | "info": "test_null_dict() Dict\n\nnull value for testing" 1721 | }, 1722 | {"word": "test_null_job()", 1723 | "kind": "f", 1724 | "menu": "null value for testing", 1725 | "info": "test_null_job() Job\n\nnull value for testing" 1726 | }, 1727 | {"word": "test_null_list()", 1728 | "kind": "f", 1729 | "menu": "null value for testing", 1730 | "info": "test_null_list() List\n\nnull value for testing" 1731 | }, 1732 | {"word": "test_null_partial()", 1733 | "kind": "f", 1734 | "menu": "null value for testing", 1735 | "info": "test_null_partial() Funcref\n\nnull value for testing" 1736 | }, 1737 | {"word": "test_null_string()", 1738 | "kind": "f", 1739 | "menu": "null value for testing", 1740 | "info": "test_null_string() String\n\nnull value for testing" 1741 | }, 1742 | {"word": "test_override(", 1743 | "kind": "f", 1744 | "menu": "test with Vim internal overrides", 1745 | "info": "test_override({expr}, {val}) none\n\ntest with Vim internal overrides" 1746 | }, 1747 | {"word": "test_settime(", 1748 | "kind": "f", 1749 | "menu": "set current time for testing", 1750 | "info": "test_settime({expr}) none\n\nset current time for testing" 1751 | }, 1752 | {"word": "timer_info(", 1753 | "kind": "f", 1754 | "menu": "information about timers", 1755 | "info": "timer_info([{id}]) List\n\ninformation about timers" 1756 | }, 1757 | {"word": "timer_pause(", 1758 | "kind": "f", 1759 | "menu": "pause or unpause a timer", 1760 | "info": "timer_pause({id}, {pause}) none\n\npause or unpause a timer" 1761 | }, 1762 | {"word": "timer_start(", 1763 | "kind": "f", 1764 | "menu": "create a timer", 1765 | "info": "timer_start({time}, {callback} [, {options}]) Number\n\ncreate a timer" 1766 | }, 1767 | {"word": "timer_stop(", 1768 | "kind": "f", 1769 | "menu": "stop a timer", 1770 | "info": "timer_stop({timer}) none\n\nstop a timer" 1771 | }, 1772 | {"word": "timer_stopall()", 1773 | "kind": "f", 1774 | "menu": "stop all timers", 1775 | "info": "timer_stopall() none\n\nstop all timers" 1776 | }, 1777 | {"word": "tolower(", 1778 | "kind": "f", 1779 | "menu": "the String {expr} switched to lowercase", 1780 | "info": "tolower({expr}) String\n\nthe String {expr} switched to lowercase" 1781 | }, 1782 | {"word": "toupper(", 1783 | "kind": "f", 1784 | "menu": "the String {expr} switched to uppercase", 1785 | "info": "toupper({expr}) String\n\nthe String {expr} switched to uppercase" 1786 | }, 1787 | {"word": "tr(", 1788 | "kind": "f", 1789 | "menu": "translate chars of {src} in {fromstr}to chars in {tostr}", 1790 | "info": "tr({src}, {fromstr}, {tostr}) String\n\ntranslate chars of {src} in {fromstr}to chars in {tostr}" 1791 | }, 1792 | {"word": "trunc(", 1793 | "kind": "f", 1794 | "menu": "truncate Float {expr}", 1795 | "info": "trunc({expr}) Float\n\ntruncate Float {expr}" 1796 | }, 1797 | {"word": "type(", 1798 | "kind": "f", 1799 | "menu": "type of variable {name}", 1800 | "info": "type({name}) Number\n\ntype of variable {name}" 1801 | }, 1802 | {"word": "undofile(", 1803 | "kind": "f", 1804 | "menu": "undo file name for {name}", 1805 | "info": "undofile({name}) String\n\nundo file name for {name}" 1806 | }, 1807 | {"word": "undotree()", 1808 | "kind": "f", 1809 | "menu": "undo file tree", 1810 | "info": "undotree() List\n\nundo file tree" 1811 | }, 1812 | {"word": "uniq(", 1813 | "kind": "f", 1814 | "menu": "remove adjacent duplicates from a list", 1815 | "info": "uniq({list} [, {func} [, {dict}]]) List\n\nremove adjacent duplicates from a list" 1816 | }, 1817 | {"word": "values(", 1818 | "kind": "f", 1819 | "menu": "values in {dict}", 1820 | "info": "values({dict}) List\n\nvalues in {dict}" 1821 | }, 1822 | {"word": "virtcol(", 1823 | "kind": "f", 1824 | "menu": "screen column of cursor or mark", 1825 | "info": "virtcol({expr}) Number\n\nscreen column of cursor or mark" 1826 | }, 1827 | {"word": "visualmode(", 1828 | "kind": "f", 1829 | "menu": "last visual mode used", 1830 | "info": "visualmode([expr]) String\n\nlast visual mode used" 1831 | }, 1832 | {"word": "wildmenumode()", 1833 | "kind": "f", 1834 | "menu": "whether 'wildmenu' mode is active", 1835 | "info": "wildmenumode() Number\n\nwhether 'wildmenu' mode is active" 1836 | }, 1837 | {"word": "win_findbuf(", 1838 | "kind": "f", 1839 | "menu": "find windows containing {bufnr}", 1840 | "info": "win_findbuf({bufnr}) List\n\nfind windows containing {bufnr}" 1841 | }, 1842 | {"word": "win_getid(", 1843 | "kind": "f", 1844 | "menu": "get window ID for {win} in {tab}", 1845 | "info": "win_getid([{win} [, {tab}]]) Number\n\nget window ID for {win} in {tab}" 1846 | }, 1847 | {"word": "win_gotoid(", 1848 | "kind": "f", 1849 | "menu": "go to window with ID {expr}", 1850 | "info": "win_gotoid({expr}) Number\n\ngo to window with ID {expr}" 1851 | }, 1852 | {"word": "win_id2tabwin(", 1853 | "kind": "f", 1854 | "menu": "get tab and window nr from window ID", 1855 | "info": "win_id2tabwin({expr}) List\n\nget tab and window nr from window ID" 1856 | }, 1857 | {"word": "win_id2win(", 1858 | "kind": "f", 1859 | "menu": "get window nr from window ID", 1860 | "info": "win_id2win({expr}) Number\n\nget window nr from window ID" 1861 | }, 1862 | {"word": "win_screenpos(", 1863 | "kind": "f", 1864 | "menu": "get screen position of window {nr}", 1865 | "info": "win_screenpos({nr}) List\n\nget screen position of window {nr}" 1866 | }, 1867 | {"word": "winbufnr(", 1868 | "kind": "f", 1869 | "menu": "buffer number of window {nr}", 1870 | "info": "winbufnr({nr}) Number\n\nbuffer number of window {nr}" 1871 | }, 1872 | {"word": "wincol()", 1873 | "kind": "f", 1874 | "menu": "window column of the cursor", 1875 | "info": "wincol() Number\n\nwindow column of the cursor" 1876 | }, 1877 | {"word": "winheight(", 1878 | "kind": "f", 1879 | "menu": "height of window {nr}", 1880 | "info": "winheight({nr}) Number\n\nheight of window {nr}" 1881 | }, 1882 | {"word": "winline()", 1883 | "kind": "f", 1884 | "menu": "window line of the cursor", 1885 | "info": "winline() Number\n\nwindow line of the cursor" 1886 | }, 1887 | {"word": "winnr(", 1888 | "kind": "f", 1889 | "menu": "number of current window", 1890 | "info": "winnr([{expr}]) Number\n\nnumber of current window" 1891 | }, 1892 | {"word": "winrestcmd()", 1893 | "kind": "f", 1894 | "menu": "returns command to restore window sizes", 1895 | "info": "winrestcmd() String\n\nreturns command to restore window sizes" 1896 | }, 1897 | {"word": "winrestview(", 1898 | "kind": "f", 1899 | "menu": "restore view of current window", 1900 | "info": "winrestview({dict}) none\n\nrestore view of current window" 1901 | }, 1902 | {"word": "winsaveview()", 1903 | "kind": "f", 1904 | "menu": "save view of current window", 1905 | "info": "winsaveview() Dict\n\nsave view of current window" 1906 | }, 1907 | {"word": "winwidth(", 1908 | "kind": "f", 1909 | "menu": "width of window {nr}", 1910 | "info": "winwidth({nr}) Number\n\nwidth of window {nr}" 1911 | }, 1912 | {"word": "wordcount()", 1913 | "kind": "f", 1914 | "menu": "get byte/char/word statistics", 1915 | "info": "wordcount() Dict\n\nget byte/char/word statistics" 1916 | }, 1917 | {"word": "writefile(", 1918 | "kind": "f", 1919 | "menu": "write list of lines to file {fname}", 1920 | "info": "writefile({list}, {fname} [, {flags}]) Number\n\nwrite list of lines to file {fname}" 1921 | }, 1922 | {"word": "xor(", 1923 | "kind": "f", 1924 | "menu": "bitwise XOR", 1925 | "info": "xor({expr}, {expr}) Number\n\nbitwise XOR" 1926 | }] --------------------------------------------------------------------------------