import * as denopsStd from "https://deno.land/x/denops_std@v6.4.0/option/vim/mod.ts";
A module to provide accessors of Vim native options.
import type { Denops } from "https://deno.land/x/denops_std@v6.4.0/mod.ts";
import * as vimOp from "https://deno.land/x/denops_std@v6.4.0/option/vim/mod.ts";
export async function main(denops: Denops): Promise<void> {
// vimOp has options only exist in Vim
console.log(await vimOp.compatible.get(denops));
}
Variables
The ASCII code for the first letter of the Hebrew alphabet. The
routine that maps the keyboard in Hebrew mode, both in Insert mode
(when hkmap is set) and on the command-line (when hitting CTRL-_)
outputs the Hebrew characters in the range [aleph..aleph+26].
aleph=128 applies to PC code, and aleph=224 applies to ISO 8859-8.
See | |
This option was for using Farsi, which has been removed. See
| |
This option only has an effect in the GUI version of Vim on macOS v10.2 or later. When on, Vim will use smooth ("antialiased") fonts, which can be easier to read at certain sizes on certain displays. Setting this option can sometimes cause problems if 'guifont' is set to its default (empty string). NOTE: This option is reset when 'compatible' is set. | |
When on, Vim will change the current working directory whenever you change the directory of the shell running in a terminal window. You need proper setting-up, so whenever the shell's pwd changes an OSC 7 escape sequence will be emitted. For example, on Linux, you can source /etc/profile.d/vte.sh in your shell profile if you use bash or zsh. For bash this should work (put it in a bash init file): | |
Delay in milliseconds before a balloon may pop up. See | |
Switch on the | |
Switch on the | |
Expression for text to show in evaluation balloon. It is only used when 'ballooneval' or 'balloonevalterm' is on. These variables can be used: | |
This was for MS-DOS and is no longer supported. | |
This option has the effect of making Vim either more Vi-compatible, or make Vim behave in a more useful way. | |
When 'completeopt' contains "popup" then this option is used for the
properties of the info popup when it is created. If an info popup
window already exists it is closed, so that the option value is
applied when it is created again.
You can also use | |
This was for MS-DOS and is no longer supported. | |
Method used for encryption when the buffer is written to a file: | |
Determines how many components of the path to show in a list of tags.
See | |
Specifies the command to execute cscope. See | |
Specifies whether to use quickfix window to show cscope results.
See | |
In the absence of a prefix (-P) for cscope. setting this option enables
to use the basename of cscope.out path as the prefix.
See | |
Use cscope for tag commands. See | |
Determines the order in which ":cstag" performs a search. See
| |
Give messages when adding a cscope database. See | |
Makes the 'g' and 'c' flags of the ":substitute" command to be
toggled each time the flag is given. See | |
Function keys that start with an | |
This option was for using Farsi, which has been removed. See
| |
not available in the GTK+ GUI
When not empty, specifies two (or more) fonts to be used. The first
one for normal English, the second one for your special language. See
| |
The number of pixels subtracted from the screen height when fitting
the GUI window on the screen. Set this before the GUI is started,
e.g., in your | |
List of ASCII characters that, when combined together, can create more complex shapes. Each character must be a printable ASCII character with a value in the 32-127 range. Example: | |
Only in the GUI: If on, an attempt is made to open a pseudo-tty for
I/O to/from shell commands. See | |
This option can be used to set highlighting mode for various
occasions. It is a comma-separated list of character pairs. The
first character in a pair gives the occasion, the second the mode to
use for that occasion. The occasions are:
| |
When on, the keyboard is mapped for the Hebrew character set.
Normally you would set 'allowrevins' and use CTRL-_ in insert mode to
toggle this option. See | |
When on, phonetic keyboard mapping is used. 'hkmap' must also be on.
This is useful if you have a non-Hebrew keyboard.
See | |
This option specifies a function that will be called to
activate or deactivate the Input Method. The value can be the name of
a function, a | |
only available when compiled with | |
This option specifies a function that is called to obtain the status
of Input Method. It must return a positive number when IME is active.
The value can be the name of a function, a | |
This option specifies the input style of Input Method:
0 use on-the-spot style
1 over-the-spot style
See: | |
Makes Vim work in a way that Insert mode is the default mode. Useful
if you want to use Vim as a modeless editor. Used for
| |
v key | The key that is used for encrypting and decrypting the current buffer.
See |
Specifies what keyboard protocol to use depending on the value of 'term'. The supported keyboard protocols names are: none whatever the terminal uses mok2 modifyOtherKeys level 2, as supported by xterm kitty Kitty keyboard protocol, as supported by Kitty | |
This is just like 'langremap' but with the value inverted. It only exists for backwards compatibility. When setting 'langremap' then 'langnoremap' is set to the inverted value, and the other way around. | |
Specifies the name of the Lua shared library. The default is
DYNAMIC_LUA_DLL, which was specified at compile time.
Environment variables are expanded | |
No longer supported, as the Mac OS X GUI code was removed. | |
The maximum number of combining characters supported for displaying.
Only used when 'encoding' is "utf-8".
The default is OK for most languages. Hebrew may require 4.
Maximum value is 6.
Even when this option is set to 2 you can still edit text with more
combining characters, you just can't see them. Use | |
Maximum amount of memory (in Kbyte) to use for one buffer. When this limit is reached allocating extra memory for a buffer will cause other memory to be freed. The maximum usable value is about 2000000. Use this to work without a limit. The value is ignored when 'swapfile' is off. Also see 'maxmemtot'. | |
Maximum amount of memory in Kbyte to use for all buffers together. The maximum usable value is about 2000000 (2 Gbyte). Use this to work without a limit. On 64 bit machines higher values might work. But hey, do you really need more than 2 Gbyte for text editing? Keep in mind that text is stored in the swap file, one can edit files > 2 Gbyte anyway. We do need the memory to store undo info. Buffers with 'swapfile' off still count to the total amount of memory used. Also see 'maxmem'. | |
The number of milliseconds between polls for MzScheme threads. Negative or zero value means no thread scheduling. NOTE: This option is set to the Vim default value when 'compatible' is reset. | |
Specifies the name of the MzScheme shared library. The default is
DYNAMIC_MZSCH_DLL which was specified at compile time.
Environment variables are expanded | |
Specifies the name of the MzScheme GC shared library. The default is
DYNAMIC_MZGC_DLL which was specified at compile time.
The value can be equal to 'mzschemedll' if it includes the GC code.
Environment variables are expanded | |
This option was supported on RISC OS, which has been removed. | |
Put Vim in Paste mode. This is useful if you want to cut or copy some text from one window and paste it in Vim. This will avoid unexpected effects. Setting this option is useful when using Vim in a terminal, where Vim cannot distinguish between typed text and pasted text. In the GUI, Vim knows about pasting and will mostly do the right thing without 'paste' being set. The same is true for a terminal where Vim handles the mouse clicks itself. This option is reset when starting the GUI. Thus if you set it in your .vimrc it will work in a terminal, but not in the GUI. Setting 'paste' in the GUI has side effects: e.g., the Paste toolbar button will no longer work in Insert mode, because it uses a mapping. When the 'paste' option is switched on (also when it was already on): - mapping in Insert mode and Command-line mode is disabled - abbreviations are disabled - 'autoindent' is reset - 'expandtab' is reset - 'hkmap' is reset - 'revins' is reset - 'ruler' is reset - 'showmatch' is reset - 'smarttab' is reset - 'softtabstop' is set to 0 - 'textwidth' is set to 0 - 'wrapmargin' is set to 0 - 'varsofttabstop' is made empty These options keep their value, but their effect is disabled: - 'cindent' - 'formatoptions' is used like it is empty - 'indentexpr' - 'lisp' - 'smartindent' NOTE: When you start editing another file while the 'paste' option is on, settings from the modelines or autocommands may change the settings again, causing trouble when pasting text. You might want to set the 'paste' option again. When the 'paste' option is reset the mentioned options are restored to the value before the moment 'paste' was switched from off to on. Resetting 'paste' before ever setting it does not have any effect. Since mapping doesn't work while 'paste' is active, you need to use the 'pastetoggle' option to toggle the 'paste' option with some key. | |
When non-empty, specifies the key sequence that toggles the 'paste' option. This is like specifying a mapping: | |
Specifies the name of the Perl shared library. The default is
DYNAMIC_PERL_DLL, which was specified at compile time.
Environment variables are expanded | |
When not empty a popup window is used for commands that would open a
preview window. See | |
The name of the printer to be used for | |
Sets the character encoding used when printing.
See | |
Expression used to print the PostScript produced with | |
The name of the font that will be used for | |
The format of the header produced in | |
The CJK character set to be used for CJK output from | |
List of font names to be used for CJK output from | |
List of items that control the format of the output of | |
When on a ":" prompt is used in Ex mode. | |
Specifies the name of the Python 2.x shared library. The default is
DYNAMIC_PYTHON_DLL, which was specified at compile time.
Environment variables are expanded | |
Specifies the name of the Python 2.x home directory. When 'pythonhome'
and the PYTHONHOME environment variable are not set, PYTHON_HOME,
which was specified at compile time, will be used for the Python 2.x
home directory.
Environment variables are expanded | |
Specifies the name of the Python 3 shared library. The default is
DYNAMIC_PYTHON3_DLL, which was specified at compile time.
Environment variables are expanded | |
Specifies the name of the Python 3 home directory. When
'pythonthreehome' and the PYTHONHOME environment variable are not set,
PYTHON3_HOME, which was specified at compile time, will be used for
the Python 3 home directory.
Environment variables are expanded | |
Allows for mappings to work recursively. If you do not want this for a single entry, use the :noremap[!] command. NOTE: To avoid portability problems with Vim scripts, always keep this option at the default "on". Only switch it off when working with old Vi scripts. | |
Select a text renderer and set its options. The options depend on the renderer. | |
When set, the screen contents is restored when exiting Vim. This also happens when executing external commands. | |
Specifies the name of the Ruby shared library. The default is
DYNAMIC_RUBY_DLL, which was specified at compile time.
Environment variables are expanded | |
When using the scroll wheel and this option is set, the window under the mouse pointer is scrolled. With this option off the current window is scrolled. Systems other than MS-Windows always behave like this option is on. | |
When on, ":autocmd", shell and write commands are not allowed in
".vimrc" and ".exrc" in the current directory and map commands are
displayed. Switch it off only if you know that you will not run into
problems, or when the 'exrc' option is off. On Unix this option is
only used if the ".vimrc" or ".exrc" is not owned by you. This can be
dangerous if the systems allows users to do a "chown". You better set
'secure' at the end of your | |
On the Amiga this option influences the way how the commands work which use a shell. 0 and 1: always use the shell 2 and 3: use the shell only to filter lines 4 and 5: use shell only for ':sh' command When not using the shell, the command is executed directly. | |
Filenames are assumed to be 8 characters plus one extension of 3
characters. Multiple dots in file names are not allowed. When this
option is on, dots in file names are replaced with underscores when
adding an extension ( | |
Scrolling works with screen lines. When 'wrap' is set and the first
line in the window wraps part of it may not be visible, as if it is
above the window. | |
When this option is not empty a swap file is synced to disk after writing to it. This takes some time, especially on busy unix systems. When this option is empty parts of the swap file may be in memory and not written to disk. When the system crashes you may lose more work. On Unix the system does a sync now and then without Vim asking for it, so the disadvantage of setting this option off is small. On some systems the swap file will not be written at all. For a unix system setting it to "sync" will use the sync() call instead of the default fsync(), which may work better on some systems. The 'fsync' option is used for the actual file. | |
Specifies the name of the Tcl shared library. The default is
DYNAMIC_TCL_DLL, which was specified at compile time.
Environment variables are expanded | |
v term | Name of the terminal. Used for choosing the terminal control
characters. Environment variables are expanded |
Encoding used for the terminal. This specifies what character encoding the keyboard produces and the display will understand. For the GUI it only applies to the keyboard ('encoding' is used for the display). | |
The key that starts a CTRL-W command in a terminal window. Other keys
are sent to the job running in the window.
The | |
Number of scrollback lines to keep. When going over this limit the
first 10% of the scrollback lines are deleted. This is just to reduce
the memory usage. See | |
Size used when opening the
| |
Specify the virtual console (pty) used when opening the terminal window. | |
When set: Add 's' flag to 'shortmess' option (this makes the message for a search that hits the start or end of the file not being displayed). When reset: Remove 's' flag from 'shortmess' option. Vi shortens a lot of messages | |
This option is obsolete. Use 'fileformats'. For backwards compatibility, when 'textauto' is set, 'fileformats' is set to the default value for the current system. When 'textauto' is reset, 'fileformats' is made empty. NOTE: This option is set to the Vi default value when 'compatible' is set and to the Vim default value when 'compatible' is reset. | |
This option is obsolete. Use 'fileformat'. For backwards compatibility, when 'textmode' is set, 'fileformat' is set to "dos". When 'textmode' is reset, 'fileformat' is set to "unix". | |
The contents of this option controls various toolbar settings. The possible values are: icons Toolbar buttons are shown with icons. text Toolbar buttons shown with text. horiz Icon and text of a toolbar button are horizontally arranged. only in GTK+ 2 GUI tooltips Tooltips are active for toolbar buttons. Tooltips refer to the popup help text which appears after the mouse cursor is placed over a toolbar button for a brief moment. | |
Controls the size of toolbar icons. The possible values are: tiny Use tiny icons. small Use small icons (default). medium Use medium-sized icons. large Use large icons. huge Use even larger icons. giant Use very big icons. The exact dimensions in pixels of the various icon sizes depend on the current theme. Common dimensions are giant=48x48, huge=32x32, large=24x24, medium=24x24, small=20x20 and tiny=16x16. | |
When on, the builtin termcaps are searched before the external ones. When off the builtin termcaps are searched after the external ones. When this option is changed, you should set the 'term' option next for the change to take effect, for example: | |
Indicates a fast terminal connection. More characters will be sent to the screen for redrawing, instead of using insert/delete line commands. Improves smoothness of redrawing when there are multiple windows and the terminal does not support a scrolling region. Also enables the extra writing of characters at the end of each screen line for lines that wrap. This helps when using copy/paste with the mouse in an xterm and other terminals. | |
Name of the terminal type for which mouse codes are to be recognized. Currently these strings are valid: | |
Maximum number of lines to scroll the screen. If there are more lines to scroll the window is redrawn. For terminals where scrolling is very slow and redrawing is not slow this can be set to a small number, e.g., 3, to speed up displaying. | |
Alias for 'term', see above. | |
When non-empty, the viminfo file is read upon startup and written
when exiting Vim (see | |
When non-empty, overrides the file name used for viminfo.
When equal to "NONE" no viminfo file will be read or written.
This option can be set with the | |
This option has the same effect as the 't_xs' terminal option. It is provided for backwards compatibility with version 4.x. Setting 'weirdinvert' has the effect of making 't_xs' non-empty, and vice versa. Has no effect when the GUI is running. | |
Highlight group name to use for this window instead of the Normal
color | |
Specifies the name of the winpty shared library, used for the
| |
When detecting xterm patchlevel 141 or higher with the termresponse
mechanism and this option is set, Vim will request the actual terminal
key codes and number of colors from the terminal. This takes care of
various configuration options of the terminal that cannot be obtained
from the termlib/terminfo entry, see |