Skip to main content
Using Deno in production at your company? Earn free Deno merch.
Give us feedback
Module

x/denops_std/option/nvim/mod.ts>shada

📚 Standard module for denops.vim
Go to Latest
variable shada
import { shada } from "https://deno.land/x/denops_std@v4.1.7/option/nvim/mod.ts";

When non-empty, the shada file is read upon startup and written when exiting Vim (see shada-file). The string should be a comma- separated list of parameters, each consisting of a single character identifying the particular parameter, followed by a number or string which specifies the value of that parameter. If a particular character is left out, then the default value is used for that parameter. The following is a list of the identifying characters and the effect of their value. CHAR VALUE

! When included, save and restore global variables that start with an uppercase letter, and don't contain a lowercase letter. Thus "KEEPTHIS and "K_L_M" are stored, but "KeepThis" and "_K_L_M" are not. Nested List and Dict items may not be read back correctly, you end up with an empty item.

" Maximum number of lines saved for each register. Old name of the '<' item, with the disadvantage that you need to put a backslash before the ", otherwise it will be recognized as the start of a comment!

% When included, save and restore the buffer list. If Vim is started with a file name argument, the buffer list is not restored. If Vim is started without a file name argument, the buffer list is restored from the shada file. Quickfix ('buftype'), unlisted ('buflisted'), unnamed and buffers on removable media (shada-r) are not saved. When followed by a number, the number specifies the maximum number of buffers that are stored. Without a number all buffers are stored.

' Maximum number of previously edited files for which the marks are remembered. This parameter must always be included when 'shada' is non-empty. Including this item also means that the jumplist and the changelist are stored in the shada file.

/ Maximum number of items in the search pattern history to be saved. If non-zero, then the previous search and substitute patterns are also saved. When not included, the value of 'history' is used.
  Maximum number of items in the command-line history to be
  saved.  When not included, the value of 'history' is used.

< Maximum number of lines saved for each register. If zero then registers are not saved. When not included, all lines are saved. '"' is the old name for this item. Also see the 's' item below: limit specified in KiB.

@ Maximum number of items in the input-line history to be saved. When not included, the value of 'history' is used.

c Dummy option, kept for compatibility reasons. Has no actual effect: ShaDa always uses UTF-8 and 'encoding' value is fixed to UTF-8 as well.

f Whether file marks need to be stored. If zero, file marks ('0 to '9, 'A to 'Z) are not stored. When not present or when non-zero, they are all stored. '0 is used for the current cursor position (when exiting or when doing :wshada).

h Disable the effect of 'hlsearch' when loading the shada file. When not included, it depends on whether ":nohlsearch" has been used since the last search command.

n Name of the shada file. The name must immediately follow the 'n'. Must be at the end of the option! If the 'shadafile' option is set, that file name overrides the one given here with 'shada'. Environment variables are expanded when opening the file, not when setting the option.

r Removable media. The argument is a string (up to the next ','). This parameter can be given several times. Each specifies the start of a path for which no marks will be stored. This is to avoid removable media. For Windows you could use "ra:,rb:". You can also use it for temp files, e.g., for Unix: "r/tmp". Case is ignored.

s Maximum size of an item contents in KiB. If zero then nothing is saved. Unlike Vim this applies to all items, except for the buffer list and header. Full item size is off by three unsigned integers: with s10 maximum item size may be 1 byte (type: 7-bit integer) + 9 bytes (timestamp: up to 64-bit integer) + 3 bytes (item size: up to 16-bit integer because 28 < 10240 < 216) + 10240 bytes (requested maximum item contents size) = 10253 bytes.

Example:

:set shada='50,<1000,s100,:0,n~/nvim/shada

'50 Marks will be remembered for the last 50 files you edited. <1000 Contents of registers (up to 1000 lines each) will be remembered. s100 Items with contents occupying more then 100 KiB are skipped. :0 Command-line history will not be saved. n~/nvim/shada The name of the file to use is "~/nvim/shada". no / Since '/' is not specified, the default will be used, that is, save all of the search history, and also the previous search and substitute patterns. no % The buffer list will not be saved nor read back. no h 'hlsearch' highlighting will be restored.

When setting 'shada' from an empty value you can use :rshada to load the contents of the file, this is not done automatically.

This option cannot be set from a modeline or in the sandbox, for security reasons.

(default for Win32: !,'100,<50,s10,h,rA:,rB: others: !,'100,<50,s10,h)

type

{ get(denops: Denops): Promise<string>; set(denops: Denops, value: string): Promise<void>; reset(denops: Denops): Promise<void>; getGlobal(denops: Denops): Promise<string>; setGlobal(denops: Denops, value: string): Promise<void>; resetGlobal(denops: Denops): Promise<void>; }