Skip to content

Instantly share code, notes, and snippets.

@echasnovski
Last active May 22, 2023 17:28
Show Gist options
  • Save echasnovski/fa70dc75c475369747d2a485a13303fb to your computer and use it in GitHub Desktop.
Save echasnovski/fa70dc75c475369747d2a485a13303fb to your computer and use it in GitHub Desktop.
Results of Neovim built-in options survey

This Gist contains results of Neovim built-in options survey. Users were asked to execute certain script (see 'neovim-survey_script.lua') and upload text it produced (comma-separated table of all options which differ from default, plus neovim version and leader key).

There were total 227 legible answers provided for period from 2022-11-22 to 2022-12-08.

Here is a link to Reddit announcement

File description:

  • neovim-survey-summary_01_main.md contains main interesting results of this survey:

    • Table with most common (more than 25%) non-default option values.
    • Plot summarizing basic Neovim built-in options in more detail.
  • neovim-survey-summary_02_all.csv has a comma-separated table with counts and rounded percents of all supplied options (counts for default values were inferred inside analysis script). There are rather long option values, which together with GitHub Gists special treatment of csv files make it harder to see. Use "Search this file..." to find options you are interested in, or view raw file (click "Raw"). Raw results (as downloaded from Google Forms) are not made public due to respondents anonymity concerns.

    Notes:

    • Columns are "option" (option name), "value" (option value), "n" (number of answers supplied this option value), "percent" (rounded percentage of this option value among all answers capable of supplying this option, i.e. have the right Neovim version).
    • Value *default* means a default value for that particular option.
  • neovim-survey-summary_03_separated-listoptions.csv has a comma-separated table with counts of sub-values of "list options". That is, options which can contain several values separated with comma ("comma list options", like 'listchars') or as a separate flags ("flag list options", like 'shortmess').

  • neovim-survey_future-notes.md - some personal notes about pitfalls of this survey which can be avoided in the future.

  • neovim-survey_process.R - R code used to read, process, and analyse results extracted from Google Form.

  • neovim-survey_script.lua - original script used for collecting survey answers.

A table with top non-default options:

Option Value Number of answers Percent
termguicolors true 216 95%
helplang en 200 88%
number true 196 86%
expandtab true 187 83%
ignorecase true 185 81%
smartcase true 183 81%
splitright true 161 71%
splitbelow true 155 68%
cursorline true 150 66%
leader <Space> 150 66%
undofile true 147 65%
relativenumber true 135 59%
mouse a 132 58%
showmode false 129 57%
statusline %#Normal# 126 56%
laststatus 3 123 54%
signcolumn yes 106 47%
wrap false 105 46%
tabstop 4 103 45%
clipboard unnamedplus 101 44%
list true 101 44%
shiftwidth 4 101 45%
shiftwidth 2 96 42%
showtabline 2 96 42%
smartindent true 94 41%
tabstop 2 91 40%
linebreak true 78 34%
breakindent true 67 30%
softtabstop 4 64 28%
lazyredraw true 60 26%
updatetime 300 60 27%
completeopt "menu,menuone,noselect" 57 25%

Plot with more detailed summaries of some basic (hand picked) options:

Summary plot

option value n percent
autochdir *default* 224 99%
autochdir true 3 1%
autoindent *default* 226 100%
autoindent false 1 0%
autoread *default* 225 99%
autoread false 2 1%
autowrite *default* 212 93%
autowrite true 15 7%
autowriteall *default* 222 98%
autowriteall true 5 2%
background *default* 208 92%
background light 18 8%
background 1 0%
backspace *default* 216 95%
backspace 2 4 2%
backspace eol,start,indent 4 2%
backspace indent,eol,start,nostop 2 1%
backspace 3 1 0%
backup *default* 207 91%
backup true 20 9%
backupcopy *default* 218 96%
backupcopy yes 8 4%
backupcopy auto,breakhardlink 1 0%
backupext *default* 225 99%
backupext ~%projects%lazy.nvim 1 0%
backupext ~~tmp~~2022-11-24-21-0 1 1%
belloff *default* 226 100%
belloff cursor 1 0%
breakat *default* 222 98%
breakat 1 0%
breakat \t!@*-+;:,./=&? 1 0%
breakat ^I!@*;:,./?(= 1 0%
breakat ,!:\\ \t? 1 1%
breakat \\ \\\t;:,!? 1 1%
breakindent *default* 160 70%
breakindent true 67 30%
breakindentopt *default* 211 93%
breakindentopt sbr 3 1%
breakindentopt shift:2 3 1%
breakindentopt shift:2,min:20 3 1%
breakindentopt list:-1 1 0%
breakindentopt min:60 1 0%
breakindentopt sbr,shift:2 1 0%
breakindentopt shift:1,sbr 1 1%
breakindentopt shift:2,list:-1,min:30 1 1%
breakindentopt shift:4 1 1%
breakindentopt shift:4,sbr 1 1%
cedit *default* 226 100%
cedit \15 1 0%
cindent *default* 219 96%
cindent true 8 4%
cinoptions *default* 226 100%
cinoptions g0,N-s,E-s 1 0%
clipboard unnamedplus 101 44%
clipboard *default* 101 45%
clipboard unnamed 15 7%
clipboard unnamed,unnamedplus 7 3%
clipboard unnamedplus,unnamed 3 1%
cmdheight *default* 146 64%
cmdheight 0 56 25%
cmdheight 2 25 11%
cmdwinheight *default* 223 98%
cmdwinheight 5 3 1%
cmdwinheight 1 1 1%
colorcolumn *default* 152 67%
colorcolumn 80 17 8%
colorcolumn +1 13 6%
colorcolumn 100 7 3%
colorcolumn 120 7 3%
colorcolumn 99999 5 2%
colorcolumn 80,100 4 2%
colorcolumn 90 4 2%
colorcolumn 81 3 1%
colorcolumn 0 2 1%
colorcolumn 79 2 1%
colorcolumn 80,120 2 1%
colorcolumn +1,120 1 0%
colorcolumn 140 1 0%
colorcolumn 140,160 1 0%
colorcolumn 160 1 0%
colorcolumn 32,72,80,120 1 0%
colorcolumn 66 1 0%
colorcolumn 81,101 1 1%
colorcolumn 81,121 1 1%
colorcolumn 89 1 1%
comments *default* 218 96%
comments s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-,b:#,b:#: 8 4%
comments ://,b:#,b:#: 1 0%
commentstring *default* 225 99%
commentstring # %s 2 1%
complete *default* 210 93%
complete .,w,b,u,t,kspell 3 1%
complete 2 1%
complete .,kspell 2 1%
complete .,w,b,k 2 1%
complete .,w,b,u 2 1%
complete . 1 0%
complete .,b,u 1 0%
complete .,w 1 0%
complete .,w,b,i,u,t, 1 0%
complete .,w,b,t 1 1%
complete .,w,b,u,kspell 1 1%
completefunc *default* 221 98%
completefunc v:lua.COQ.Omnifunc 3 1%
completefunc v:lua.MiniCompletion.completefunc_lsp 3 1%
completeopt *default* 69 31%
completeopt menu,menuone,noselect 57 25%
completeopt menuone,noselect 44 20%
completeopt menuone,noinsert,noselect 18 8%
completeopt menu,menuone 5 2%
completeopt menu 3 1%
completeopt menu,menuone,noinsert,noselect 3 1%
completeopt menuone,noselect,noinsert 3 1%
completeopt menu,menuone,noinsert 2 1%
completeopt menu,menuone,noselect,preview 2 1%
completeopt menu,preview,noinsert,menuone,noselect 2 1%
completeopt menuone 2 1%
completeopt menuone,longest 2 1%
completeopt longest 1 0%
completeopt longest,menu 1 0%
completeopt longest,menuone,noselect,noinsert,menuone,noselect 1 0%
completeopt menu,longest 1 0%
completeopt menu,menuone,noselect,noinsert 1 0%
completeopt menu,menuone,preview,noselect 1 0%
completeopt menu,noinsert,menuone,noselect 1 0%
completeopt menu,noselect 1 0%
completeopt menu,preview,menuone 1 0%
completeopt menuone,noinsert 1 1%
completeopt menuone,noinsert,noselect,preview 1 1%
completeopt menuone,noselect,menu 1 1%
completeopt menuone,noselect,noinsert,noinsert,menuone,noselect 1 1%
completeopt menuone,preview 1 1%
completeopt noselect,noinsert,menuone,preview 1 1%
concealcursor *default* 212 94%
concealcursor nc 5 2%
concealcursor inc 3 1%
concealcursor n 3 1%
concealcursor niv 2 1%
concealcursor i 1 0%
concealcursor ic 1 1%
conceallevel *default* 196 86%
conceallevel 2 27 12%
conceallevel 3 3 1%
conceallevel 1 1 1%
confirm *default* 202 89%
confirm true 25 11%
copyindent *default* 220 97%
copyindent true 7 3%
cpoptions *default* 222 98%
cpoptions _aABesFnc 1 0%
cpoptions _FcnaesBA 1 0%
cpoptions aABceFs 1 0%
cpoptions aABceFs_n 1 1%
cpoptions eFs_ncaAB 1 1%
cursorcolumn *default* 215 95%
cursorcolumn true 12 5%
cursorline true 150 66%
cursorline *default* 77 34%
cursorlineopt *default* 215 95%
cursorlineopt number 8 4%
cursorlineopt line 1 0%
cursorlineopt number,screenline 1 0%
cursorlineopt screenline 1 0%
cursorlineopt screenline,number 1 1%
define *default* 225 99%
define 2 1%
diffopt *default* 173 77%
diffopt internal,filler,closeoff,linematch:60 9 4%
diffopt internal,filler,closeoff,vertical 4 2%
diffopt internal,filler,closeoff,algorithm:patience 2 1%
diffopt internal,filler,closeoff,algorithm:patience,indent-heuristic 2 1%
diffopt vertical 2 1%
diffopt vertical,filler,closeoff,context:3,internal,indent-heuristic,algorithm:histogram 2 1%
diffopt filler,internal,algorithm:histogram,indent-heuristic 1 0%
diffopt filler,internal,algorithm:histogram,indent-heuristic,vertical 1 0%
diffopt filler,internal,algorithm:patience,indent-heuristic,closeoff,iwhite 1 0%
diffopt filler,iwhite 1 0%
diffopt filler,iwhite,internal,algorithm:patience 1 0%
diffopt filler,vertical,iwhite 1 0%
diffopt hiddenoff,iwhiteall,algorithm:patience 1 0%
diffopt internal,filler,algorithm:patience,indent-heuristic,closeoff,linematch:120 1 0%
diffopt internal,filler,closeoff,algorithm:histogram,indent-heuristic,linematch:60 1 0%
diffopt internal,filler,closeoff,algorithm:histogram,iwhite,indent-heuristic,vertical,linematch:60 1 0%
diffopt internal,filler,closeoff,algorithm:patience,indent-heuristic,vertical 1 0%
diffopt internal,filler,closeoff,algorithm:patience,indent-heuristic,vertical,context:3 1 0%
diffopt internal,filler,closeoff,algorithm:patience,iwhite 1 0%
diffopt internal,filler,closeoff,algorithm:patience,vertical 1 0%
diffopt internal,filler,closeoff,context:0,indent-heuristic,hiddenoff,foldcolumn:1,algorithm:patience 1 0%
diffopt internal,filler,closeoff,context:3 1 0%
diffopt internal,filler,closeoff,context:5,vertical,linematch:100 1 0%
diffopt internal,filler,closeoff,hiddenoff,algorithm:minimal 1 0%
diffopt internal,filler,closeoff,hiddenoff,algorithm:minimal,linematch:60 1 0%
diffopt internal,filler,closeoff,horizontal 1 0%
diffopt internal,filler,closeoff,internal,algorithm:patience,vertical 1 1%
diffopt internal,filler,closeoff,iwhite 1 1%
diffopt internal,filler,closeoff,iwhite,internal,algorithm:patience,linematch:60 1 1%
diffopt internal,filler,closeoff,linematch:50 1 1%
diffopt internal,filler,closeoff,linematch:75 1 1%
diffopt internal,filler,closeoff,vertical,algorithm:histogram,indent-heuristic 1 1%
diffopt internal,filler,closeoff,vertical,algorithm:histogram,indent-heuristic,hiddenoff 1 1%
diffopt internal,filler,closeoff,vertical,algorithm:histogram,indent-heuristic,linematch:60 1 1%
diffopt internal,filler,closeoff,vertical,indent-heuristic,algorithm:histogram,linematch:60,hiddenoff 1 1%
diffopt internal,filler,closeoff,vertical,indent-heuristic,algorithm:patience 1 1%
diffopt internal,filler,closeoff,vertical,linematch:60 1 1%
diffopt internal,filler,vertical,algorithm:patience 1 1%
diffopt vertical,closeoff 1 1%
display *default* 223 98%
display lastline,uhex 2 1%
display lastline,msgsep 1 0%
display lastline,msgsep,uhex 1 1%
eadirection *default* 226 100%
eadirection hor 1 0%
emoji *default* 224 99%
emoji false 3 1%
endoffile *default* 85 84%
endoffile false 16 16%
equalalways *default* 217 96%
equalalways false 10 4%
errorbells *default* 226 100%
errorbells true 1 0%
errorformat *default* 226 100%
errorformat %\\s%#%\\d%#:%# %#from %f:%l:%m,IN %f:%l:%m,,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c\\,,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-G%*[ ]from %f:%l:%c,%-G%*[ ]from %f:%l:,%-G%*[ ]from %f:%l\\,,%-G%*[ ]from %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory %*[`']%f',%X%*\\a[%*\\d]: Leaving directory %*[`']%f',%D%*\\a: Entering directory %*[`']%f',%X%*\\a: Leaving directory %*[`']%f',%DMaking %*\\a in %f,%f|%l| %m 1 0%
eventignore *default* 201 89%
eventignore CursorHoldI,CursorHold 14 6%
eventignore CursorHold,CursorHoldI 12 5%
expandtab true 187 83%
expandtab *default* 39 17%
expandtab false 1 0%
exrc *default* 218 96%
exrc true 9 4%
fileencoding *default* 184 81%
fileencoding utf-8 43 19%
fileencodings *default* 218 96%
fileencodings ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1 2 1%
fileencodings ucs-bom,utf-8,default,cp1252,latin1 1 0%
fileencodings ucs-bom,utf-8,gbk,gb18030,big5,euc-jp,latin1 1 0%
fileencodings utf-8 1 0%
fileencodings utf-8,cp1251 1 0%
fileencodings utf-8,cp949,latin1 1 1%
fileencodings utf-8,iso-2022-jp,euc-jp,sjis,utf-16,utf-16le,gb2312 1 1%
fileencodings utf-8,ucs-bom,gbk,cp936,big5,latin-1 1 1%
fileformat *default* 225 99%
fileformat unix 2 1%
fileformats *default* 217 96%
fileformats unix,dos,mac 4 2%
fileformats unix,mac,dos 3 1%
fileformats unix 2 1%
fileformats unix,dos 1 0%
fileignorecase *default* 225 99%
fileignorecase true 2 1%
fillchars *default* 131 59%
fillchars eob: 22 10%
fillchars fold: 18 8%
fillchars vert:│ 4 2%
fillchars horiz:━,horizdown:┳,horizup:┻,vert:┃,verthoriz:╋,vertleft:┨,vertright:┣ 3 1%
fillchars diff:╱ 2 1%
fillchars eob: ,fold: 2 1%
fillchars fold: ,vert:│,eob: ,msgsep:‾ 2 1%
fillchars horiz:━,horizdown:┳,horizup:┻,vert:┃,verthoriz:╋,vertleft:┫,vertright:┣ 2 1%
fillchars vert:│,fold: 2 1%
fillchars diff: 1 0%
fillchars diff: ,fold: ,eob: ,vert: ,horiz: ,lastline:• 1 0%
fillchars diff:―,eob: ,fold: ,horiz: ,horizdown: ,horizup: ,vert: ,verthoriz: ,vertleft: ,vertright: 1 0%
fillchars diff:/,eob: 1 0%
fillchars diff:/,eob: ,fold: ,horiz:─,horizdown:┬,horizup:┴,vert:│,verthoriz:┼,vertleft:┤,vertright:├ 1 0%
fillchars diff:/,fold: 1 0%
fillchars diff:─,vert: 1 0%
fillchars diff:╱,eob: 1 0%
fillchars diff:╱,eob: ,fold: ,foldclose:,foldopen:,foldsep: 1 0%
fillchars diff:╱,eob: ,fold: ,foldclose:,foldopen:,horiz:─,horizdown:┬,horizup:┴,vert:│,verthoriz:┼,vertleft:┤,vertright:├ 1 0%
fillchars diff:╱,eob: ,fold: ,vert:│ 1 0%
fillchars diff:╱,eob: ,foldclose:▸,foldopen:▾,foldsep:│,msgsep:‾ 1 0%
fillchars diff:╱,horiz:━,horizdown:┳,horizup:┻,vert:┃,verthoriz:╋,vertleft:┫,vertright:┣,fold: 1 0%
fillchars diff:⣿,eob: ,fold:─,foldclose:▸,foldopen:▾,foldsep:│,msgsep:‾,vert:┃ 1 0%
fillchars diff:⣿,vert:│ 1 0%
fillchars diff:,eob: ,fold: 1 0%
fillchars eob: ,diff: 1 0%
fillchars eob: ,fold: ,foldclose:,foldopen: 1 0%
fillchars eob: ,fold: ,foldclose:,foldopen:,foldsep: 1 0%
fillchars eob: ,fold: ,foldclose:,foldopen:,foldsep: ,horiz:━,horizdown:┳,horizup:┻,vert:┃,verthoriz:╋,vertleft:┫,vertright:┣ 1 0%
fillchars eob: ,fold: ,foldopen:,foldsep: ,foldclose:,stlnc:-,vert:| 1 0%
fillchars eob: ,fold: ,horiz:━,horizdown:┳,horizup:┻,vert:┃,verthoriz:╋,vertleft:┫,vertright:┣ 1 0%
fillchars eob: ,foldsep: ,foldopen:,foldclose: 1 0%
fillchars eob: ,horiz: ,horizdown: ,horizup: ,vert: ,verthoriz: ,vertleft: ,vertright: 1 0%
fillchars eob:~ 1 1%
fillchars eob:~,vert:│ 1 1%
fillchars fold: ,horiz:━,horizdown:┳,horizup:┻,vert:┃,verthoriz:╋,vertleft:┫,vertright:┣ 1 1%
fillchars fold: ,vert:│ 1 1%
fillchars foldclose:,foldopen:,fold: 1 1%
fillchars foldclose:,foldopen:,foldsep: ,fold: 1 1%
fillchars horiz:═,horizdown:╦,horizup:╩,vert:║,verthoriz:╬,vertleft:╣,vertright:╠,fold: 1 1%
fillchars msgsep:◌ 1 1%
fillchars stl:―,stlnc:—,vert:│,fold:۰,diff:· 1 1%
fillchars stl:─,stlnc:─ 1 1%
fillchars vert: 1 1%
fillchars vert: ,stl: ,stlnc: 1 1%
fillchars vert: ,vertleft: ,vertright: ,horiz: ,horizup: ,horizdown: ,verthoriz: 1 1%
fillchars vert:| 1 1%
fillchars vert:│,stl: ,stlnc: ,fold:-,diff:- 1 1%
fixendofline *default* 220 97%
fixendofline false 7 3%
foldclose *default* 226 100%
foldclose all 1 0%
foldcolumn *default* 208 92%
foldcolumn 1 16 7%
foldcolumn auto 2 1%
foldcolumn 2 1 0%
foldenable *default* 196 86%
foldenable false 31 14%
foldexpr *default* 168 74%
foldexpr nvim_treesitter#foldexpr() 55 24%
foldexpr 3 1%
foldexpr utils#VimFolds(v:lnum) 1 1%
foldlevel *default* 141 62%
foldlevel 99 55 24%
foldlevel 20 6 3%
foldlevel 1 5 2%
foldlevel 10 5 2%
foldlevel 999 3 1%
foldlevel 100 2 1%
foldlevel 2 2 1%
foldlevel 3 2 1%
foldlevel 10000 1 0%
foldlevel 100000 1 0%
foldlevel 15 1 0%
foldlevel 18 1 1%
foldlevel 4 1 1%
foldlevel 666 1 1%
foldlevelstart *default* 183 81%
foldlevelstart 99 35 16%
foldlevelstart 20 2 1%
foldlevelstart 0 1 0%
foldlevelstart 1 1 0%
foldlevelstart 10 1 0%
foldlevelstart 100 1 0%
foldlevelstart 2 1 0%
foldlevelstart 3 1 1%
foldlevelstart 999 1 1%
foldmarker *default* 226 100%
foldmarker /*,*/ 1 0%
foldmethod *default* 135 59%
foldmethod expr 54 24%
foldmethod marker 17 8%
foldmethod indent 16 7%
foldmethod syntax 5 2%
foldminlines *default* 223 98%
foldminlines 10 2 1%
foldminlines 0 1 0%
foldminlines 4 1 1%
foldnestmax *default* 204 90%
foldnestmax 3 11 5%
foldnestmax 10 6 3%
foldnestmax 1 3 1%
foldnestmax 2 1 0%
foldnestmax 4 1 0%
foldnestmax 5 1 1%
foldopen *default* 218 96%
foldopen block,hor,mark,percent,quickfix,search,tag,undo,jump 5 2%
foldopen hor,mark,percent,quickfix,search,tag,undo 2 1%
foldopen block,hor,mark,percent,quickfix,search,tag,undo,insert,jump 1 0%
foldopen mark,percent,quickfix,search,tag,undo,insert,jump 1 1%
foldtext *default* 175 78%
foldtext v:lua.require'ufo.main'.foldtext() 25 11%
foldtext v:lua.require('pretty-fold').foldtext.global() 9 4%
foldtext FoldText() 3 1%
foldtext MyFoldText() 2 1%
foldtext substitute(getline(v:foldstart),'\\\\t',repeat('\\ ',&tabstop),'g').'...'.trim(getline(v:foldend)) . ' (' . (v:foldend - v:foldstart + 1) . ' lines)' 2 1%
foldtext 'v:lua.stevearc.foldtext()")' 1 0%
foldtext CustomFoldText() 1 0%
foldtext NeatFoldText() 1 0%
foldtext substitute(getline(v:foldstart),'\\\\t',repeat('\\ ',&tabstop),'g'). ' [' . (v:foldend - v:foldstart + 1) . ']' 1 0%
foldtext substitute(getline(v:foldstart),'\\\\t',repeat('\\ ',&tabstop),'g').' ... '.trim(getline(v:foldend)).' ('.(v:foldend-v:foldstart).' lines folded...)' 1 0%
foldtext substitute(getline(v:foldstart),'\\\\t',repeat('\\ ',&tabstop),'g').'...'.trim(getline(v:foldend)) 1 0%
foldtext utils#MyFoldText() 1 0%
foldtext v:lua.custom_fold_text() 1 1%
foldtext v:lua.foldtext2() 1 1%
foldtext v:lua.MyFoldText() 1 1%
foldtext v:lua.require('fold').foldtext() 1 1%
formatexpr *default* 226 100%
formatexpr CocAction('formatSelected') 1 0%
formatlistpat *default* 225 99%
formatlistpat \\C^\\s*[\\[({]\\?\\([0-9]\\+\\|[iIvVxXlLcCdDmM]\\+\\|[a-zA-Z]\\)[\\]:.)}]\\s\\+\\|^\\s*[-+o*]\\s\\+ 1 0%
formatlistpat ^\\s*[0-9\\-\\+\\*]\\+[\\.\\)]*\\s\\+ 1 1%
formatoptions *default* 176 79%
formatoptions tqj 3 1%
formatoptions 2 1%
formatoptions cqjt 2 1%
formatoptions jcroql 2 1%
formatoptions qjt 2 1%
formatoptions 12 1 0%
formatoptions 1jcroql 1 0%
formatoptions 1jql 1 0%
formatoptions 1toqcj 1 0%
formatoptions cqj 1 0%
formatoptions cqrnj 1 0%
formatoptions cqrt 1 0%
formatoptions cqtrj 1 0%
formatoptions crjqn 1 0%
formatoptions crjqt1n 1 0%
formatoptions croqlj 1 0%
formatoptions crqljn 1 0%
formatoptions crqn2lj 1 0%
formatoptions crqnj 1 0%
formatoptions jcroqlmB 1 0%
formatoptions jcroqlnt 1 0%
formatoptions jcrql 1 0%
formatoptions jmMcql 1 0%
formatoptions jqlc12 1 0%
formatoptions jqrnc 1 0%
formatoptions jqt 1 0%
formatoptions jtq 1 0%
formatoptions jtqlnr 1 0%
formatoptions lc2nq 1 0%
formatoptions ljq 1 1%
formatoptions ncqjr1t 1 1%
formatoptions nljqrc 1 1%
formatoptions o1jqrlc 1 1%
formatoptions qct 1 1%
formatoptions qn1 1 1%
formatoptions rjncq 1 1%
formatoptions rqnlj 1 1%
formatoptions tcqjl 1 1%
formatoptions tcqjmM 1 1%
formatoptions tcqjn 1 1%
formatoptions tcqn2vlB1j 1 1%
formatoptions tcqnw1 1 1%
formatoptions tcrnj 1 1%
formatoptions tcrqn1j 1 1%
formatoptions tqjn 1 1%
fsync *default* 225 99%
fsync true 2 1%
gdefault *default* 206 91%
gdefault true 21 9%
grepformat *default* 197 87%
grepformat %f:%l:%c:%m 16 7%
grepformat %f:%l:%c:%m,%f:%l:%m 10 5%
grepformat %f:%l:%c:%m,%f:%l:%m,%f:%l%m,%f %l%m 3 1%
grepformat %f:%l:%m,%m %f match%ts,%f 1 0%
grepprg *default* 182 81%
grepprg rg --vimgrep 13 6%
grepprg rg --vimgrep --no-heading --smart-case 7 3%
grepprg rg --vimgrep --no-heading 4 2%
grepprg rg --hidden --vimgrep --smart-case -- 3 1%
grepprg rg --vimgrep --smart-case 3 1%
grepprg 'rg --hidden --glob "!.git" --no-heading --smart-case --vimgrep --follow $*' 1 0%
grepprg git --no-pager grep --no-color -n $* 1 0%
grepprg rg --no-heading --vimgrep 1 0%
grepprg rg --no-heading --vimgrep --smart-case 1 0%
grepprg rg --no-ignore --no-heading --color never -n $* 1 0%
grepprg rg --smart-case --color=never --no-heading -H -n --column 1 0%
grepprg rg --smart-case --vimgrep --hidden 1 0%
grepprg rg --vimgrep --hidden 1 0%
grepprg rg --vimgrep --no-heading --hidden 1 0%
grepprg rg --vimgrep --smart-case --hidden 1 1%
grepprg rg --vimgrep --smart-case --hidden --follow 1 1%
grepprg rg --vimgrep -S 1 1%
grepprg rg -i --vimgrep $* 1 1%
grepprg rg -S --vimgrep $* 1 1%
grepprg rg\\ --vimgrep\\ --smart-case\\ --follow 1 1%
guicursor *default* 170 75%
guicursor a:NoiceHiddenCursor 27 12%
guicursor 7 3%
guicursor n-v-c:block-Cursor/lCursor-blinkon0,i-ci:ver25-Cursor/lCursor,r-cr:hor20-Cursor/lCursor 3 1%
guicursor n-v-c:block-Cursor/lCursor,i-ci-ve:ver25-Cursor2/lCursor2,r-cr:hor20,o:hor20 2 1%
guicursor n-v-c:block,i-ci-ve:ver25,r-cr:hor20,o:hor50,a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor,sm:block-blinkwait175-blinkoff150-blinkon175 2 1%
guicursor a:blinkwait700-blinkoff500-blinkon500,n-c-sm:block-Cursor,v:VCursor,i-ci-ve:ver25-ICursor,r-cr-o:hor20-RCursor 1 0%
guicursor a:block-Caret 1 0%
guicursor a:block,i:ver25,v:hor10,r-cr-o:hor20 1 0%
guicursor a:Cursor,n-v-c-sm:block,i-ci-ve:ver25,r-cr-o:hor20,i-ve-r-cr-o:blinkoff500-blinkon500 1 0%
guicursor i-ci-ve:ver25,r-cr:hor20,o:hor50,a:blinkwait700-blinkoff500-blinkon500,sm:block-blinkwait175-blinkoff150-blinkon175,v-sm:block-ModesVisual,i-ci-ve:ver25-ModesInsert,r-cr-o:hor20-ModesOperator 1 0%
guicursor i:ver25-VimrInsertCursor 1 0%
guicursor n-v-c-sm-i-ci-ve-r-cr-o:block 1 0%
guicursor n-v-c-sm:block,i-ci-ve:ver25,r-cr-o:hor20,a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor 1 0%
guicursor n-v-c-sm:block,i-ci-ve:ver25,r-cr-o:hor20,n-v-c:blinkon0,i-ci:ver25-Cursor/lCursor-blinkwait30-blinkoff100-blinkon100 1 0%
guicursor n-v-c-sm:block,i-ci-ve:ver25,r-cr-o:hor20,v-sm:block-ModesVisual,i-ci-ve:ver25-ModesInsert,r-cr-o:hor20-ModesOperator 1 1%
guicursor n-v-c:block-Cursor/lCursor,i-ci-ve:ver25-Cursor/lCursor,r-cr:hor20,o:hor50 1 1%
guicursor n-v-c:block,i-ci-ve:ver25,r-cr:hor20,o:hor50,a:blinkwait600-blinkoff400-blinkon250-Cursor/lCursor,sm:block-blinkwait175-blinkoff150-blinkon175 1 1%
guicursor n-v-c:block,i-ci-ve:ver25,r-cr:hor20,o:hor50,a:Cursor/lCursor,sm:block-blinkwait175-blinkoff150-blinkon175 1 1%
guicursor n-v-c:hor20,i-ci-ve:ver25,o:hor50 1 1%
guicursor n:block-Cursor,a:block-blinkon0,i:ver25-blinkwait200-blinkoff150-blinkon200-CursorInsert,r:blinkwait200-blinkoff150-blinkon200-CursorReplace,v:CursorVisual,c:ver25-blinkon300-CursorInsert 1 1%
guicursor v-sm:block-ModesVisual,i-ci-ve:ver25-ModesInsert,r-cr-o:hor20-ModesOperator 1 1%
guifont *default* 173 78%
guifont monospace:h17 8 4%
guifont JetBrainsMono Nerd Font Mono:h18 2 1%
guifont Agave:h16 1 0%
guifont blexmono:h17 1 0%
guifont Cascadia Mono PL:h13 1 0%
guifont Consolas:h10 1 0%
guifont DejaVuSansMono Nerd Font 1 0%
guifont DejavuSansMono NF:h16 1 0%
guifont FantasqueSansMono Nerd Font Mono:h16 1 0%
guifont Fira Code Retina:h9 1 0%
guifont Fira\\ Code 1 0%
guifont FiraCode Nerd Font Mono 1 0%
guifont FiraCode Nerd Font:h11 1 0%
guifont FiraCode Nerd Font:h15 1 0%
guifont FiraCode Nerd Font:h16 1 0%
guifont FiraCode Nerd Font:h17 1 0%
guifont FiraCode NFM:h15 1 0%
guifont FuraCode Nerd Font Mono:h12 1 0%
guifont Hack Nerd Font Mono:h15 1 0%
guifont Hack Nerd Font Mono:h18 1 0%
guifont Input Mono:h11.5 1 0%
guifont Iosevka Fixed 1 0%
guifont Iosevka Medium:h9 1 0%
guifont Iosevka Nerd Font Mono:h10 1 0%
guifont Iosevka Nerd Font Mono:h16 1 0%
guifont Iosevka Nerd Font:h10 1 0%
guifont JetBrains Mono:h10 1 0%
guifont JetBrains_Mono_SemiBold_Nerd_Font_Complete:h12 1 0%
guifont JetBrains_Mono:h16 1 0%
guifont JetBrainsMono Nerd Font Regular:h13 1 1%
guifont JetBrainsMono Nerd Font:h10 1 1%
guifont JetBrainsMono Nerd Font:h12 1 1%
guifont JetBrainsMono NF 1 1%
guifont JetBrainsMono NF:h11 1 1%
guifont JetBrainsMonoNL Nerd Font:h16 1 1%
guifont Liga SFMono Nerd Font:h12 1 1%
guifont Menlo:h14 1 1%
guifont MonoLisa_Nerd_Font:h13.6 1 1%
guifont MonoLisa:h12 1 1%
guifont monospace:h14 1 1%
guifont Roboto Mono Medium:h11 1 1%
guifont Scientifica:h15 1 1%
guifont SFmono Nerd Font:h15 1 1%
guifont Source Code Pro_Light,:h11 1 1%
guifont UbuntuMono NF:h10 1 1%
guifont VictorMono Nerd Font:11 1 1%
guifontwide *default* 226 100%
guifontwide JetBrains_Mono_SemiBold_Nerd_Font_Complete:h12 1 0%
helpheight *default* 223 98%
helpheight 12 2 1%
helpheight 1000 1 0%
helpheight 150 1 1%
helplang en 200 88%
helplang *default* 14 6%
helplang pt 3 1%
helplang cn 2 1%
helplang it 2 1%
helplang ru 2 1%
helplang es 1 0%
helplang fr 1 0%
helplang hu 1 1%
helplang ko 1 1%
hidden *default* 224 99%
hidden false 3 1%
history *default* 193 85%
history 1000 14 6%
history 100 10 5%
history 500 4 2%
history 2000 2 1%
history 200 1 0%
history 4096 1 0%
history 50 1 0%
history 5000 1 1%
hlsearch *default* 189 83%
hlsearch false 38 17%
ignorecase true 185 81%
ignorecase *default* 42 19%
iminsert *default* 226 100%
iminsert 1 1 0%
imsearch *default* 226 100%
imsearch 0 1 0%
inccommand *default* 197 87%
inccommand split 30 13%
include *default* 224 99%
include 2 1%
include import_s.\\zs[^'\"]*\\ze" includeexpr,"TsIncludeExpr(v:fname)" indentkeys,"0{,0},0),0],0,,!^F,o,O,e 1 0%
incsearch *default* 224 99%
incsearch false 3 1%
indentkeys *default* 221 97%
indentkeys !^F,o,O,0(,0),],},&,0=\\item ,0=\\item[,0=\\else,0=\\fi,0=\\rangle,0=\\rbrace,0=\\rvert,0=\\rVert,0=\\rfloor,0=\\rceil,0=\\urcorner 2 1%
indentkeys 0{,0},0),0],:,0#,!^F,o,O,e,0=end,0=until 2 1%
indentkeys !^F,o,O,e 1 0%
indentkeys 0{,0},0),0],:,!^F,o,O,e,<:>,=elif,=except 1 1%
infercase *default* 220 97%
infercase true 7 3%
isfname *default* 222 98%
isfname @,48-57,/,.,-,_,+,,,#,$,%,~,=,@-@ 2 1%
isfname @,48-57,/,.,-,_,+,#,$,%,~ 2 1%
isfname #,$,%,+,,,-,.,/,48-57,@,_,~ 1 0%
iskeyword *default* 198 87%
iskeyword @,48-57,_,192-255,- 27 12%
iskeyword @,48-57,_,192-255,@-@,-,$ 1 0%
iskeyword @,48-57,192-255 1 1%
joinspaces *default* 226 100%
joinspaces true 1 0%
jumpoptions *default* 218 96%
jumpoptions stack 9 4%
keymap *default* 225 99%
keymap greek_utf-8 1 0%
keymap russian-jcukenmac 1 1%
keymodel *default* 226 100%
keymodel startsel,stopsel 1 0%
keywordprg *default* 222 98%
keywordprg :help 5 2%
langmap *default* 225 99%
langmap ёЁ;`~,№;#,йЙ;qQ,цЦ;wW,уУ;eE,кК;rR,еЕ;tT,нН;yY,гГ;uU,шШ;iI,щЩ;oO,зЗ;pP,хХ;[{,ъЪ;]},фФ;aA,ыЫ;sS,вВ;dD,аА;fF,пП;gG,рР;hH,оО;jJ,лЛ;kK,дД;lL,жЖ;\\;:,эЭ;'\\\",яЯ;zZ,чЧ;xX,сС;cC,мМ;vV,иИ;bB,тТ;nN,ьЬ;mM,бБ;\\,<,юЮ;.> 1 0%
langmap ФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯ;ABCDEFGHIJKLMNOPQRSTUVWXYZ,фисвуапршолдьтщзйкыегмцчня;abcdefghijklmnopqrstuvwxyz 1 1%
langmenu *default* 226 100%
langmenu en 1 0%
laststatus 3 123 54%
laststatus *default* 101 45%
laststatus 0 3 1%
lazyredraw *default* 167 74%
lazyredraw true 60 26%
leader <Space> 150 66%
leader , 42 19%
leader *default* 25 11%
leader ; 4 2%
leader \\ 4 2%
leader ' 1 0%
leader \r 1 0%
linebreak *default* 149 66%
linebreak true 78 34%
linespace *default* 226 100%
linespace 5 1 0%
list *default* 126 56%
list true 101 44%
listchars *default* 111 51%
listchars eol:↴,nbsp:+,tab:> ,trail:- 4 2%
listchars eol:↴,nbsp:+,space:⋅,tab:> ,trail:- 2 1%
listchars tab:▸ ,extends:❯,precedes:❮,nbsp:␣ 2 1%
listchars conceal:*,extends:⟩,leadmultispace:│···,multispace:··,precedes:⟨,tab:> ,trail:~ 1 0%
listchars conceal:┊,eol:↲,extends:…,precedes:…,tab:» ,trail:𝁢 1 0%
listchars conceal:┊,eol:↲,extends:»,nbsp:␣,precedes:«,space:·,tab:┆ ,trail:• 1 0%
listchars conceal:┊,eol:↲,extends:<,nbsp:␣,precedes:>,tab:» ,trail:· 1 0%
listchars conceal:┊,eol:¬,extends:…,nbsp:○,precedes:…,tab:▷ ,trail:· 1 0%
listchars conceal:┊,extends:<,nbsp:␣,precedes:>,tab:» ,trail:· 1 0%
listchars conceal:x,extends:…,precedes:…,tab:> ,trail: 1 0%
listchars eol:¶,tab:▸ ,trail:· 1 0%
listchars eol:↲,extends:⟩,lead:␣,nbsp:␣,precedes:⟨,space:␣,tab:→ ,trail:· 1 0%
listchars eol:↲,extends:→,nbsp:␣,precedes:←,space:·,tab:\\,trail:· 1 0%
listchars eol:↲,extends:→,nbsp:␣,precedes:←,tab:>>>,trail:· 1 0%
listchars eol:↲,extends:→,precedes:←,tab:▸ ,trail:· 1 0%
listchars eol:↲,trail:·,nbsp:␣ 1 0%
listchars eol:↴,extends:»,nbsp:+,precedes:«,space:⋅,tab:> ,trail:- 1 0%
listchars eol:↴,lead:⋅,nbsp:+,tab:> ,trail:~ 1 0%
listchars eol:↴,nbsp:+,tab: ,trail:· 1 0%
listchars eol:↴,space: 1 0%
listchars eol:¬,extends:…,nbsp:○,precedes:…,space:•,tab:»›,trail:≡ 1 0%
listchars eol:¬,extends:›,lead:⋅,multispace:⋅,precedes:‹,tab: ,trail:• 1 0%
listchars eol:¬,extends:»,precedes:«,tab:| 1 0%
listchars eol:¬,nbsp:+,tab:» ,trail:- 1 0%
listchars eol:¬,space:·,tab:→-,extends:▸,precedes:◂,multispace:···⬝,leadmultispace:│ 1 0%
listchars eol:¬,tab:»·,trail:~,space:· 1 0%
listchars eol:¬,tab:>·,extends:>,precedes:<,space:␣ 1 0%
listchars eol:¬,tab:>·,trail:~,extends:>,precedes:<,space:⋅ 1 0%
listchars eol:﬋,extends:◣,nbsp:○,precedes:◢,space:⋅,tab:ﲒ ,trail:○ 1 0%
listchars eol:﬋,lead:·,trail:·,tab: ,nbsp:␣,extends:» 1 0%
listchars extends:…,nbsp:‗,tab:│ ,trail:· 1 0%
listchars extends:…,nbsp:␣,precedes:…,tab:» ,trail:· 1 0%
listchars extends:…,precedes:…,tab: 1 0%
listchars extends:›,nbsp:·,precedes:‹,space:·,tab:» ,trail:· 1 0%
listchars extends:›,nbsp:␣,precedes:‹,space: ,tab: ,trail:· 1 0%
listchars extends:»,lead:⋅,multispace:⋅ ,nbsp:░,precedes:«,tab: ,trail:␣ 1 0%
listchars extends:»,lead:🞘,nbsp:␣,precedes:«,tab:˒ ,trail:· 1 0%
listchars extends:»,nbsp:⦸,precedes:«,space: ,tab:▷─,trail:• 1 0%
listchars extends:»,nbsp:⦸,precedes:«,tab:▷⋯ 1 0%
listchars extends:»,nbsp:⦸,precedes:«,tab:▷⋯,trail:• 1 0%
listchars extends:»,precedes:«,tab:< >,trail:- 1 0%
listchars extends:⟩,nbsp:␣,precedes:⟨,tab:│→,trail:· 1 0%
listchars extends:❯,nbsp:·,precedes:❮,tab:▸-,trail:… 1 0%
listchars extends:❯,nbsp:␣,precedes:❮,space: ,tab: ,trail:• 1 0%
listchars extends:#,nbsp:·,tab:▸·,trail:· 1 0%
listchars extends:→,nbsp:+,precedes:←,tab:»·,trail:· 1 0%
listchars extends:→,nbsp:␣,precedes:←,tab:»·,trail:· 1 0%
listchars extends:>,leadmultispace:·,nbsp:+,precedes:<,tab:>-,trail:× 1 0%
listchars extends:▶,nbsp:∙,precedes:◀,tab:▶‒,trail:∙ 1 0%
listchars extends:◣,lead:⋅,nbsp:○,precedes:◢,tab:-->,trail:· 1 0%
listchars lead:·,tab:| ,trail:· 1 0%
listchars lead:⋅,nbsp:+,tab:> ,trail:- 1 0%
listchars nbsp:·,tab:→ ,trail:· 1 0%
listchars nbsp:⸱,tab:| ,trail:⎵ 1 0%
listchars nbsp:+ 1 0%
listchars nbsp:+,space:·,tab:<->,trail:· 1 0%
listchars nbsp:+,space:·,tab:>-,trail:- 1 0%
listchars nbsp:+,tab:▸ ,trail:· 1 0%
listchars nbsp:⋅,tab:» ,trail:⋅ 1 0%
listchars nbsp:␣,trail:·,extends:>,precedes:<,tab: ,eol:↲ 1 0%
listchars space:·,tab:-->,eol:↩ 1 0%
listchars space:·,tab:» 1 0%
listchars tab: 1 0%
listchars tab: ,extends:→,precedes:←,nbsp:␣ 1 0%
listchars tab:--▸,eol:¬,trail:⋅,extends:❯,precedes:❮,nbsp:% 1 0%
listchars tab:··,trail:· 1 0%
listchars tab:» ,nbsp:␣,trail:•,extends:›,precedes:‹ 1 1%
listchars tab:» ,trail:·,extends:>,precedes:< 1 1%
listchars tab:» ,trail:·,space:·,nbsp:·,precedes:⟨,extends:⟩ 1 1%
listchars tab:»·,nbsp:+,trail:·,extends:→,precedes:← 1 1%
listchars tab:»»,trail:·,nbsp:· 1 1%
listchars tab:→ ,eol:↲,nbsp:␣,space:• 1 1%
listchars tab:→ ,eol:₋,extends:⟩,precedes:⟨,trail:·,space:· 1 1%
listchars tab:→ ,nbsp:␣,trail:~,precedes:«,extends:» 1 1%
listchars tab:→ ,trail:· 1 1%
listchars tab:⇥ ,eol:$,trail:·,extends:>,precedes:< 1 1%
listchars tab:> ,multispace:· ,lead:·,trail:·,extends:⇢,precedes:⇠,nbsp:+ 1 1%
listchars tab:> ,trail: ,eol:↲ 1 1%
listchars tab:> ,trail:-,nbsp:+,eol:↴ 1 1%
listchars tab:> ,trail:-,nbsp:+,eol:¬,trail:·,precedes:◂,extends:▸ 1 1%
listchars tab:> ,trail:• 1 1%
listchars tab:>- 1 1%
listchars tab:>-,trail:-,extends:>,precedes:<,nbsp:+ 1 1%
listchars tab:>-,trail:-,precedes:<,extends:> 1 1%
listchars tab:>-,trail:×,nbsp:+ 1 1%
listchars tab:>-,trail:x,extends:>,precedes:<,nbsp:+,leadmultispace:. 1 1%
listchars tab:>. 1 1%
listchars tab:>.,eol:$ 1 1%
listchars tab:>⋅,trail:·,extends:▷,precedes:◁,nbsp:␣ 1 1%
listchars tab:| 1 1%
listchars tab:| ,lead:.,trail:$ 1 1%
listchars tab:| ,nbsp:_,trail:·,space:· 1 1%
listchars tab:| ,trail:-,nbsp:+,extends:> 1 1%
listchars tab:│ ,trail:· 1 1%
listchars tab:▷‒,nbsp:␣,trail:• 1 1%
listchars tab:▸ ,extends:❯,precedes:❮,trail:· 1 1%
listchars tab:▸ ,trail:· 1 1%
listchars tab:▸ ,trail:·,eol:¶ 1 1%
listchars tab:▸ ,trail:¬,nbsp:.,extends:❯,precedes:❮ 1 1%
listchars tab:▸ ,trail:⋅,extends:❯,precedes:❮ 1 1%
listchars tab:▸·,extends:❯,precedes:❮,nbsp:⁓ 1 1%
listchars tab:▸·,trail:· 1 1%
listchars tab:▸\\ ,eol:¬,trail:· 1 1%
listchars tab: ,space:·,trail:* 1 1%
listchars trail:-,precedes:«,extends:»,tab: 1 1%
listchars trail:. 1 1%
listchars trail:· 1 1%
listchars trail:·,nbsp:~,tab:>-,multispace:---+ 1 1%
listchars trail:·,nbsp:␣,tab: 1 1%
listchars trail:·,tab:»·,eol:↲,multispace: |,extends:>,precedes:< 1 1%
listchars trail:·,tab:‣ ,extends:,precedes:,nbsp:␣ 1 1%
localleader *default* 226 100%
localleader \ 1 0%
matchpairs *default* 213 94%
matchpairs (:),{:},[:],<:> 11 5%
matchpairs (:),{:},[:],<:>,「:」,『:』,【:】,“:”,‘:’,《:》 2 1%
matchpairs (:),{:},[:],«:» 1 0%
matchtime *default* 222 98%
matchtime 2 3 1%
matchtime 0 1 0%
matchtime 3 1 1%
maxmempattern *default* 226 100%
maxmempattern 10000 1 0%
menuitems *default* 226 100%
menuitems 50 1 0%
modelines *default* 224 99%
modelines 1 3 1%
mouse a 132 58%
mouse *default* 50 22%
mouse 25 11%
mouse nv 9 4%
mouse n 2 1%
mouse nic 2 1%
mouse ar 1 0%
mouse nicr 1 0%
mouse nicra 1 0%
mouse nvc 1 0%
mouse nvia 1 1%
mouse v 1 1%
mouse vn 1 1%
mousefocus *default* 225 99%
mousefocus true 2 1%
mousemodel *default* 216 95%
mousemodel extend 8 4%
mousemodel popup 3 1%
mousemoveevent *default* 223 100%
mousemoveevent true 1 0%
mousescroll *default* 218 98%
mousescroll ver:1,hor:6 2 1%
mousescroll ver:1,hor:1 1 0%
mousescroll ver:1,hor:3 1 0%
mousescroll ver:3,hor:1 1 0%
mousescroll ver:5,hor:4 1 1%
neovim_version 0.9.0 101 45%
neovim_version 0.8.1 78 34%
neovim_version 0.8.0 43 19%
neovim_version 0.7.0 2 1%
neovim_version 0.8.2 2 1%
neovim_version 0.7.2 1 0%
nrformats *default* 221 98%
nrformats bin,hex,alpha 2 1%
nrformats alpha,bin,hex,unsigned 1 0%
nrformats bin 1 0%
nrformats bin,hex,unsigned 1 0%
nrformats hex 1 1%
number true 196 86%
number *default* 31 14%
numberwidth *default* 197 87%
numberwidth 2 10 4%
numberwidth 1 9 4%
numberwidth 3 7 3%
numberwidth 5 4 2%
omnifunc *default* 221 97%
omnifunc syntaxcomplete#Complete 2 1%
omnifunc v:lua.vim.lsp.omnifunc 2 1%
omnifunc ale#completion#OmniFunc 1 0%
omnifunc v:lua.MiniCompletion.completefunc_lsp 1 1%
operatorfunc *default* 221 97%
operatorfunc ReplaceWithRegister#Operator 2 1%
operatorfunc v:lua.require'gitsigns.repeat'.repeat_action 2 1%
operatorfunc <SNR>15_go 1 0%
operatorfunc v:lua.require'nvim-surround'.normal_callback 1 1%
pastetoggle *default* 213 94%
pastetoggle <F12> 3 1%
pastetoggle <F2> 2 1%
pastetoggle ,cp 1 0%
pastetoggle <F1> 1 0%
pastetoggle <F10> 1 0%
pastetoggle <F11> 1 0%
pastetoggle <F3> 1 0%
pastetoggle <F4> 1 1%
pastetoggle <F8> 1 1%
pastetoggle <F9> 1 1%
pastetoggle <Plug>PasteToggle 1 1%
preserveindent *default* 224 99%
preserveindent true 3 1%
previewheight *default* 223 98%
previewheight 25 1 0%
previewheight 5 1 0%
previewheight 6 1 1%
previewheight 9 1 1%
printoptions *default* 226 100%
printoptions left:8pc,right:3pc 1 0%
pumblend *default* 195 86%
pumblend 10 16 7%
pumblend 20 5 2%
pumblend 15 3 1%
pumblend 30 3 1%
pumblend 5 3 1%
pumblend 17 1 1%
pumblend 8 1 1%
pumheight *default* 163 72%
pumheight 10 41 18%
pumheight 15 8 4%
pumheight 12 5 2%
pumheight 8 2 1%
pumheight 13 1 0%
pumheight 16 1 0%
pumheight 18 1 0%
pumheight 20 1 0%
pumheight 35 1 0%
pumheight 5 1 1%
pumheight 50 1 1%
pumheight 9 1 1%
pumwidth *default* 226 100%
pumwidth 25 1 0%
quickfixtextfunc *default* 219 97%
quickfixtextfunc PqfQuickfixTextFunc 5 2%
quickfixtextfunc {info -> v:lua._G.qftf(info)} 2 1%
quickfixtextfunc '{info -> v:lua.require("quickfix").format(info)}' 1 0%
redrawtime *default* 222 98%
redrawtime 1500 4 2%
redrawtime 1000 1 0%
regexpengine *default* 226 100%
regexpengine 1 1 0%
relativenumber true 135 59%
relativenumber *default* 92 41%
report *default* 222 98%
report 0 5 2%
ruler *default* 201 88%
ruler false 26 12%
rulerformat *default* 225 99%
rulerformat %=%c 1 0%
rulerformat %30(%=:b%n%y%m%r%w %l,%c%V %P%) 1 1%
scrollback *default* 223 98%
scrollback 100 1 0%
scrollback 1000 1 0%
scrollback 100000 1 1%
scrollback 20000 1 1%
scrolljump *default* 222 98%
scrolljump 5 4 2%
scrolljump 2 1 0%
scrolloff *default* 60 27%
scrolloff 8 38 17%
scrolloff 3 28 12%
scrolloff 5 27 12%
scrolloff 4 18 8%
scrolloff 10 13 6%
scrolloff 2 9 4%
scrolloff 6 6 3%
scrolloff 7 6 3%
scrolloff 1 5 2%
scrolloff 999 4 2%
scrolloff 12 3 1%
scrolloff 9 3 1%
scrolloff 20 2 1%
scrolloff 15 1 0%
scrolloff 35 1 0%
scrolloff 41 1 0%
scrolloff 50 1 0%
scrolloff 9999 1 1%
scrollopt *default* 223 98%
scrollopt ver,jump,hor 3 1%
scrollopt ver,hor,jump 1 1%
secure *default* 217 96%
secure true 10 4%
selection *default* 225 99%
selection exclusive 2 1%
selectmode *default* 226 100%
selectmode key 1 0%
sessionoptions *default* 196 87%
sessionoptions blank,buffers,curdir,folds,help,tabpages,winsize,terminal,globals 3 1%
sessionoptions blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal 3 1%
sessionoptions curdir,help,tabpages,winsize 3 1%
sessionoptions blank,buffers,curdir,folds,help,tabpages,winsize,terminal,winpos 2 1%
sessionoptions buffers 2 1%
sessionoptions blank,buffers,curdir,folds,help,resize,tabpages,winsize 1 0%
sessionoptions blank,buffers,curdir,folds,help,tabpages,winsize,options,localoptions,resize,terminal,winpos 1 0%
sessionoptions blank,buffers,curdir,folds,help,tabpages,winsize,terminal,blank,buffers,curdir,folds,help,options,winsize,resize,unix,slash 1 0%
sessionoptions blank,buffers,curdir,folds,help,tabpages,winsize,terminal,tabpages,globals 1 0%
sessionoptions blank,buffers,curdir,folds,help,tabpages,winsize,winpos 1 0%
sessionoptions blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions 1 0%
sessionoptions blank,buffers,curdir,help,terminal 1 0%
sessionoptions blank,buffers,tabpages,curdir,folds,resize,winpos,winsize 1 0%
sessionoptions blank,curdir,folds,help,tabpages,winsize,terminal,resize,winpos 1 0%
sessionoptions blank,curdir,folds,tabpages 1 0%
sessionoptions blank,curdir,help,tabpages,winsize,terminal 1 1%
sessionoptions buffers,curdir,folds,help,tabpages,winsize,terminal 1 1%
sessionoptions buffers,curdir,folds,help,tabpages,winsize,winpos,terminal 1 1%
sessionoptions buffers,curdir,folds,tabpages,winpos,winsize,terminal 1 1%
sessionoptions buffers,curdir,folds,tabpages,winsize 1 1%
sessionoptions buffers,curdir,folds,winpos,winsize,localoptions 1 1%
sessionoptions buffers,curdir,tabpages,winsize 1 1%
sessionoptions help,tabpages 1 1%
shada *default* 211 93%
shada !,'1000,<50,s10,h 3 1%
shada !,'300,<50,@100,s10,h 2 1%
shada !,'100,<30,:50,@50,/50,s10,h 1 0%
shada !,'1000,<1000,s1000,h 1 0%
shada !,'1000,<50,s100 1 0%
shada !,'1000,f1,<1000,h,% 1 0%
shada !,'150,<50,s30,h,r/tmp,r/run,rterm://,rfugitive://,rfern://,rman:// 1 0%
shada '0,<0,f0,s10,:100,@100,h,/0 1 0%
shada '100,/0,<0,s10 1 1%
shada '100,f100,h 1 1%
shada '100,h,rman:,rocto:,rterm:,r/nix/,r/private/tmp/,r/private/var/ 1 1%
shada '100,s10,/1000,:1000,h 1 1%
shada '2000,f1,<1000,:200,@100,/100,%20 1 1%
shadafile *default* 223 98%
shadafile .vim/main.shada 1 0%
shadafile /home/username/.local/share/nvim/shada/main.shada 1 0%
shadafile /Users/(username)/.cache/lvim/lvim.shada 1 1%
shadafile ~HOME/.local/state/avim/shada/avim.shada 1 1%
shell *default* 207 91%
shell zsh 5 2%
shell /bin/bash 4 2%
shell bash 4 2%
shell fish 2 1%
shell /bin/zsh 1 0%
shell /usr/local/bin/zsh 1 0%
shell bash --login 1 0%
shell pwsh 1 1%
shell pwsh.exe 1 1%
shellcmdflag *default* 225 99%
shellcmdflag -c 1 0%
shellcmdflag -NoLogo -NoProfile -ExecutionPolicy RemoteSigned -Command 1 1%
shellpipe *default* 226 100%
shellpipe 2>&1 | Out-File -Encoding UTF8 %s 1 0%
shellredir *default* 226 100%
shellredir 2>&1 | Out-File -Encoding UTF8 %s 1 0%
shellslash *default* 226 100%
shellslash true 1 0%
shelltemp *default* 225 99%
shelltemp false 2 1%
shellxquote *default* 225 99%
shellxquote 2 1%
shiftround *default* 182 80%
shiftround true 45 20%
shiftwidth 4 101 45%
shiftwidth 2 96 42%
shiftwidth 0 14 6%
shiftwidth *default* 14 6%
shiftwidth 3 2 1%
shortmess *default* 85 39%
shortmess filnxtToOFc 20 9%
shortmess filnxtToOFI 8 4%
shortmess filnxtToOFA 4 2%
shortmess filnxtToOFcI 4 2%
shortmess c 2 1%
shortmess filnxtToOFAI 2 1%
shortmess filnxtToOFcSI 2 1%
shortmess filnxtToOFs 2 1%
shortmess acFItWTo 1 0%
shortmess acoOsSWIF 1 0%
shortmess afilnxtToOFcI 1 0%
shortmess aFOTcoI 1 0%
shortmess aoOFc 1 0%
shortmess aoOstTWAcF 1 0%
shortmess aoOstTWcFS 1 0%
shortmess aoOTIc 1 0%
shortmess aoOTIcF 1 0%
shortmess atIAcW 1 0%
shortmess atToOFc 1 0%
shortmess atToOFcA 1 0%
shortmess atToOIc 1 0%
shortmess caAOstT 1 0%
shortmess cFfAIsOTWtmo 1 0%
shortmess cFxiloOtTnf 1 0%
shortmess ciItfFolsTOxSn 1 0%
shortmess csF 1 0%
shortmess FacItTs 1 0%
shortmess FftTioncxOl 1 0%
shortmess ficTxolOtFn 1 0%
shortmess filnxrtToOF 1 0%
shortmess filnxtaoOsTIcF 1 0%
shortmess filnxtToOc 1 0%
shortmess filnxtToOFAc 1 0%
shortmess filnxtToOFacI 1 0%
shortmess filnxtToOFcs 1 0%
shortmess filnxtToOFcS 1 0%
shortmess filnxtToOFIc 1 0%
shortmess filnxtToOFSI 1 0%
shortmess filnxtToOFWIcC 1 0%
shortmess finxtToOFIl 1 0%
shortmess fiOcoTlxtFn 1 0%
shortmess FofiIxsTOlnt 1 0%
shortmess fxticTlOoFn 1 0%
shortmess IFaWcs 1 0%
shortmess ifnITFstOolx 1 0%
shortmess ifTOIoFxtln 1 0%
shortmess infoOTFaxWlAtsI 1 0%
shortmess inlotfcxTOF 1 0%
shortmess inOSotsFcxTlf 1 0%
shortmess IoFftOnilTx 1 0%
shortmess ioTOFtcxfnl 1 0%
shortmess ioTOltFnfcxS 1 0%
shortmess iOxltcTFonf 1 0%
shortmess ITF 1 0%
shortmess itFnfOxcoTl 1 0%
shortmess itnflcoFTxO 1 0%
shortmess lFnoTOcixft 1 0%
shortmess lFtxOcionfT 1 0%
shortmess lFxcTiotOnf 1 0%
shortmess lFxtcifTOnoA 1 0%
shortmess lFxTOitcnfo 1 0%
shortmess litSnxcfoCOaIsFT 1 0%
shortmess litxnfoTOIsF 1 0%
shortmess lnOxcoTFift 1 0%
shortmess lOtnfFxociT 1 0%
shortmess lotTnfxIisOF 1 0%
shortmess ltncxoifOFT 1 1%
shortmess ltTnfxoicOF 1 1%
shortmess nfFxociOTltA 1 1%
shortmess nfFxTOilcto 1 1%
shortmess nficIoTOlxtF 1 1%
shortmess nfTOoiclxtF 1 1%
shortmess ocintlxFTOf 1 1%
shortmess oFcxtnfIiTOl 1 1%
shortmess OIciFxlotTnf 1 1%
shortmess olTxFnfitcO 1 1%
shortmess omsFOxItrnfcliT 1 1%
shortmess OnfoFcxlitT 1 1%
shortmess oOnfTxIWcisFtl 1 1%
shortmess otcTOnixfl 1 1%
shortmess otFnfOcTlix 1 1%
shortmess oTOFnfWclixt 1 1%
shortmess oTOlFxtfnai 1 1%
shortmess slctFnfxioTOI 1 1%
shortmess tFfTiOIsnolx 1 1%
shortmess tFnxTOiWcsfol 1 1%
shortmess tfxcloTOAiFn 1 1%
shortmess tIsoOxlinFTf 1 1%
shortmess TnclFxoOift 1 1%
shortmess tnfxisFoTOIl 1 1%
shortmess toflsiOInTFx 1 1%
shortmess TOioltxFfnc 1 1%
shortmess TOltFnfIocxi 1 1%
shortmess TOoxaAiItfnclF 1 1%
shortmess TOtnfxcolFi 1 1%
shortmess TtIcoOlfFinx 1 1%
shortmess xFciftOnoTl 1 1%
shortmess xflTiOonFSt 1 1%
shortmess xictolTOFnf 1 1%
shortmess xilcTFofntO 1 1%
shortmess xltFifOocTn 1 1%
shortmess xltnfFTicoOI 1 1%
shortmess xnfiOsTlIoFt 1 1%
shortmess xTcilftFnoO 1 1%
shortmess xtnfOcloiFT 1 1%
shortmess xTOiclFtonf 1 1%
showbreak *default* 177 79%
showbreak 7 3%
showbreak 5 2%
showbreak 5 2%
showbreak 4 2%
showbreak 4 2%
showbreak 3 1%
showbreak > 2 1%
showbreak 1 0%
showbreak 1 0%
showbreak > 1 0%
showbreak 1 0%
showbreak -> 1 0%
showbreak 1 0%
showbreak ››› 1 0%
showbreak \\\\ 1 0%
showbreak \\\\\\ 1 0%
showbreak \\\\\\\\\\ 1 0%
showbreak ↪  1 0%
showbreak 1 0%
showbreak + 1 1%
showbreak |-> 1 1%
showbreak |> 1 1%
showbreak 1 1%
showbreak 1 1%
showbreak 1 1%
showbreak 1 1%
showbreak 1 1%
showcmd *default* 214 94%
showcmd false 13 6%
showfulltag *default* 225 99%
showfulltag true 2 1%
showmatch *default* 179 79%
showmatch true 48 21%
showmode false 129 57%
showmode *default* 98 43%
showtabline *default* 113 50%
showtabline 2 96 42%
showtabline 0 18 8%
sidescroll *default* 218 96%
sidescroll 5 3 1%
sidescroll 2 2 1%
sidescroll 20 1 0%
sidescroll 3 1 0%
sidescroll 4 1 1%
sidescroll 6 1 1%
sidescrolloff *default* 152 67%
sidescrolloff 8 24 11%
sidescrolloff 5 21 9%
sidescrolloff 15 7 3%
sidescrolloff 10 6 3%
sidescrolloff 4 5 2%
sidescrolloff 6 3 1%
sidescrolloff 12 2 1%
sidescrolloff 2 2 1%
sidescrolloff 1 1 0%
sidescrolloff 16 1 0%
sidescrolloff 25 1 0%
sidescrolloff 3 1 1%
sidescrolloff 40 1 1%
signcolumn yes 106 47%
signcolumn *default* 76 34%
signcolumn number 14 6%
signcolumn yes:1 14 6%
signcolumn yes:2 7 3%
signcolumn no 3 1%
signcolumn yes:3 3 1%
signcolumn auto:1 1 0%
signcolumn auto:1-2 1 0%
signcolumn auto:1-3 1 1%
signcolumn auto:2-9 1 1%
smartcase true 183 81%
smartcase *default* 44 19%
smartindent *default* 133 59%
smartindent true 94 41%
smarttab *default* 224 99%
smarttab false 3 1%
softtabstop *default* 100 44%
softtabstop 4 64 28%
softtabstop 2 53 23%
softtabstop -1 9 4%
softtabstop 8 1 1%
spell *default* 214 94%
spell true 13 6%
spellcapcheck *default* 225 99%
spellcapcheck 2 1%
spelllang *default* 187 83%
spelllang en_us 7 3%
spelllang en_gb 6 3%
spelllang en,cjk 6 3%
spelllang en_us,pt_br 2 1%
spelllang en,de 2 1%
spelllang de,en 1 0%
spelllang el,en 1 0%
spelllang en_gb,en 1 0%
spelllang en_gb,en_us,de_20 1 0%
spelllang en_us,de_at,names,science 1 0%
spelllang en_us,nl 1 0%
spelllang en_us,ru_yo 1 0%
spelllang en,af 1 0%
spelllang en,es 1 0%
spelllang en,nl 1 0%
spelllang en,pl 1 0%
spelllang en,ru 1 1%
spelllang fr 1 1%
spelllang pl,en 1 1%
spelllang pt 1 1%
spelllang pt,en 1 1%
spelllang sv,en_gb 1 1%
spelloptions *default* 215 95%
spelloptions camel 10 4%
spelloptions camel,noplainbuffer 2 1%
spellsuggest *default* 222 98%
spellsuggest best,9 2 1%
spellsuggest 30 1 0%
spellsuggest best,10 1 0%
spellsuggest best,8 1 1%
splitbelow true 155 68%
splitbelow *default* 72 32%
splitkeep *default* 81 80%
splitkeep screen 18 18%
splitkeep topline 2 2%
splitright true 161 71%
splitright *default* 66 29%
startofline *default* 224 99%
startofline true 3 1%
statusline %#Normal# 126 56%
statusline *default* 23 10%
statusline %{%v:lua.require'feline'.generate_statusline()%} 20 9%
statusline %!v:lua.MiniStatusline.active() 9 4%
statusline %{%v:lua.require'heirline'.eval_statusline()%} 6 3%
statusline %!airline#statusline(1) 4 2%
statusline %!v:lua.require('nvchad_ui').statusline() 2 1%
statusline %{coc#status()}%{get(b:,'coc_current_function','')} 2 1%
statusline %{v:lua.Statusline_Filename()} %y%< | %{v:lua.Statusline_Getcwd()}%*%=%m%{v:lua.Statusline_DiagnosticStatus()}%{v:lua.Statusline_SpellingErrorCount()}%{v:lua.Statusline_GitSigns()} | %{v:lua.Statusline_Indent()}%{v:lua.Statusline_Fileencoding()}%{&fileformat!=#'unix'?',ff='.&fileformat:''}%R%{v:lua.Statusline_Wrappingmode()}%{&spell?',S':''}%{v:lua.Statusline_FeaturesEnabled()}%{v:lua.Statusline_List()} | %l/%L,%c 1 0%
statusline '%!luaeval("__.statusline.get_active_statusline()")' 1 0%
statusline '%{lightline#link()}%#LightlineLeft_active_0#%( %{lightline#mode()} %)%{(&paste)?"|":""}%( %{&paste?"PASTE":""} %)%#LightlineLeft_active_0_1#%#LightlineLeft_active_1#%( %{coc#status()} %)%{coc#status()!=#""&&((&readonly)||1||(&modified||!&modifiable))?"|":""}%( %R %)%{(&readonly)&&(1||(&modified||!&modifiable))?"|":""}%( %t %)%{(&modified||!&modifiable)?"|":""}%( %M %)%#LightlineLeft_active_1_2#%#LightlineMiddle_active#%=%#LightlineRight_active_2_3#%#LightlineRight_active_2#%( %{&ff} %)%{1||1?"|":""}%( %{&fenc!=#""?&fenc:&enc} %)%{1?"|":""}%( %{&ft!=#""?&ft:"no ft"} %)%#LightlineRight_active_1_2#%#LightlineRight_active_1#%( %3p%% %)%#LightlineRight_active_0_1#%#LightlineRight_active_0#%( %3l:%-2c %)' 1 0%
statusline '%{lightline#link()}%#LightlineLeft_active_0#%( %{lightline#mode()} %)%{(&paste)?"|":""}%( %{&paste?"PASTE":""} %)%#LightlineLeft_active_0_1#%#LightlineLeft_active_1#%( %R %)%{(&readonly)&&(1||(&modified||!&modifiable))?"|":""}%( %t %)%{(&modified||!&modifiable)?"|":""}%( %M %)%#LightlineLeft_active_1_2#%#LightlineLeft_active_2#%( %{FugitiveHead()} %)%#LightlineLeft_active_2_3#%#LightlineMiddle_active#%=%#LightlineRight_active_2_3#%#LightlineRight_active_2#%( %{&ff} %)%{1||1?"|":""}%( %{&fenc!=#""?&fenc:&enc} %)%{1?"|":""}%( %{&ft!=#""?&ft:"no ft"} %)%#LightlineRight_active_1_2#%#LightlineRight_active_1#%( %3p%% %)%#LightlineRight_active_0_1#%#LightlineRight_active_0#%( %3l:%-2c %)' 1 0%
statusline '%{lightline#link()}%#LightlineLeft_active_0#%( %{lightline#mode()} %)%{(&paste)?"":""}%( %{&paste?"PASTE":""} %)%#LightlineLeft_active_0_1#%#LightlineLeft_active_1#%( %{LightlineFugitive()} %)%{LightlineFugitive()!=#""&&(LightlineReadonly()!=#""||1||(&modified||!&modifiable)||exists("*coc#status")&&coc#status()!=#""||CocCurrentFunction()!=#"")?"":""}%( %{LightlineReadonly()} %)%{LightlineReadonly()!=#""&&(1||(&modified||!&modifiable)||exists("*coc#status")&&coc#status()!=#""||CocCurrentFunction()!=#"")?"":""}%( %t %)%{(&modified||!&modifiable)||exists("*coc#status")&&coc#status()!=#""||CocCurrentFunction()!=#""?"":""}%( %M %)%{(&modified||!&modifiable)&&(exists("*coc#status")&&coc#status()!=#""||CocCurrentFunction()!=#"")?"":""}%( %{exists("*coc#status")?coc#status():""} %)%{exists("*coc#status")&&coc#status()!=#""&&(CocCurrentFunction()!=#"")?"":""}%( %{CocCurrentFunction()} %)%#LightlineLeft_active_1_2#%#LightlineMiddle_active#%=%#LightlineRight_active_2_3#%#LightlineRight_active_2#%( %{&ff} %)%{1||1?"":""}%( %{&fenc!=#""?&fenc:&enc} %)%{1?"":""}%( %{&ft!=#""?&ft:"no ft"} %)%#LightlineRight_active_1_2#%#LightlineRight_active_1#%( %3p%% %)%#LightlineRight_active_0_1#%#LightlineRight_active_0#%(  %3l:%-2v %)' 1 0%
statusline %!airline#statusline(2) 1 0%
statusline %!luaeval('require(\"el\").run(1000)') 1 0%
statusline %!luaeval('require(\"mesopotamia.statusline_winbar\").super_custom_status_line()') 1 0%
statusline %!luaeval('STATUS(vim.g.statusline_winid)') 1 0%
statusline %!Status(1) 1 0%
statusline %!STLFunc() 1 0%
statusline %!v:lua.L.statusline.apply() 1 0%
statusline %!v:lua.require'locals.awesome.statusline'.render() 1 0%
statusline %!v:lua.Statusline.statusline() 1 0%
statusline %!v:lua.Statusline() 1 0%
statusline %!v:lua.WindLine.show(6,1000) 1 0%
statusline %{%luaeval('require(\"hardline\").update_statusline(true)')%} 1 0%
statusline %{%v:lua.QuackStatus()%} 1 0%
statusline %{%v:lua.require'nvim-navic'.get_location()%} 1 0%
statusline %{%v:lua.require'status-line'(v:true)%} 1 0%
statusline %{%v:lua.require('lines.statusline').statusline()%} 1 0%
statusline %{%v:lua.Status_Line()%} 1 1%
statusline %{%v:lua.status.get_statusline()%} 1 1%
statusline %{%v:lua.string.upper(v:lua.vim.fn.mode())%} %.30F %m%r%y%= %c %l/%L %P 1 1%
statusline %{FugitiveStatusline()}%< %t%m%< %h%< %r%< %w%=%l%=%p%% 1 1%
statusline %{lightline#link()}%#LightlineLeft_active_0#%( %{lightline#mode()} %)%{(&paste)?\"|\":\"\"}%( %{&paste?\"PASTE\":\"\"} %)%#LightlineLeft_active_0_1#%#LightlineLeft_active_1#%( %{pathshorten(fnamemodify(getcwd(), ':~'))} %)%{(expand('%:h') != '' && expand('%:h') != '.')||exists(\"*fugitive#head\")&&fugitive#head()!=#\"\"||(&readonly)||1||(&modified||!&modifiable)||(len(luaeval('__other_buffers()')) > 0)?\"|\":\"\"}%( %{luaeval('sl_reldir()')} %)%{(expand('%:h') != '' && expand('%:h') != '.')&&(exists(\"*fugitive#head\")&&fugitive#head()!=#\"\"||(&readonly)||1||(&modified||!&modifiable)||(len(luaeval('__other_buffers()')) > 0))?\"|\":\"\"}%( %{exists(\"*fugitive#head\")?fugitive#head():\"\"} %)%{exists(\"*fugitive#head\")&&fugitive#head()!=#\"\"&&((&readonly)||1||(&modified||!&modifiable)||(len(luaeval('__other_buffers()')) > 0))?\"|\":\"\"}%( %R %)%{(&readonly)&&(1||(&modified||!&modifiable)||(len(luaeval('__other_buffers()')) > 0))?\"|\":\"\"}%( %t %)%{(&modified||!&modifiable)||(len(luaeval('__other_buffers()')) > 0)?\"|\":\"\"}%( %M %)%{(&modified||!&modifiable)&&((len(luaeval('__other_buffers()')) > 0))?\"|\":\"\"}%( %{luaeval('sl_other_buffers()')} %)%#LightlineLeft_active_1_2#%#LightlineMiddle_active#%=%#LightlineRight_active_2_3#%#LightlineRight_active_2#%( %{&ff} %)%{1||1?\"|\":\"\"}%( %{&fenc!=#\"\"?&fenc:&enc} %)%{1?\"|\":\"\"}%( %{&ft!=#\"\"?&ft:\"no ft\"} %)%#LightlineRight_active_1_2#%#LightlineRight_active_1#%( %{&ft=='pandoc'?wordcount().words:''} %)%#LightlineRight_active_0_1#%#LightlineRight_active_0#%( %3l:%-2c %) 1 1%
statusline %#Ponton_void#%{%luaeval('require(\"ponton\").segment')(\"void\")%}%#Ponton_mode_margin_left# %#Ponton_mode#%{%luaeval('require(\"ponton\").segment')(\"mode\")%}%#Ponton_mode_margin_right# %#Ponton_buffer_changed#%{%luaeval('require(\"ponton\").segment')(\"buffer_changed\")%}%#Ponton_git_branch#%{%luaeval('require(\"ponton\").segment')(\"git_branch\")%}%#Ponton_spacer#%=%#Ponton_lsp_spinner#%{%luaeval('require(\"ponton\").segment')(\"lsp_spinner\")%}%#Ponton_lsp_error#%{%luaeval('require(\"ponton\").segment')(\"lsp_error\")%}%#Ponton_lsp_warning#%{%luaeval('require(\"ponton\").segment')(\"lsp_warning\")%}%#Ponton_lsp_information#%{%luaeval('require(\"ponton\").segment')(\"lsp_information\")%}%#Ponton_lsp_hint#%{%luaeval('require(\"ponton\").segment')(\"lsp_hint\")%}%#Ponton_line#%{%luaeval('require(\"ponton\").segment')(\"line\")%}%#Ponton_sep#%{%luaeval('require(\"ponton\").segment')(\"sep\")%}%#Ponton_column#%{%luaeval('require(\"ponton\").segment')(\"column\")%}%#Ponton_line_percent#%{%luaeval('require(\"ponton\").segment')(\"line_percent\")%} 1 1%
statusline %#Statement#%(%m%h%r%w %)%*%f%#FoldColumn#%( | %)%*%y%=%l:%c / %L%#FoldColumn#%( | %)%*%P 1 1%
statusline %#StatusLine# 1 1%
statusline %= 1 1%
statusline %0* %{g:currentmode[mode()]} %1* %<%t%m%r %2* %{LspReport()}%= %Y | %{&ff} | %{&fenc} %1* %3p%% %0* %{%WordCountOrRowCol()%} 1 1%
statusline %1*%{winnr()} %*%< %f %h%m%r%=%l,%c%V (%P) 1 1%
statusline %1*%f%*%m%w %y %{v:lua.require'lib.statusline'.git()} %{&spell ? printf('[spell=%s]', &spelllang) : ''} %2*%{v:lua.require'lib.statusline'.lint()}%* %2*%{v:lua.require'lib.statusline'.formatting()}%* %{v:lua.require'lib.statusline'.debugger()} %= %p%% %4l/%L:%-2c 1 1%
statusline %F %y %h%m%r%w%=L%l/%L (%P) Co%v Ch%c 1 1%
statusline %q%.20f%( [%M%R%H]%)%<%=%a 1 1%
suffixes *default* 220 97%
suffixes .bak,~,.o,.h,.info,.swp,.obj,.sty,.cls,.log,.aux,.bbl,.out,.blg,.brf,.cb,.dvi,.fdb_latexmk,.fls,.idx,.ilg,.ind,.inx,.pdf,.synctex.gz,.toc 2 1%
suffixes .pdf, .txt, .png, .jpg, .jpeg .mp3, .wav, .ttf 1 0%
suffixes .bak,~,.o,.h,.info,.swp,.obj,.pyc,.pyo,.egg-info,.class 1 0%
suffixes .bak,~,.o,.h,.info,.swp,.obj,.snap 1 0%
suffixes .bak,~,.o,.info,.swp,.obj 1 1%
suffixes .un~,.bak,~,.swp,.log,.data 1 1%
suffixesadd *default* 225 99%
suffixesadd .tex,.latex,.java,.js,.hrl,.erl,.lisp,.asd,.lua 1 0%
suffixesadd .ts 1 1%
switchbuf *default* 217 96%
switchbuf usetab 3 1%
switchbuf useopen 2 1%
switchbuf useopen,usetab 2 1%
switchbuf uselast,usetab,split 1 0%
switchbuf useopen,uselast 1 0%
switchbuf usetab,newtab 1 1%
synmaxcol *default* 208 92%
synmaxcol 250 4 2%
synmaxcol 300 4 2%
synmaxcol 240 3 1%
synmaxcol 1000 1 0%
synmaxcol 1024 1 0%
synmaxcol 200 1 0%
synmaxcol 2500 1 0%
synmaxcol 500 1 0%
synmaxcol 512 1 1%
synmaxcol 600 1 1%
synmaxcol 800 1 1%
tabline *default* 111 50%
tabline %!v:lua.nvim_bufferline() 51 23%
tabline %!v:lua.MiniTabline.make_tabline_string() 9 4%
tabline %!lightline#tabline() 3 1%
tabline %!v:lua.require'luatab'.helpers.tabline() 3 1%
tabline %!v:lua.require'tabline_framework'.make_tabline() 3 1%
tabline %!airline#extensions#tabline#get() 2 1%
tabline %!TabbyRenderTabline() 2 1%
tabline %!TabbyTabline() 2 1%
tabline %!TabooTabline() 2 1%
tabline %!v:lua.cokeline.tabline() 2 1%
tabline %!ctrlspace#api#Tabline() 1 0%
tabline %!luaeval('require(\"buftabline.build\")()') 1 0%
tabline %!luaeval('require(\"hardline\").update_bufferline()') 1 0%
tabline %!Tabline() 1 0%
tabline %!TALFunc() 1 0%
tabline %!v:lua.L.tabline.apply() 1 0%
tabline %!v:lua.my_tabline() 1 0%
tabline %!v:lua.nvim_tabline() 1 0%
tabline %!v:lua.require'locals.awesome.tabline'.render() 1 0%
tabline %!v:lua.require'settings'.tabline() 1 0%
tabline %!v:lua.require'tabline.tabline'.render() 1 0%
tabline %!v:lua.require('nvchad_ui').tabufline() 1 0%
tabline %!v:lua.require('tabline').render() 1 0%
tabline %!v:lua.tabline_buffers_tabs() 1 0%
tabline %!v:lua.WindLine.tabline.show() 1 0%
tabline %!xtabline#render#tabline() 1 0%
tabline %{%v:lua.require'config.ui.tabline'.tabline()%} 1 0%
tabline %{%v:lua.require'heirline'.eval_tabline()%} 1 0%
tabline %{%v:lua.require('tabline').get_tabline()%} 1 0%
tabline %{%v:lua.require('three.bufferline').render()%} 1 0%
tabline %#lualine_a_buffers_active#%1@LualineSwitchBuffer@ [No Name] %T%#lualine_transitional_lualine_a_buffers_active_to_lualine_c_command#%<%#lualine_c_command#%=%#lualine_transitional_lualine_z_tabs_active_to_lualine_c_command#%#lualine_z_tabs_active#%1@LualineSwitchTab@ 1 [No Name] %T 1 0%
tabline %#lualine_a_buffers_active#%1@LualineSwitchBuffer@ [No Name] %T%#lualine_transitional_lualine_a_buffers_active_to_TabLineFill# 1 0%
tabline %#lualine_a_buffers_inactive#%2@LualineSwitchBuffer@ keymaps.lua %T%#lualine_a_buffers_inactive#%3@LualineSwitchBuffer@ plugins.lua %T%#lualine_a_buffers_inactive#%4@LualineSwitchBuffer@ init.lua %T%#lualine_a_buffers_inactive#%5@LualineSwitchBuffer@ on_attach.lua %T%#lualine_a_buffers_active#%14@LualineSwitchBuffer@ survey.lua %T%<%#lualine_c_command#%=%#lualine_z_tabs_active#%1@LualineSwitchTab@ 1 %T 1 1%
tabline %#lualine_a_tabs_active#%1@LualineSwitchTab@ 1 neovim-options-servey.lua %T%#lualine_transitional_lualine_a_tabs_active_to_lualine_c_normal#%#lualine_c_normal#%= 1 1%
tabline %#lualine_a_tabs_active#%1@LualineSwitchTab@ 1 survey.lua %T%#lualine_transitional_lualine_a_tabs_active_to_lualine_c_normal#%#lualine_c_normal#%= 1 1%
tabline %#tabline_a_normal# %1@TablineSwitchBuffer@ Alpha %T%#tabline_a_to_c# %<%#lualine_c_normal#%=%#lualine_c_normal# %=%#TabLineFill#%999X %#lualine_transitional_lualine_a_command_to_TabLineFill#%#lualine_a_command# 17:29 1 1%
tabline %#tabline_a_normal# %3@TablineSwitchBuffer@  ads.js %T%#tabline_a_to_c# %<%#lualine_c_normal#%=%#lualine_transitional_lualine_y_aerial_FunctionIcon_command_to_lualine_c_normal#%#lualine_y_aerial_FunctionIcon_command#  %#lualine_y_aerial_Function_command#GMTisMobile %#lualine_b_normal#%#lualine_y_filetype_DevIconJs_command# %#lualine_b_normal# javascript %#lualine_transitional_lualine_a_normal_to_lualine_b_normal#%#lualine_a_normal# Top 1 1%
tabline %<%#lualine_c_buffers_active#%1@LualineSwitchBuffer@ [No Name] %T%#lualine_c_normal#%= 1 1%
tabline %1@BufferlineMainClickHandler@%#BufferInactiveSign#▎ %#BufferInactiveIndex#1 %1@BufferlineMainClickHandler@%#BufferInactive# %1@ BufferlineMainClickHandler@%#BufferInactive#[buffer 1] %1@BufferlineCloseClickHandler@%#BufferInactive# %4@BufferlineMainClickHandler@ %#BufferCurrentSign#▎ %#BufferCurrentIndex#2 %4@BufferlineMainClickHandler@%#DevIconDefaultCurrent# %4@BufferlineMainClickHandler@ %#BufferCurrent#[buffer 4] %4@BufferlineCloseClickHandler@%#BufferCurrent# %0@BufferlineMainClickHandler@ %#BufferTabpageFill#▎%#BufferTabpageFill# 1 1%
tabline %1@BufferlineMainClickHandler@%#BufferInactiveSign#▎ %#BufferInactiveIndex#1 %1@BufferlineMainClickHandler@%#BufferInactive# %1@BufferlineMainClickHandler@%#BufferInactive#[buffer 1] %1@BufferlineCloseClickHandler@%#BufferInactive# %4@BufferlineMainClickHandler@%#BufferCurrentSign#▎ %#BufferCurrentIndex#2 %4@BufferlineMainClickHandler@%#DevIconDefaultCurrent# %4@BufferlineMainClickHandler@%#BufferCurrent#[buffer 4] %4@BufferlineCloseClickHandler@%#BufferCurrent# %0@BufferlineMainClickHandler@%#BufferTabpageFill#▎%#BufferTabpageFill# 1 1%
tabline %1@BufferlineMainClickHandler@%#BufferInactiveSign#▎ %1@BufferlineMainClickHandler@%#BufferInactive# %1@BufferlineMainClickHandl er@%#BufferInactive#[buffer 1] %1@BufferlineCloseClickHandler@%#BufferInactive# %26@BufferlineMainClickHandler@%#BufferCurrentSign#▎ %26@BufferlineMainClickHandler@%#DevIconDefaultCurrent# %26@BufferlineMainClickHandler@%#BufferCurrent#[buffer 26] %26@BufferlineCloseCl ickHandler@%#BufferCurrent# %0@BufferlineMainClickHandler@%#BufferTabpageFill#▎%#BufferTabpageFill# 1 1%
tabline %1@BufferlineMainClickHandler@%#BufferInactiveSign#▎ %1@BufferlineMainClickHandler@%#BufferInactive# %1@BufferlineMainClickHandler@%#BufferInactive#[buffer ↳ 1] %1@BufferlineCloseClickHandler@%#BufferInactive# %3@BufferlineMainClickHandler@%#BufferCurrentSign#▎ %3@BufferlineMainClickHandler@%#DevIconDefaultCurrent# ↳ %3@BufferlineMainClickHandler@%#BufferCurrent#[buffer 3] %3@BufferlineCloseClickHandler@%#BufferCurrent# %0@BufferlineMainClickHandler@ ↳ %#BufferTabpageFill#▎%#BufferTabpageFill# 1 1%
tabline %1@BufferlineMainClickHandler@%#BufferInactiveSign#▎ %1@BufferlineMainClickHandler@%#BufferInactive# %1@BufferlineMainClickHandler@%#BufferInactive#[buffer 1] %1@BufferlineCloseClickHandler@%#BufferInactive# %7@BufferlineMainClickHandler@%#BufferCurrentSign#▎ %7@BufferlineMainClickHandler@%#DevIconDefaultCurrent# %7@BufferlineMainClickHandler@%#BufferCurrent#[buffer 7] %7@BufferlineCloseClickHandler@%#BufferCurrent# %0@BufferlineMainClickHandler@%#BufferTabpageFill#▎%#BufferTabpageFill# 1 1%
tabline %1@BufferlineMainClickHandler@%#BufferInactiveSign#▎ %1@BufferlineMainClickHandler@%#BufferInactive# %1@BufferlineMainClickHandler@%#BufferInactive#[buffer 1] %1@BufferlineCloseClickHandler@%#BufferInactive# %9@BufferlineMainClickHandler@%#BufferCurrentSign#▎ %9@BufferlineMainClickHandler@%#DevIconDefaultCurrent# %9@BufferlineMainClickHandler@%#BufferCurrent#[buffer 9] %9@BufferlineCloseClickHandler@%#BufferCurrent# %0@BufferlineMainClickHandler@%#BufferTabpageFill#▎%#BufferTabpageFill# 1 1%
tabline %1@BufferlineMainClickHandler@%#BufferInactiveSign#▎ %#BufferInactiveIndex#1 %1@BufferlineMainClickHandler@%#BufferInactiveIcon# %1@BufferlineMainClickHandler@%#BufferInactive#scratchpad.md %1@BufferlineCloseClickHandler@%#BufferInactive# %9@BufferlineMainClickHandler@%#BufferCurrentSign#▎ %#BufferCurrentIndex#2 %9@BufferlineMainClickHandler@%#BufferCurrentIcon# %9@BufferlineMainClickHandler@%#BufferCurrent#[buffer 9] %9@BufferlineCloseClickHandler@%#BufferCurrent# %0@BufferlineMainClickHandler@%#BufferTabpageFill#▎%#BufferTabpageFill# 1 1%
tabline %1@BufferlineMainClickHandler@%#BufferInactiveSign#▎ %1@BufferlineMainClickHandler@%#BufferInactive# %1@BufferlineMainClickHandler@%#BufferInactive#asd.lua %1@BufferlineCloseClickHandler@%#BufferInactive# %57@BufferlineMainClickHandler@%#BufferCurrentSign#▎ %57@BufferlineMainClickHandler@%#DevIconDefaultCurrent# %57@BufferlineMainClickHandler@%#BufferCurrent#[buffer 57] %57@BufferlineCloseClickHandler@%#BufferCurrent# %0@BufferlineMainClickHandler@%#BufferTabpageFill#▎%#BufferTabpageFill# 1 1%
tabline %5@BufferlineMainClickHandler@%#BufferInactiveSign#▎ %#BufferInactiveIndex#1 %5@BufferlineMainClickHandler@%#BufferInactive# %5@BufferlineMainClickHandler@%#BufferInactive#[buffer 5] %5@BufferlineCloseClickHandler@%#BufferInactive# %35@BufferlineMainClickHandler@%#BufferInactiveSign#▎ %#BufferInactiveIndex#2 %35@BufferlineMainClickHandler@%#BufferInactive# %35@BufferlineMainClickHandler@%#BufferInactive#mac.conf %35@BufferlineCloseClickHandler@%#BufferInactive# %37@BufferlineMainClickHandler@%#BufferInactiveSign#▎ %#BufferInactiveIndex#3 %37@BufferlineMainClickHandler@%#BufferInactive# %37@BufferlineMainClickHandler@%#BufferInactive#init.sh %37@BufferlineCloseClickHandler@%#BufferInactive# %39@BufferlineMainClickHandler@%#BufferInactiveSign#▎ %#BufferInactiveIndex#4 %39@BufferlineMainClickHandler@%#BufferInactive# %39@BufferlineMainClickHandler@%#BufferInactive#default.conf %39@BufferlineCloseClickHandler@%#BufferInactive# %53@BufferlineMainClickHandler@%#BufferInactiveSign#▎ %#BufferInactiveIndex#5 %53@BufferlineMainClickHandler@%#BufferInactive# %53@BufferlineMainClickHandler@%#BufferInactive#neovim-options-servey.lua %53@BufferlineCloseClickHandler@%#BufferInactive# %79@BufferlineMainClickHandler@%#BufferCurrentSign#▎ %#BufferCurrentIndex#6 %79@BufferlineMainClickHandler@%#DevIconDefaultCurrent# %79@BufferlineMainClickHandler@%#BufferCurrent#[buffer 79] %79@BufferlineCloseClickHandler@%#BufferCurrent# %0@BufferlineMainClickHandler@%#BufferTabpageFill#▎%#BufferTabpageFill# 1 1%
tabpagemax *default* 225 99%
tabpagemax 15 2 1%
tabstop 4 103 45%
tabstop 2 91 40%
tabstop *default* 31 14%
tabstop 3 2 1%
tagcase *default* 223 98%
tagcase smart 2 1%
tagcase followscs 1 0%
tagcase match 1 1%
tagfunc *default* 226 100%
tagfunc CocTagFunc 1 0%
tags *default* 217 96%
tags ./.git/tags;,./tags;,tags 2 1%
tags ./.git/.tags,.tags,/home/jonas/.vimtags,/home/jonas/.tags,$VIRTUAL_ENV/.tags; 1 0%
tags ./.tags 1 0%
tags ./.tags;,.tags 1 0%
tags ./tags,tags 1 0%
tags ./tags,tags;/Users/m1 1 0%
tags ./tags;,./.git/tags,tags 1 1%
tags ./tags;,.tags 1 1%
tags .tags,tags;/ 1 1%
termbidi *default* 226 100%
termbidi true 1 0%
termguicolors true 216 95%
termguicolors *default* 11 5%
textwidth *default* 192 85%
textwidth 80 9 4%
textwidth 100 7 3%
textwidth 120 7 3%
textwidth 78 3 1%
textwidth 79 3 1%
textwidth 160 1 0%
textwidth 480 1 0%
textwidth 66 1 0%
textwidth 88 1 1%
textwidth 90 1 1%
textwidth 99 1 1%
thesaurus *default* 223 98%
thesaurus /home/fiodar_fiodarau/.config/nvim/dict/mthesaur.txt 1 0%
thesaurus /Users/xxxxxx/.config/nvim/words/en.txt,/Users/xxxxxx/.config/nvim/words/en_thesaur.txt 1 0%
thesaurus ~/.config/nvim/thesaurus/thesaurus.txt 1 1%
thesaurus ~/.vim/thesaurus.txt 1 1%
tildeop *default* 220 97%
tildeop true 7 3%
timeout *default* 222 98%
timeout false 5 2%
timeoutlen *default* 144 64%
timeoutlen 500 41 18%
timeoutlen 300 11 5%
timeoutlen 400 8 4%
timeoutlen 200 4 2%
timeoutlen 250 3 1%
timeoutlen 100 2 1%
timeoutlen 2000 2 1%
timeoutlen 3000 2 1%
timeoutlen 350 2 1%
timeoutlen 700 2 1%
timeoutlen 900 2 1%
timeoutlen 0 1 0%
timeoutlen 360 1 0%
timeoutlen 50 1 0%
timeoutlen 5000 1 0%
title *default* 174 77%
title true 53 23%
titlelen *default* 225 99%
titlelen 10 1 0%
titlelen 20 1 1%
titleold *default* 224 99%
titleold <Space> 1 0%
titleold ${substitute(system(\"uname\"),'\\(.*\\)\\n','%\\1%','')} 1 0%
titleold footclient 1 1%
titlestring *default* 208 92%
titlestring %{utils#Get_titlestr()} 2 1%
titlestring ' %{expand("%:p")} ' 1 0%
titlestring '%{expand("%:~:h")}' 1 0%
titlestring '%t%( %M%)%( (%{expand("%:~:.:h")})%)%( %a%)' 1 0%
titlestring 'vi:%{expand("%:t:r")}' 1 0%
titlestring %.20F 1 0%
titlestring %{split(getcwd(), '/')[-1]} 1 0%
titlestring %t 1 0%
titlestring %t - nvim 1 0%
titlestring %t%M 1 0%
titlestring nvim 1 0%
titlestring nvim - %{getcwd()} 1 1%
titlestring nvim - %t 1 1%
titlestring nvim [%{v:lua.Titlestring_Filename()}%( %M%)] 1 1%
titlestring nvim %t 1 1%
titlestring pbogut@redeye:nvim:1432728:~ 1 1%
titlestring vim %{substitute(getcwd(), '/home/danieln', '~', 0)} 1 1%
titlestring  %t %H %M 1 1%
ttimeout *default* 225 99%
ttimeout false 2 1%
ttimeoutlen *default* 205 90%
ttimeoutlen 0 8 4%
ttimeoutlen 10 8 4%
ttimeoutlen 20 4 2%
ttimeoutlen 100 1 0%
ttimeoutlen 1000 1 0%
undofile true 147 65%
undofile *default* 80 35%
undolevels *default* 210 93%
undolevels 10000 6 3%
undolevels 2000 3 1%
undolevels 100 2 1%
undolevels 10000000 2 1%
undolevels 200 2 1%
undolevels 250 1 0%
undolevels 4096 1 0%
undoreload *default* 223 98%
undoreload 100 1 0%
undoreload 1000 1 0%
undoreload 10000000 1 1%
undoreload 500 1 1%
updatecount *default* 224 99%
updatecount 100 2 1%
updatecount 0 1 0%
updatetime *default* 71 31%
updatetime 300 60 27%
updatetime 100 26 12%
updatetime 250 25 11%
updatetime 50 10 4%
updatetime 500 9 4%
updatetime 1000 8 4%
updatetime 200 6 3%
updatetime 2000 3 1%
updatetime 400 2 1%
updatetime 700 2 1%
updatetime 750 2 1%
updatetime 120 1 0%
updatetime 1234 1 0%
updatetime 69 1 0%
viewoptions *default* 218 96%
viewoptions folds,cursor,curdir,slash,unix 3 1%
viewoptions cursor,folds 2 1%
viewoptions cursor,folds,options,unix,slash 1 0%
viewoptions cursor,folds,slash,unix 1 0%
viewoptions folds 1 1%
viewoptions folds,cursor 1 1%
viminfofile *default* 223 98%
viminfofile .vim/main.shada 1 0%
viminfofile /home/username/.local/share/nvim/shada/main.shada 1 0%
viminfofile /Users/(username)/.cache/lvim/lvim.shada 1 1%
viminfofile ~HOME/.local/state/avim/shada/avim.shada 1 1%
virtualedit *default* 189 83%
virtualedit block 24 11%
virtualedit onemore 9 4%
virtualedit block,onemore 3 1%
virtualedit all 2 1%
visualbell *default* 206 91%
visualbell true 21 9%
whichwrap *default* 181 80%
whichwrap b,s,<,>,[,],h,l 11 5%
whichwrap <,>,[,],b,h,l,s 10 5%
whichwrap <>[]hl,b,s 5 2%
whichwrap b,s,h,l,<,>,[,] 4 2%
whichwrap b,s,<,>,[,] 2 1%
whichwrap h,l 2 1%
whichwrap h,l,<,>,[,],~ 2 1%
whichwrap [,] 1 0%
whichwrap [,],b,s 1 0%
whichwrap <,>,[,],b,s,~ 1 0%
whichwrap <,>,[,],h,l,~ 1 0%
whichwrap <,>,h,l,[,] 1 0%
whichwrap <>[]hl 1 0%
whichwrap b,h,l,s 1 0%
whichwrap b,h,l,s,<,>,[,],~ 1 1%
whichwrap b,s,h,l 1 1%
whichwrap h,l,<,>,[,] 1 1%
wildcharm *default* 213 94%
wildcharm 9 11 5%
wildcharm 26 3 1%
wildignore *default* 178 80%
wildignore *.o,*.obj,*.dylib,*.bin,*.dll,*.exe,*/.git/*,*/.svn/*,*/__pycache__/*,*/build/**,*.jpg,*.png,*.jpeg,*.bmp,*.gif,*.tiff,*.svg,*.ico,*.pyc,*.pkl,*.DS_Store,*.aux,*.bbl,*.blg,*.brf,*.fls,*.fdb_latexmk,*.synctex.gz,*.xdv 2 1%
wildignore *.pyc 2 1%
wildignore __pycache__,*.o,*~,*.pyc,*pycache* 1 0%
wildignore .git,.hg,.svn,*.jpg,*.JPG,*.jpeg,*.JPEG,*.png,*.PNG,*.bmp,*.gif,*.o,*.obj,*.exe,*.dll,*.dylib,*.manifest,*.so,*.out,*.class,__pycache__,*.pyc,*pycache*,*.swp,*.swo,*.swn,*.DS_Store,*.ttf,*.otf 1 0%
wildignore .git,.hg,.svn,*.pyc,*.o,*.out,*.jpg,*.jpeg,*.png,*.gif,*.zip,**/tmp/**,*.DS_Store,**/node_modules/** 1 0%
wildignore .git,.hg,.svn,*.pyc,*.o,*.out,*.jpg,*.jpeg,*.png,*.gif,*.zip,**/tmp/**,*.DS_Store,**/node_modules/**,**/bower_modules/** 1 0%
wildignore .git,**/node_modules/*,**/bower_components/*,**/vendor/*,dist 1 0%
wildignore .git,*/node_modules/*,*/target/*,.metals,.bloop,.ammonite 1 0%
wildignore .lock,.sass-cache,.git,.hg,.svn,*.pyc,*.o,*.out,**/tmp/**,.DS_Store,**/node_modules/**,**/bower_modules/** 1 0%
wildignore .sass-cache,.DS_Store,.git$,~$,.swp$,gin-bin,*/node_modules/* 1 0%
wildignore .svelte-kit/*,.vim/*,node_modules/*,.git/*,yarn.lock,package-lock.json 1 0%
wildignore *.a,*.o,*.bmp,*.gif,*.ico,*.jpg,*.png,.DS_Store,.git,.hg,.svn,*~,*.swp,*.tmp 1 0%
wildignore *.a,*.o,*.pyc,*.class,*.so,*.bmp,*.gif,*.ico,*.jpg,*.png,.DS_Store,.git,.hg,.svn,*~,*.swp,*.tmp 1 0%
wildignore *.aux,*.out,*.toc,*.o,*.obj,*.exe,*.dll,*.jar,*.pyc,*.rbc,*.class,*.ai,*.bmp,*.gif,*.ico,*.jpg,*.jpeg,*.png,*.psd,*.webp,*.avi,*.m4a,*.mp3,*.oga,*.ogg,*.wav,*.webm,*.eot,*.otf,*.ttf,*.woff,*.doc,*.pdf,*.zip,*.tar.gz,*.tar.bz2,*.rar,*.tar.xz,*/vendor/gems/*,*/vendor/cache/*,*/.bundle/*,*.gem,.sass-cache,npm-debug.log,*.marko.js,*.min.*,*.*~,*~,*.swp,.lock,.DS_Store,._*,tags.lockset,*.mo,*.pyc,*__pycache__*,*.egg-info*,*.egg 1 0%
wildignore *.bak,*.e,*~,.hg,.git,.svn,*.aux,*.out,*.toc,*.jpg,*.bmp,*.gif,*.png,*.jpeg,*.o,*.obj,*.exe,*.dll,*.manifest,*.spl,*.sw?,*.DS_Store,*.luac,migrations,*.pyc,*.orig 1 0%
wildignore *.docx,*.pdf,*.exe,*.mcmeta,*.xlsx 1 0%
wildignore *.DS_Store 1 0%
wildignore *.gif,*.jpg,*.png,*.o,*.obj,.git,.svn,tmp 1 0%
wildignore *.git 1 0%
wildignore *.git/*,*.tags,tags,*.o,*.class 1 0%
wildignore *.o 1 0%
wildignore *.o,*.jpg,*.png,*.zip,*/tmp/* 1 0%
wildignore *.o,*.obj,.git,*.pyc,*.pyo,*.class,.hg,.hg,.git,.svn,*.aux,*.out,*.toc,*.jpg,*.bmp,*.gif,*.png,*.jpeg,*.o,*.obj,*.exe,*.dll,*.manifest,*.spl,*.sw?,*.DS_Store,*.luac,migrations,*.orig 1 0%
wildignore *.o,*.obj,*~,*.git*,*.meteor*,*vim/backups*,*sass-cache*,*mypy_cache*,*__pycache__*,*cache*,*logs*,*node_modules*,**/node_modules/**,*DS_Store*,*.gem,log/**,tmp/**,*package-lock.json*,**/dist/**,**/.next/**,**/.nx/** 1 0%
wildignore *.o,*.out,*.obj,.git,*.rbc,*.rbo,*.class,.svn,*.gem,*.pyc,*.swp,*~,*/.DS_Store 1 0%
wildignore *.o,*~,*.pyc 1 0%
wildignore *.o,*~,*.pyc,*.retry 1 0%
wildignore *.o,*~,*.pyc,*/.git/* 1 0%
wildignore *.png,*.jpg,*.jpeg,*.gif,*.wav,*.aiff,*.dll,*.pdb,*.mdb,*.so,*.swp,*.zip,*.gz,*.bz2,*.meta,*.svg,*.cache,*/.git/* 1 0%
wildignore *.so,*.swp,*.zip,*/node_modules/* 1 1%
wildignore *.so,/min/*.git,.hg,.svn,.stversions,*.pyc,*.spl,*.o,*.out,*~,%**.jpg,*.jpeg,*.png,*.gif,*.log,**/tmp/****/node_modules/**,**/bower_modules/**,*/.sass-cache/*__pycache__,*.egg-info*.out,*.obj,*.gem,*.pyc,*DS_Store**.zip,*.tar.gz,*.tar.bz2,*.rar,*.tar.xz*.swp,*~,._*,*/vendor/cache/* 1 1%
wildignore *.swp,*.bak,*.pyc,*.class 1 1%
wildignore *.swp,*.bak,*.pyc,*.class,*.synctex.gz,*.bcf,*.xdv,*.aux,*.bbl,*.blg,*.fdb_latexmk,*.fls,*.out,*.toc,*.run.xml 1 1%
wildignore *.swp,*.swo,*.class,*.pyc,__pycache__, 1 1%
wildignore **/.git/* 1 1%
wildignore **/node_modules/*,**/vendor/*,**/.git/*,**/coverage/*,**/code_coverage_html/* 1 1%
wildignore **/node_modules/** 1 1%
wildignore */.git/*,*/node_modules/* 1 1%
wildignore */dist*/*,*/**.min.*/,*/node_modules/**/* 1 1%
wildignore */node_modules/*,*/.git/* 1 1%
wildignore *\\tmp\\*,*.swp,*.zip,*.exe,node_modules/*,bower_components/* 1 1%
wildignore *~ 1 1%
wildignore *~,*.bak,*.un~,tags,*.data,*.jpg,*.gif,*.png,*.psd,*/__pycache__/*,*/venv*/*,*/node_modules/*,*/zig-cache/*,*/zig-out/* 1 1%
wildignore *~,%*,*.o,*.so,*.pyc,*.pdf,*.v.d,*.vo*,*.glob,*.cm*,*.aux,.git,.git/,**/.git/*,__pycache__,__pycache__/,**/__pycache__/*,target,target/,**/target/* 1 1%
wildignore *DS_STORE*,*.png,*.jpg,*.gif 1 1%
wildignore *node_modules/*,*bower_components/*,*venv/*,*__pycache__/*,*.pyc 1 1%
wildignore blue.vim,darkblue.vim,default.vim,delek.vim,desert.vim, elflord.vim,evening.vim,industry.vim,koehler.vim,morning.vim,murphy.vim, pablo.vim,peachpuff.vim,ron.vim,shine.vim,slate.vim,torte.vim,zellner.vim 1 1%
wildignorecase *default* 204 90%
wildignorecase true 23 10%
wildmenu *default* 226 100%
wildmenu false 1 0%
wildmode *default* 165 73%
wildmode longest:full,full 20 9%
wildmode longest,full 8 4%
wildmode list:longest 6 3%
wildmode list:longest,full 6 3%
wildmode longest,list,full 4 2%
wildmode longest:full 4 2%
wildmode list:longest,list:full 3 1%
wildmode longest,list 3 1%
wildmode full:lastused 1 0%
wildmode longest,full,full 1 0%
wildmode longest,full,longest,full 1 0%
wildmode longest,list,lastused 1 0%
wildmode longest:full,full,lastused:full 1 0%
wildmode longest:full,list,full 1 0%
wildmode longest:full,list:full 1 1%
wildmode longest:list,full 1 1%
wildoptions *default* 217 96%
wildoptions pum 9 4%
wildoptions tagfile 1 0%
winaltkeys *default* 226 100%
winaltkeys no 1 0%
winbar *default* 195 88%
winbar %{%v:lua.require'feline'.generate_winbar()%} 10 5%
winbar %{%v:lua.require'heirline'.eval_winbar()%} 2 1%
winbar %{%v:lua.require'nvim-navic'.get_location()%} 2 1%
winbar %!luaeval('require(\"mesopotamia.statusline_winbar\").super_custom_winbar()') 1 0%
winbar %!v:lua.Statusline.winbar() 1 0%
winbar %!v:lua.WindLine.show_winbar(6,1000) 1 0%
winbar %{%v:lua.require'util'.winbar()%} 1 0%
winbar %{%v:lua.require('m3dry.winbar').winbar()%} 1 0%
winbar %{%v:lua.status.get_winbar()%} 1 0%
winbar %{%v:lua.winbar_func()%} 1 0%
winbar %{%v:lua.Winbar()%} 1 0%
winbar %{%v:lua.winbarline()%} 1 0%
winbar %#NavicText# ~%#NavicSeparator# > %#NavicText#projects%#NavicSeparator# > %#NavicText#%@v:lua.require'barbecue.mouse'.navigate_1000_1_0@%#DevIconLua# %#NavicText#form.lua%X%#NavicSeparator# > %@v:lua.require'barbecue.mouse'.navigate_1000_11_6@%#NavicIconsArray# %#NavicText#bad_options%X%#NavicText#%= 1 0%
winbar %=%m %{fnamemodify(expand('%'), ':.')}:%L 1 1%
winbar %=%m %f 1 1%
winbar %=%m %y %f:%l:%c 1 1%
winbar %f%m 1 1%
winbar %m %t 1 1%
winblend *default* 214 94%
winblend 10 5 2%
winblend 20 3 1%
winblend 30 2 1%
winblend 15 1 0%
winblend 5 1 1%
winblend 8 1 1%
winfixheight *default* 223 98%
winfixheight true 4 2%
winfixwidth *default* 223 98%
winfixwidth true 3 1%
winfixwidth true 1 1%
winheight *default* 226 100%
winheight 20 1 0%
winhighlight *default* 218 96%
winhighlight CursorLine:CursorLine,CursorLineSign:CursorLineSign,CursorLineFold:CursorLineFold,Visual:Visual,CursorLineNr:CursorLineNr 1 0%
winhighlight CursorLine:CursorLine,Visual:Visual,CursorLineFold:CursorLineFold,CursorLineSign:CursorLineSign,CursorLineNr:CursorLineNr 1 0%
winhighlight CursorLineFold:CursorLineFold,CursorLineNr:CursorLineNr,Visual:Visual,CursorLine:CursorLine,CursorLineSign:CursorLineSign 1 0%
winhighlight CursorLineSign:CursorLineSign,CursorLineFold:CursorLineFold,Visual:Visual,CursorLineNr:CursorLineNr,CursorLine:CursorLine 1 0%
winhighlight EndOfBuffer:NvimTreeEndOfBuffer,Normal:NvimTreeNormal,CursorLine:NvimTreeCursorLine,CursorLineNr:NvimTreeCursorLineNr,WinSeparator:NvimTreeWinSeparator,StatusLine:NvimTreeStatusLine,StatusLineNC:NvimTreeStatuslineNC,SignColumn:NvimTreeSignColumn,NormalNC:NvimTreeNormalNC 1 0%
winhighlight Folded:NeogitFold,Folded:NeogitFold 1 1%
winhighlight Normal:ActiveWindow,NormalNC:InactiveWindow 1 1%
winhighlight SpecialKey:SpecialKeyWin 1 1%
winhighlight Visual:Visual,CursorLine:CursorLine,CursorLineFold:CursorLineFold,CursorLineSign:CursorLineSign,CursorLineNr:CursorLineNr 1 1%
winminheight *default* 221 97%
winminheight 0 5 2%
winminheight 5 1 1%
winminwidth *default* 218 96%
winminwidth 10 4 2%
winminwidth 0 3 1%
winminwidth 15 1 0%
winminwidth 5 1 1%
winwidth *default* 218 96%
winwidth 1 4 2%
winwidth 30 3 1%
winwidth 10 1 0%
winwidth 5 1 1%
wrap *default* 122 54%
wrap false 105 46%
wrapscan *default* 224 99%
wrapscan false 3 1%
writebackup *default* 173 76%
writebackup false 53 23%
writebackup true 1 1%
option value n
backspace eol 6
backspace indent 6
backspace start 6
backspace 2 4
backspace nostop 2
backspace 3 1
backupcopy yes 8
backupcopy auto 1
backupcopy breakhardlink 1
belloff cursor 1
breakat \ 9
breakat 6
breakat , 4
breakat : 4
breakat ! 4
breakat ? 4
breakat ; 3
breakat t 3
breakat . 2
breakat @ 2
breakat * 2
breakat / 2
breakat = 2
breakat - 1
breakat ( 1
breakat & 1
breakat ^ 1
breakat + 1
breakat I 1
breakindentopt shift:2 8
breakindentopt sbr 6
breakindentopt min:20 3
breakindentopt list:-1 2
breakindentopt shift:4 2
breakindentopt min:30 1
breakindentopt min:60 1
breakindentopt shift:1 1
cinoptions E-s 1
cinoptions g0 1
cinoptions N-s 1
clipboard unnamedplus 111
clipboard unnamed 25
colorcolumn 80 24
colorcolumn +1 14
colorcolumn 100 11
colorcolumn 120 11
colorcolumn 81 5
colorcolumn 99999 5
colorcolumn 90 4
colorcolumn 0 2
colorcolumn 140 2
colorcolumn 160 2
colorcolumn 79 2
colorcolumn 101 1
colorcolumn 121 1
colorcolumn 32 1
colorcolumn 66 1
colorcolumn 72 1
colorcolumn 89 1
comments b:# 17
comments :// 9
comments b:#: 9
comments :% 8
comments :XCOMM 8
comments ex:*/ 8
comments fb:- 8
comments mb:* 8
comments n:> 8
comments s1:/* 8
complete . 15
complete b 11
complete w 11
complete u 8
complete kspell 6
complete t 5
complete 3
complete k 2
complete i 1
completeopt menuone 153
completeopt noselect 140
completeopt menu 82
completeopt noinsert 36
completeopt preview 9
completeopt longest 6
cpoptions a 5
cpoptions A 5
cpoptions B 5
cpoptions c 5
cpoptions e 5
cpoptions F 5
cpoptions s 5
cpoptions _ 4
cpoptions n 4
cursorlineopt number 10
cursorlineopt screenline 3
cursorlineopt line 1
diffopt filler 50
diffopt internal 50
diffopt closeoff 45
diffopt vertical 24
diffopt indent-heuristic 18
diffopt algorithm:patience 17
diffopt linematch:60 16
diffopt algorithm:histogram 10
diffopt iwhite 8
diffopt hiddenoff 6
diffopt context:3 4
diffopt algorithm:minimal 2
diffopt context:0 1
diffopt context:5 1
diffopt foldcolumn:1 1
diffopt horizontal 1
diffopt iwhiteall 1
diffopt linematch:100 1
diffopt linematch:120 1
diffopt linematch:50 1
diffopt linematch:75 1
display lastline 4
display uhex 3
display msgsep 2
errorformat 3
errorformat line %l%*\\D%c%*[^ ] %m 1
errorformat \"%f\"\\ 1
errorformat \"%f\"%*\\D%l: %m 1
errorformat %-G%*[ ]from %f:%l 1
errorformat %-G%*[ ]from %f:%l: 1
errorformat %-G%*[ ]from %f:%l:%c 1
errorformat %-G%*[ ]from %f:%l\\ 1
errorformat %-G%f:%l: (Each undeclared identifier is reported only once 1
errorformat %-G%f:%l: for each function it appears in.) 1
errorformat %-GIn file included from %f:%l 1
errorformat %-GIn file included from %f:%l:%c 1
errorformat %-GIn file included from %f:%l:%c: 1
errorformat %-GIn file included from %f:%l:%c\\ 1
errorformat %*[^\"]\"%f\"%*\\D%l: %m 1
errorformat %\\s%#%\\d%#:%# %#from %f:%l:%m 1
errorformat %D%*\\a: Entering directory %*[`']%f' 1
errorformat %D%*\\a[%*\\d]: Entering directory %*[`']%f' 1
errorformat %DMaking %*\\a in %f 1
errorformat %f:%l:%c:%m 1
errorformat %f:%l:%m 1
errorformat %f(%l):%m 1
errorformat %f|%l| %m 1
errorformat %X%*\\a: Leaving directory %*[`']%f' 1
errorformat %X%*\\a[%*\\d]: Leaving directory %*[`']%f' 1
errorformat IN %f:%l:%m 1
eventignore CursorHold 26
eventignore CursorHoldI 26
fileencodings utf-8 9
fileencodings latin1 5
fileencodings ucs-bom 5
fileencodings big5 4
fileencodings euc-jp 4
fileencodings cp936 3
fileencodings gb18030 3
fileencodings euc-kr 2
fileencodings gbk 2
fileencodings cp1251 1
fileencodings cp1252 1
fileencodings cp949 1
fileencodings default 1
fileencodings gb2312 1
fileencodings iso-2022-jp 1
fileencodings latin-1 1
fileencodings sjis 1
fileencodings utf-16 1
fileencodings utf-16le 1
fileformats unix 10
fileformats dos 8
fileformats mac 7
fillchars eob: 44
fillchars fold: 43
fillchars vert:│ 16
fillchars vert:┃ 10
fillchars foldclose: 9
fillchars foldopen: 9
fillchars horiz:━ 9
fillchars horizdown:┳ 9
fillchars horizup:┻ 9
fillchars verthoriz:╋ 9
fillchars vertright:┣ 9
fillchars diff:╱ 8
fillchars vert: 7
fillchars foldsep: 6
fillchars vertleft:┫ 6
fillchars horiz: 4
fillchars msgsep:‾ 4
fillchars diff: 3
fillchars diff:/ 3
fillchars horizdown: 3
fillchars horizup: 3
fillchars verthoriz: 3
fillchars vertleft: 3
fillchars vertleft:┨ 3
fillchars vertright: 3
fillchars diff:⣿ 2
fillchars eob:~ 2
fillchars foldclose:▸ 2
fillchars foldopen:▾ 2
fillchars foldsep:│ 2
fillchars horiz:─ 2
fillchars horizdown:┬ 2
fillchars horizup:┴ 2
fillchars stl: 2
fillchars stlnc: 2
fillchars vert:| 2
fillchars verthoriz:┼ 2
fillchars vertleft:┤ 2
fillchars vertright:├ 2
fillchars diff:- 1
fillchars diff:― 1
fillchars diff:· 1
fillchars diff:─ 1
fillchars diff: 1
fillchars eob:  1
fillchars fold:- 1
fillchars fold:─ 1
fillchars fold:۰ 1
fillchars horiz:═ 1
fillchars horizdown:╦ 1
fillchars horizup:╩ 1
fillchars lastline:• 1
fillchars msgsep:◌ 1
fillchars stl:― 1
fillchars stl:─ 1
fillchars stlnc:- 1
fillchars stlnc:— 1
fillchars stlnc:─ 1
fillchars vert:║ 1
fillchars verthoriz:╬ 1
fillchars vertleft:╣ 1
fillchars vertright:╠ 1
foldclose all 1
foldmarker */ 1
foldmarker /* 1
foldopen mark 9
foldopen percent 9
foldopen quickfix 9
foldopen search 9
foldopen tag 9
foldopen undo 9
foldopen hor 8
foldopen jump 7
foldopen block 6
foldopen insert 2
formatoptions q 47
formatoptions j 43
formatoptions c 35
formatoptions t 25
formatoptions r 24
formatoptions n 21
formatoptions l 20
formatoptions 1 12
formatoptions o 8
formatoptions 2 5
formatoptions m 3
formatoptions B 2
formatoptions M 2
formatoptions v 1
formatoptions w 1
grepformat %f:%l:%c:%m 29
grepformat %f:%l:%m 14
grepformat %f %l%m 3
grepformat %f:%l%m 3
grepformat %f 1
grepformat %m %f match%ts 1
guicursor a:NoiceHiddenCursor 27
guicursor i-ci-ve:ver25 10
guicursor r-cr:hor20 8
guicursor 7
guicursor o:hor50 7
guicursor r-cr-o:hor20 5
guicursor sm:block-blinkwait175-blinkoff150-blinkon175 5
guicursor n-v-c-sm:block 4
guicursor n-v-c:block 4
guicursor a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor 3
guicursor i-ci-ve:ver25-ModesInsert 3
guicursor i-ci:ver25-Cursor/lCursor 3
guicursor n-v-c:block-Cursor/lCursor 3
guicursor n-v-c:block-Cursor/lCursor-blinkon0 3
guicursor r-cr-o:hor20-ModesOperator 3
guicursor r-cr:hor20-Cursor/lCursor 3
guicursor v-sm:block-ModesVisual 3
guicursor a:blinkwait700-blinkoff500-blinkon500 2
guicursor i-ci-ve:ver25-Cursor2/lCursor2 2
guicursor o:hor20 2
guicursor a:blinkwait600-blinkoff400-blinkon250-Cursor/lCursor 1
guicursor a:block 1
guicursor a:block-blinkon0 1
guicursor a:block-Caret 1
guicursor a:Cursor 1
guicursor a:Cursor/lCursor 1
guicursor c:ver25-blinkon300-CursorInsert 1
guicursor i-ci-ve:ver25-Cursor/lCursor 1
guicursor i-ci-ve:ver25-ICursor 1
guicursor i-ci:ver25-Cursor/lCursor-blinkwait30-blinkoff100-blinkon100 1
guicursor i-ve-r-cr-o:blinkoff500-blinkon500 1
guicursor i:ver25 1
guicursor i:ver25-blinkwait200-blinkoff150-blinkon200-CursorInsert 1
guicursor i:ver25-VimrInsertCursor 1
guicursor n-c-sm:block-Cursor 1
guicursor n-v-c-sm-i-ci-ve-r-cr-o:block 1
guicursor n-v-c:blinkon0 1
guicursor n-v-c:hor20 1
guicursor n:block-Cursor 1
guicursor r-cr-o:hor20-RCursor 1
guicursor r:blinkwait200-blinkoff150-blinkon200-CursorReplace 1
guicursor v:CursorVisual 1
guicursor v:hor10 1
guicursor v:VCursor 1
guifont monospace:h17 8
guifont JetBrainsMono Nerd Font Mono:h18 2
guifont :h11 1
guifont Agave:h16 1
guifont blexmono:h17 1
guifont Cascadia Mono PL:h13 1
guifont Consolas:h10 1
guifont DejaVuSansMono Nerd Font 1
guifont DejavuSansMono NF:h16 1
guifont FantasqueSansMono Nerd Font Mono:h16 1
guifont Fira Code Retina:h9 1
guifont Fira\\ Code 1
guifont FiraCode Nerd Font Mono 1
guifont FiraCode Nerd Font:h11 1
guifont FiraCode Nerd Font:h15 1
guifont FiraCode Nerd Font:h16 1
guifont FiraCode Nerd Font:h17 1
guifont FiraCode NFM:h15 1
guifont FuraCode Nerd Font Mono:h12 1
guifont Hack Nerd Font Mono:h15 1
guifont Hack Nerd Font Mono:h18 1
guifont Input Mono:h11.5 1
guifont Iosevka Fixed 1
guifont Iosevka Medium:h9 1
guifont Iosevka Nerd Font Mono:h10 1
guifont Iosevka Nerd Font Mono:h16 1
guifont Iosevka Nerd Font:h10 1
guifont JetBrains Mono:h10 1
guifont JetBrains_Mono_SemiBold_Nerd_Font_Complete:h12 1
guifont JetBrains_Mono:h16 1
guifont JetBrainsMono Nerd Font Regular:h13 1
guifont JetBrainsMono Nerd Font:h10 1
guifont JetBrainsMono Nerd Font:h12 1
guifont JetBrainsMono NF 1
guifont JetBrainsMono NF:h11 1
guifont JetBrainsMonoNL Nerd Font:h16 1
guifont Liga SFMono Nerd Font:h12 1
guifont Menlo:h14 1
guifont MonoLisa_Nerd_Font:h13.6 1
guifont MonoLisa:h12 1
guifont monospace:h14 1
guifont Roboto Mono Medium:h11 1
guifont Scientifica:h15 1
guifont SFmono Nerd Font:h15 1
guifont Source Code Pro_Light 1
guifont UbuntuMono NF:h10 1
guifont VictorMono Nerd Font:11 1
guifontwide JetBrains_Mono_SemiBold_Nerd_Font_Complete:h12 1
helplang en 200
helplang pt 3
helplang cn 2
helplang it 2
helplang ru 2
helplang es 1
helplang fr 1
helplang hu 1
helplang ko 1
indentkeys !^F 6
indentkeys o 6
indentkeys O 6
indentkeys 0) 5
indentkeys e 4
indentkeys : 3
indentkeys 0] 3
indentkeys 0{ 3
indentkeys 0} 3
indentkeys ] 2
indentkeys } 2
indentkeys & 2
indentkeys 0( 2
indentkeys 0# 2
indentkeys 0=\\else 2
indentkeys 0=\\fi 2
indentkeys 0=\\item 2
indentkeys 0=\\item[ 2
indentkeys 0=\\rangle 2
indentkeys 0=\\rbrace 2
indentkeys 0=\\rceil 2
indentkeys 0=\\rfloor 2
indentkeys 0=\\rvert 2
indentkeys 0=\\rVert 2
indentkeys 0=\\urcorner 2
indentkeys 0=end 2
indentkeys 0=until 2
indentkeys <:> 1
indentkeys =elif 1
indentkeys =except 1
isfname 6
isfname _ 5
isfname - 5
isfname . 5
isfname @ 5
isfname / 5
isfname # 5
isfname % 5
isfname + 5
isfname ~ 5
isfname $ 5
isfname 48-57 5
isfname @-@ 2
isfname = 2
iskeyword @ 29
iskeyword 192-255 29
iskeyword 48-57 29
iskeyword _ 28
iskeyword - 28
iskeyword @-@ 1
iskeyword $ 1
jumpoptions stack 9
keymodel startsel 1
keymodel stopsel 1
langmap < 1
langmap №;# 1
langmap аА;fF 1
langmap бБ;\\ 1
langmap вВ;dD 1
langmap гГ;uU 1
langmap дД;lL 1
langmap ёЁ;`~ 1
langmap еЕ;tT 1
langmap жЖ;\\;: 1
langmap зЗ;pP 1
langmap иИ;bB 1
langmap йЙ;qQ 1
langmap кК;rR 1
langmap лЛ;kK 1
langmap мМ;vV 1
langmap нН;yY 1
langmap оО;jJ 1
langmap пП;gG 1
langmap рР;hH 1
langmap сС;cC 1
langmap тТ;nN 1
langmap уУ;eE 1
langmap фисвуапршолдьтщзйкыегмцчня;abcdefghijklmnopqrstuvwxyz 1
langmap ФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯ;ABCDEFGHIJKLMNOPQRSTUVWXYZ 1
langmap фФ;aA 1
langmap хХ;[{ 1
langmap цЦ;wW 1
langmap чЧ;xX 1
langmap шШ;iI 1
langmap щЩ;oO 1
langmap ъЪ;]} 1
langmap ыЫ;sS 1
langmap ьЬ;mM 1
langmap эЭ;'\\\" 1
langmap юЮ;.> 1
langmap яЯ;zZ 1
listchars trail:· 49
listchars nbsp:+ 25
listchars nbsp:␣ 25
listchars trail:- 17
listchars tab:> 16
listchars space:· 13
listchars eol:↲ 12
listchars eol:¬ 12
listchars extends:» 12
listchars eol:↴ 11
listchars extends:> 11
listchars precedes:« 11
listchars tab: 11
listchars tab:» 11
listchars precedes:< 10
listchars tab:▸ 10
listchars extends:❯ 9
listchars precedes:❮ 9
listchars tab:>- 8
listchars trail:• 8
listchars extends:… 7
listchars extends:→ 7
listchars precedes:← 7
listchars tab:| 7
listchars nbsp:· 6
listchars precedes:… 6
listchars tab:→ 6
listchars conceal:┊ 5
listchars extends:⟩ 5
listchars lead:⋅ 5
listchars precedes:⟨ 5
listchars space:⋅ 5
listchars tab:»· 5
listchars trail:~ 5
listchars extends:› 4
listchars nbsp:○ 4
listchars precedes:‹ 4
listchars space: 4
listchars lead:· 3
listchars nbsp:⦸ 3
listchars tab:▸· 3
listchars trail:⋅ 3
listchars eol:¶ 2
listchars eol:$ 2
listchars eol:﬋ 2
listchars extends:< 2
listchars extends:▸ 2
listchars extends:◣ 2
listchars precedes:> 2
listchars precedes:◂ 2
listchars precedes:◢ 2
listchars space:• 2
listchars space:␣ 2
listchars tab:--> 2
listchars tab:>. 2
listchars tab:>· 2
listchars tab:│ 2
listchars tab:▷⋯ 2
listchars trail: 2
listchars trail:× 2
listchars conceal:* 1
listchars conceal:x 1
listchars eol:↩ 1
listchars eol:₋ 1
listchars extends:# 1
listchars extends:⇢ 1
listchars extends:▶ 1
listchars extends:▷ 1
listchars extends: 1
listchars lead:. 1
listchars lead:␣ 1
listchars lead:🞘 1
listchars leadmultispace:. 1
listchars leadmultispace:· 1
listchars leadmultispace:│ 1
listchars leadmultispace:│··· 1
listchars multispace: | 1
listchars multispace:---+ 1
listchars multispace:· 1
listchars multispace:·· 1
listchars multispace:···⬝ 1
listchars multispace:⋅ 1
listchars multispace:⋅ 1
listchars nbsp:_ 1
listchars nbsp:‗ 1
listchars nbsp:⁓ 1
listchars nbsp:. 1
listchars nbsp:⸱ 1
listchars nbsp:% 1
listchars nbsp:~ 1
listchars nbsp:∙ 1
listchars nbsp:⋅ 1
listchars nbsp:░ 1
listchars precedes:⇠ 1
listchars precedes:◀ 1
listchars precedes:◁ 1
listchars precedes: 1
listchars tab:--▸ 1
listchars tab:·· 1
listchars tab:»› 1
listchars tab:»» 1
listchars tab:‣ 1
listchars tab:˒ 1
listchars tab:→- 1
listchars tab:⇥ 1
listchars tab:< > 1
listchars tab:<-> 1
listchars tab:>>> 1
listchars tab:>⋅ 1
listchars tab:│→ 1
listchars tab:┆ 1
listchars tab:▶‒ 1
listchars tab:▷ 1
listchars tab:▷‒ 1
listchars tab:▷─ 1
listchars tab:▸- 1
listchars tab:▸\\ 1
listchars tab:ﲒ 1
listchars tab: 1
listchars tab: 1
listchars tab:\\ 1
listchars trail:. 1
listchars trail:… 1
listchars trail:* 1
listchars trail:¬ 1
listchars trail:∙ 1
listchars trail:≡ 1
listchars trail:⎵ 1
listchars trail:␣ 1
listchars trail:○ 1
listchars trail:𝁢 1
listchars trail:$ 1
listchars trail:x 1
matchpairs (:) 14
matchpairs [:] 14
matchpairs {:} 14
matchpairs <:> 13
matchpairs ‘:’ 2
matchpairs “:” 2
matchpairs 《:》 2
matchpairs 「:」 2
matchpairs 『:』 2
matchpairs 【:】 2
matchpairs «:» 1
mouse a 135
mouse n 18
mouse v 13
mouse c 5
mouse i 5
mouse r 3
mousescroll ver:1 4
mousescroll hor:1 2
mousescroll hor:6 2
mousescroll hor:3 1
mousescroll hor:4 1
mousescroll ver:3 1
mousescroll ver:5 1
nrformats bin 5
nrformats hex 5
nrformats alpha 3
nrformats unsigned 2
printoptions left:8pc 1
printoptions right:3pc 1
scrollopt hor 4
scrollopt jump 4
scrollopt ver 4
selectmode key 1
sessionoptions curdir 29
sessionoptions tabpages 28
sessionoptions winsize 27
sessionoptions buffers 25
sessionoptions help 24
sessionoptions folds 23
sessionoptions blank 20
sessionoptions terminal 18
sessionoptions winpos 13
sessionoptions resize 5
sessionoptions globals 4
sessionoptions localoptions 3
sessionoptions options 2
sessionoptions slash 1
sessionoptions unix 1
shada h 13
shada ! 10
shada s10 9
shada <50 7
shada '1000 6
shada '100 5
shada @100 4
shada <1000 3
shada '300 2
shada /0 2
shada <0 2
shada f1 2
shada :100 1
shada :1000 1
shada :200 1
shada :50 1
shada '0 1
shada '150 1
shada '2000 1
shada @50 1
shada /100 1
shada /1000 1
shada /50 1
shada % 1
shada %20 1
shada <30 1
shada f0 1
shada f100 1
shada r/nix/ 1
shada r/private/tmp/ 1
shada r/private/var/ 1
shada r/run 1
shada r/tmp 1
shada rfern:// 1
shada rfugitive:// 1
shada rman: 1
shada rman:// 1
shada rocto: 1
shada rterm: 1
shada rterm:// 1
shada s100 1
shada s1000 1
shada s30 1
shadafile .vim/main.shada 1
shadafile /home/username/.local/share/nvim/shada/main.shada 1
shadafile /Users/(username)/.cache/lvim/lvim.shada 1
shadafile ~HOME/.local/state/avim/shada/avim.shada 1
shortmess T 135
shortmess F 134
shortmess o 134
shortmess O 134
shortmess t 132
shortmess f 123
shortmess i 122
shortmess l 122
shortmess n 122
shortmess x 122
shortmess c 108
shortmess I 58
shortmess s 29
shortmess a 22
shortmess A 17
shortmess W 12
shortmess S 11
shortmess C 2
shortmess m 2
shortmess r 2
spelllang en 18
spelllang en_us 13
spelllang en_gb 9
spelllang cjk 6
spelllang de 3
spelllang nl 2
spelllang pl 2
spelllang pt 2
spelllang pt_br 2
spelllang af 1
spelllang de_20 1
spelllang de_at 1
spelllang el 1
spelllang es 1
spelllang fr 1
spelllang names 1
spelllang ru 1
spelllang ru_yo 1
spelllang science 1
spelllang sv 1
spelloptions camel 12
spelloptions noplainbuffer 2
spellsuggest best 4
spellsuggest 9 2
spellsuggest 10 1
spellsuggest 30 1
spellsuggest 8 1
suffixes .bak 6
suffixes .swp 6
suffixes ~ 6
suffixes .info 5
suffixes .o 5
suffixes .obj 5
suffixes .h 4
suffixes .log 3
suffixes .aux 2
suffixes .bbl 2
suffixes .blg 2
suffixes .brf 2
suffixes .cb 2
suffixes .cls 2
suffixes .dvi 2
suffixes .fdb_latexmk 2
suffixes .fls 2
suffixes .idx 2
suffixes .ilg 2
suffixes .ind 2
suffixes .inx 2
suffixes .out 2
suffixes .pdf 2
suffixes .sty 2
suffixes .synctex.gz 2
suffixes .toc 2
suffixes .jpeg .mp3 1
suffixes .jpg 1
suffixes .pdf 1
suffixes .png 1
suffixes .ttf 1
suffixes .txt 1
suffixes .wav 1
suffixes .class 1
suffixes .data 1
suffixes .egg-info 1
suffixes .pyc 1
suffixes .pyo 1
suffixes .snap 1
suffixes .un~ 1
suffixesadd .asd 1
suffixesadd .erl 1
suffixesadd .hrl 1
suffixesadd .java 1
suffixesadd .js 1
suffixesadd .latex 1
suffixesadd .lisp 1
suffixesadd .lua 1
suffixesadd .tex 1
suffixesadd .ts 1
switchbuf usetab 7
switchbuf useopen 5
switchbuf uselast 2
switchbuf newtab 1
switchbuf split 1
tags ./tags; 4
tags .tags 4
tags tags 4
tags ./.git/tags; 2
tags ./tags 2
tags ./.git/.tags 1
tags ./.git/tags 1
tags ./.tags 1
tags ./.tags; 1
tags /home/jonas/.tags 1
tags /home/jonas/.vimtags 1
tags $VIRTUAL_ENV/.tags; 1
tags tags;/ 1
tags tags;/Users/m1 1
thesaurus /home/fiodar_fiodarau/.config/nvim/dict/mthesaur.txt 1
thesaurus /Users/xxxxxx/.config/nvim/words/en_thesaur.txt 1
thesaurus /Users/xxxxxx/.config/nvim/words/en.txt 1
thesaurus ~/.config/nvim/thesaurus/thesaurus.txt 1
thesaurus ~/.vim/thesaurus.txt 1
viewoptions folds 9
viewoptions cursor 8
viewoptions slash 5
viewoptions unix 5
viewoptions curdir 3
viewoptions options 1
virtualedit block 27
virtualedit onemore 12
virtualedit all 2
whichwrap [ 42
whichwrap ] 42
whichwrap h 41
whichwrap l 41
whichwrap < 40
whichwrap > 40
whichwrap b 37
whichwrap s 37
whichwrap ~ 5
wildignore *.pyc 25
wildignore *.o 24
wildignore *.png 16
wildignore *.gif 15
wildignore *.jpg 15
wildignore *~ 15
wildignore .git 14
wildignore .svn 11
wildignore *.obj 11
wildignore *.swp 11
wildignore .hg 10
wildignore *.jpeg 10
wildignore *.out 10
wildignore *.class 9
wildignore *.bmp 8
wildignore *.DS_Store 8
wildignore *.exe 8
wildignore *.aux 7
wildignore *.dll 7
wildignore *.zip 7
wildignore *.so 6
wildignore */.git/* 6
wildignore */node_modules/* 6
wildignore .DS_Store 5
wildignore *.ico 5
wildignore **/node_modules/** 5
wildignore __pycache__ 4
wildignore *.bak 4
wildignore *.gem 4
wildignore *.toc 4
wildignore .sass-cache 3
wildignore *.bbl 3
wildignore *.blg 3
wildignore *.dylib 3
wildignore *.fdb_latexmk 3
wildignore *.fls 3
wildignore *.manifest 3
wildignore *.pdf 3
wildignore *.spl 3
wildignore *.svg 3
wildignore *.synctex.gz 3
wildignore *.xdv 3
wildignore **/.git/* 3
wildignore **/bower_modules/** 3
wildignore **/tmp/** 3
wildignore */__pycache__/* 3
wildignore ._* 2
wildignore .lock 2
wildignore *__pycache__* 2
wildignore *.a 2
wildignore *.bin 2
wildignore *.brf 2
wildignore *.luac 2
wildignore *.orig 2
wildignore *.otf 2
wildignore *.pkl 2
wildignore *.psd 2
wildignore *.rar 2
wildignore *.rbc 2
wildignore *.sw? 2
wildignore *.swo 2
wildignore *.tar.bz2 2
wildignore *.tar.gz 2
wildignore *.tiff 2
wildignore *.tmp 2
wildignore *.ttf 2
wildignore *.wav 2
wildignore **/node_modules/* 2
wildignore **/vendor/* 2
wildignore */.svn/* 2
wildignore */build/** 2
wildignore */vendor/cache/* 2
wildignore *pycache* 2
wildignore migrations 2
wildignore node_modules/* 2
wildignore tags 2
wildignore 1
wildignore elflord.vim 1
wildignore pablo.vim 1
wildignore __pycache__/ 1
wildignore .ammonite 1
wildignore .bloop 1
wildignore .git/ 1
wildignore .git/* 1
wildignore .git$ 1
wildignore .metals 1
wildignore .stversions 1
wildignore .svelte-kit/* 1
wildignore .swp$ 1
wildignore .vim/* 1
wildignore *__pycache__/* 1
wildignore *.*~ 1
wildignore *.ai 1
wildignore *.aiff 1
wildignore *.avi 1
wildignore *.bcf 1
wildignore *.bz2 1
wildignore *.cache 1
wildignore *.cm* 1
wildignore *.data 1
wildignore *.doc 1
wildignore *.docx 1
wildignore *.e 1
wildignore *.egg 1
wildignore *.egg-info* 1
wildignore *.egg-info*.out 1
wildignore *.eot 1
wildignore *.git 1
wildignore *.git* 1
wildignore *.git/* 1
wildignore *.glob 1
wildignore *.gz 1
wildignore *.jar 1
wildignore *.JPEG 1
wildignore *.JPG 1
wildignore *.log 1
wildignore *.m4a 1
wildignore *.marko.js 1
wildignore *.mcmeta 1
wildignore *.mdb 1
wildignore *.meta 1
wildignore *.meteor* 1
wildignore *.min.* 1
wildignore *.mo 1
wildignore *.mp3 1
wildignore *.oga 1
wildignore *.ogg 1
wildignore *.pdb 1
wildignore *.PNG 1
wildignore *.pyo 1
wildignore *.rbo 1
wildignore *.retry 1
wildignore *.run.xml 1
wildignore *.swn 1
wildignore *.tags 1
wildignore *.tar.xz 1
wildignore *.tar.xz*.swp 1
wildignore *.un~ 1
wildignore *.v.d 1
wildignore *.vo* 1
wildignore *.webm 1
wildignore *.webp 1
wildignore *.woff 1
wildignore *.xlsx 1
wildignore **/__pycache__/* 1
wildignore **/.next/** 1
wildignore **/.nx/** 1
wildignore **/bower_components/* 1
wildignore **/code_coverage_html/* 1
wildignore **/coverage/* 1
wildignore **/dist/** 1
wildignore **/target/* 1
wildignore **/tmp/****/node_modules/** 1
wildignore */.bundle/* 1
wildignore */.DS_Store 1
wildignore */.sass-cache/*__pycache__ 1
wildignore */**.min.*/ 1
wildignore */dist*/* 1
wildignore */node_modules/**/* 1
wildignore */target/* 1
wildignore */tmp/* 1
wildignore */vendor/gems/* 1
wildignore */venv*/* 1
wildignore */zig-cache/* 1
wildignore */zig-out/* 1
wildignore *\\tmp\\* 1
wildignore *bower_components/* 1
wildignore *cache* 1
wildignore *DS_Store* 1
wildignore *DS_STORE* 1
wildignore *DS_Store**.zip 1
wildignore *logs* 1
wildignore *mypy_cache* 1
wildignore *node_modules* 1
wildignore *node_modules/* 1
wildignore *package-lock.json* 1
wildignore *sass-cache* 1
wildignore *venv/* 1
wildignore *vim/backups* 1
wildignore /min/*.git 1
wildignore %* 1
wildignore %**.jpg 1
wildignore ~$ 1
wildignore blue.vim 1
wildignore bower_components/* 1
wildignore darkblue.vim 1
wildignore default.vim 1
wildignore delek.vim 1
wildignore desert.vim 1
wildignore dist 1
wildignore evening.vim 1
wildignore gin-bin 1
wildignore industry.vim 1
wildignore koehler.vim 1
wildignore log/** 1
wildignore morning.vim 1
wildignore murphy.vim 1
wildignore npm-debug.log 1
wildignore package-lock.json 1
wildignore peachpuff.vim 1
wildignore ron.vim 1
wildignore shine.vim 1
wildignore slate.vim 1
wildignore tags.lockset 1
wildignore target 1
wildignore target/ 1
wildignore tmp 1
wildignore tmp/** 1
wildignore torte.vim 1
wildignore yarn.lock 1
wildignore zellner.vim 1
wildmode full 45
wildmode longest:full 27
wildmode longest 19
wildmode list:longest 15
wildmode list 9
wildmode list:full 4
wildmode full:lastused 1
wildmode lastused 1
wildmode lastused:full 1
wildmode longest:list 1
wildoptions pum 9
wildoptions tagfile 1
winhighlight CursorLine:CursorLine 5
winhighlight CursorLineFold:CursorLineFold 5
winhighlight CursorLineNr:CursorLineNr 5
winhighlight CursorLineSign:CursorLineSign 5
winhighlight Visual:Visual 5
winhighlight Folded:NeogitFold 2
winhighlight CursorLine:NvimTreeCursorLine 1
winhighlight CursorLineNr:NvimTreeCursorLineNr 1
winhighlight EndOfBuffer:NvimTreeEndOfBuffer 1
winhighlight Normal:ActiveWindow 1
winhighlight Normal:NvimTreeNormal 1
winhighlight NormalNC:InactiveWindow 1
winhighlight NormalNC:NvimTreeNormalNC 1
winhighlight SignColumn:NvimTreeSignColumn 1
winhighlight SpecialKey:SpecialKeyWin 1
winhighlight StatusLine:NvimTreeStatusLine 1
winhighlight StatusLineNC:NvimTreeStatuslineNC 1
winhighlight WinSeparator:NvimTreeWinSeparator 1
  • Having script produce only non-default options seems like a nice decision to have it value on its own, but introduced unnecessary complications in analysis. Like computing share (percentage) of answer depends on Neovim version, because option can be present not in all versions (it can be added, like 'splitkeep', or removed, like 'cscopetag').

    I think a better decision might be take a snapshot of all presently set built-in options.

  • Update script to separate "list options" on user side. They can be determined by commalist and flaglist fields of vim.api.nvim_get_option_info() output. NOTE: they are not mutually exclusive, see :lua print(vim.inspect(vim.api.nvim_get_option_info('whichwrap'))).

  • It would be better if script created file and this file will uploaded (better yet, automatically). Asking user to copy-paste text will lead to parsing complications (like users copying with line numbers or extra whitespace, etc.).

    I tried to do this initially, but didn't find a way of uploading files both convenient for users (no need for registration, and so on) and future extraction (batch download with useful information like upload time, etc.).

  • It would be better to find a way of collecting options not inside scratch buffer, because it interferes with option values (like 'hide'). Or better, systematize which options should be collected (global/local/etc.).

# Code for processing results of "Neovim built-in options survey":
# - Google form: https://forms.gle/ciFiJ6z1VaQe8iN56
# - Reddit announcement:
# https://www.reddit.com/r/neovim/comments/z1tmjg/neovim_builtin_options_survey_needs_your/?utm_source=share&utm_medium=web2x&context=3
library(dplyr)
library(ggplot2)
library(purrr)
library(readr)
library(stringr)
library(tibble)
library(tidyr)
# Read survey answers =========================================================
process_string_answer <- function(string_answer) {
dummy_result <- data.frame(option = character(), value = character())
if (is.na(string_answer) || string_answer == "") {
return(dummy_result)
}
# Clean string input
string_result <- string_answer |>
# Remove guard lines (although many did not supply them)
str_remove_all("[:space:]*---Please copy all lines---[:space:]*") |>
# Clean up messy submissions
# Lines with trailing whitespace
str_replace_all("[:space:]*\n[:space:]*", "\n") |>
# Lines copied with Neovim's line numbers (absolute or relative)
str_remove_all("^[:space:]*[0-9]+[:space:]*") |>
str_replace_all("\n[:space:]*[0-9]+[:space:]*", "\n")
if (!str_detect(string_result, "^neovim_version,")[[1]]) {
return(dummy_result)
}
# Convert to data frame
read_delim(
string_result,
delim = ",",
col_names = c("option", "value"),
col_types = "cc",
escape_double = FALSE,
na = c("NA"),
progress = FALSE
)
}
raw_results <- read_csv("neovim-options-survey_results.csv", na = c("NA"))
colnames(raw_results) <- c("timestamp", "string_answer")
results <- map_dfr(raw_results[["string_answer"]], process_string_answer)
n_answers <- sum(results$option == "neovim_version")
# Check duplicated answers (usually only empty strings)
is_answer_dupl <- duplicated(raw_results$string_answer)
raw_results$string_answer[is_answer_dupl]
# Create all possible version range counts ====================================
# Create information about options that are not present in all tested Neovim
# versions (0.7.2, 0.8.0, 0.9.0 (2022-12-05 nightly)). Done by taking output
# keys of `vim.api.nvim_get_all_options_info()` (executed in every Neovim
# version) and removing common ones (present in all three of them).
# Helper code looked something like this:
# ```r
# option_files <- list.files(pattern = "^neovim-options_version")
# options_per_version <- lapply(option_files, readLines)
# names(options_per_version) <- option_files
# common_options <- Reduce(intersect, options_per_version)
#
# non_common_options <- lapply(options_per_version, setdiff, common_options)
# ```
special_option_version_ranges <- tribble(
~option, ~version_range,
# Added in Neovim=0.8
"mousemoveevent", ">=0.8",
"mousescroll", ">=0.8",
"winbar", ">=0.8",
# Added in Neovim=0.9
"endoffile", ">=0.9",
"lispoptions", ">=0.9",
"splitkeep", ">=0.9",
# Removed in Neovim=0.9 (https://github.com/neovim/neovim/pull/20545)
"cscopepathcomp", "<0.9",
"cscopeprg", "<0.9",
"cscopequickfix", "<0.9",
"cscoperelative", "<0.9",
"cscopetag", "<0.9",
"cscopetagorder", "<0.9",
"cscopeverbose", "<0.9"
)
# Compute data about possible number of answers which could have set the option
version_ranges_equal <- results |>
filter(option == "neovim_version") |>
mutate(
# Convert to number for correct sort
value = as.numeric(str_extract(value, "^\\d+\\.\\d+"))
) |>
count(value, name = "n_possible") |>
arrange(value) |>
transmute(range = str_c("=", value), n_possible)
version_ranges_removed <- version_ranges_equal |>
transmute(
range = str_replace(range, "^=", "<"),
# If option was removed in `0.x`, count all answers with Neovim version
# strictly less than `0.x`
n_possible = cumsum(lag(n_possible, default = 0))
)
version_ranges_added <- version_ranges_removed |>
transmute(
range = str_replace(range, "^<", ">="),
n_possible = n_answers - n_possible
)
version_ranges <- bind_rows(
tibble(range = "all", n_possible = n_answers),
version_ranges_removed,
version_ranges_added
)
add_n_possible <- function(df) {
df |>
# Add number of answers which could have set corresponding option
left_join(special_option_version_ranges, by = c(option = "option")) |>
mutate(version_range = coalesce(version_range, "all")) |>
left_join(version_ranges, by = c(version_range = "range")) |>
# Remove temporary column
select(-version_range)
}
# Add number of answers with default option values ============================
default_counts <- results |>
count(option) |>
# Don't add default versions of Neovim version (no such thing) and Leader key
# (treat `"nil"` as default later)
filter(!(option %in% c("neovim_version", "leader"))) |>
add_n_possible() |>
transmute(option = option, value = "*default*", n = n_possible - n)
results_summary <- bind_rows(
results |> count(option, value),
default_counts
) |>
mutate(
# Tweak "leader" option
# - Use `nil` value as `*default*` (as documented in `:h mapleader`)
# - Use `"<Space>"` instead of literal `" "`
value = ifelse(option == "leader" & value == "nil", "*default*", value),
value = ifelse(value == " ", "<Space>", value)
) |>
# Arrange per option
arrange(option, desc(n))
# Enrich result counts ========================================================
round_preserve_sum <- function(x, digits = 0) {
# https://stackoverflow.com/a/35930285
up <- 10^digits
x <- x * up
y <- floor(x)
indices <- tail(order(x - y), round(sum(x)) - sum(y))
y[indices] <- y[indices] + 1
y / up
}
share_to_percent <- function(x) {
percent_number <- round_preserve_sum(100 * x / sum(x))
str_c(percent_number, "%")
}
results_summary <- results_summary |>
add_n_possible() |>
# Compute share of answer along its count
transmute(option, value, n, share = round(n / n_possible, digits = 3)) |>
filter(
# Don't count `bufhidden` because options were collected in scratch buffer
# (which always has value `"hide"`)
option != "bufhidden",
# Don't count `viminfo` because during `:source neovim-options-survey.lua`
# default value is shown as empty string while returned value is the one
# actually used
option != "viminfo"
) |>
# Add percent string
group_by(option) |>
mutate(percent = share_to_percent(share)) |>
ungroup()
# Analyze "list options" ======================================================
# A "list option" is one that can contain many sub values combined with either
# a comma ("commalist option") or empty string ("flaglist option"). Exact lists
# for both of them is taken via `commalist` and `flaglist` boolean flags in
# output of `vim.api.nvim_get_all_options_info()`.
#
# Convert each sub value into a separate one.
spread_list_options <- function(summary_df, option_names, sep) {
summary_df |>
filter(option %in% option_names) |>
# Could use `separate_rows()`, but it doesn't work well with `sep = ""`
# (adds extra `""` as result of separation)
mutate(value = str_split(value, sep)) |>
unnest_longer(value) |>
# Ensure that output is always string
mutate(value = as.character(value))
}
commalist_options <- c(
"backspace", "backupcopy", "backupdir", "backupskip",
"belloff", "breakindentopt", "casemap", "cdpath",
"cinkeys", "cinoptions", "cinscopedecls", "cinwords",
"clipboard", "colorcolumn", "comments", "complete",
"completeopt", "cscopequickfix", "cursorlineopt", "dictionary",
"diffopt", "directory", "display", "errorformat",
"eventignore", "fileencodings", "fileformats", "fillchars",
"foldclose", "foldmarker", "foldopen", "grepformat",
"guicursor", "guifont", "guifontwide", "helplang",
"highlight", "indentkeys", "isfname", "isident",
"iskeyword", "isprint", "jumpoptions", "keymodel",
"langmap", "lispwords", "listchars", "matchpairs",
"mousescroll", "mouseshape", "nrformats", "packpath",
"path", "printoptions", "redrawdebug", "runtimepath",
"scrollopt", "selectmode", "sessionoptions", "shada",
"shadafile", "spellfile", "spelllang", "spelloptions",
"spellsuggest", "suffixes", "suffixesadd", "switchbuf",
"tags", "termpastefilter", "thesaurus", "undodir",
"varsofttabstop", "vartabstop", "viewoptions", "virtualedit",
"wildignore", "wildmode", "wildoptions", "winhighlight"
)
flaglist_options <- c(
"breakat", "cpoptions", "formatoptions", "guioptions", "mouse", "shortmess",
# NOTE: 'whichwrap' is included in "flaglist", but it can also have comma
# separated values. Will be processed separately.
"whichwrap"
)
results_listoptions <- bind_rows(
results |> spread_list_options(commalist_options, sep = ","),
results |>
mutate(
value = ifelse(option == "whichwrap", str_remove_all(value, ","), value)
) |>
spread_list_options(flaglist_options, sep = "")
)
results_listoptions_summary <- results_listoptions |>
count(option, value, sort = TRUE)
# Barplot of "interesting" options ============================================
interesting_options <- tribble(
~option, ~default_value,
"cursorline", "false",
"cursorcolumn", "false",
"expandtab", "false",
"ignorecase", "false",
"laststatus", "2",
"leader", "\\",
"mouse", "nvi",
"number", "false",
"relativenumber", "false",
"shiftwidth", "8",
"showtabline", "1",
"showmode", "true",
"signcolumn", "auto",
"smartcase", "false",
"splitbelow", "false",
"splitright", "false",
"tabstop", "8",
"termguicolors", "false",
"undofile", "false",
"wrap", "true"
)
interesting_summary <- results_summary |>
inner_join(interesting_options, by = "option") |>
mutate(
# Replace "*default*" placeholder with actual default value
value = ifelse(value == "*default*", default_value, value),
# Squash rare non-default option values into `rare`
value = ifelse(value != default_value & share < 0.1, "rare", value),
) |>
group_by(option, value) |>
summarise(n = sum(n), share = sum(share), .groups = "drop_last") |>
mutate(percent = share_to_percent(share)) |>
ungroup()
# Create plotting data
plot_data <- interesting_summary |>
group_by(option) |>
mutate(
# Add with-in group id for a more pretty bar order for same option
group_id = rank(share),
# Enclose string option values in quotes
value_label = ifelse(
option %in% c("leader", "mouse", "signcolumn") & value != "rare",
str_c('"', value, '"'),
value
),
) |>
ungroup() |>
# Create bar color variable
left_join(interesting_options, by = "option") |>
mutate(
color_var = case_when(
value == "rare" ~ "rare non-default\n(less than 10%)",
value == default_value ~ "default",
TRUE ~ "non-default"
)
) |>
select(-default_value) |>
arrange(option, desc(share))
plot_option_order <- plot_data |>
filter(color_var == "default") |>
arrange(desc(share)) |>
pull(option)
colors <- c(
bg = "#0F191F",
bg_gray = "#42474B",
fg = "#D0D0D0",
default = "#8FFF6D",
"non-default" = "#09BDF9",
rare = "#AAAAAA"
)
dodge2 <- position_dodge2(width = 0.9, padding = 0.1, preserve = "single")
font_family <- "Input"
gg <- ggplot(
plot_data,
aes(option, share, group = group_id, fill = color_var)
) +
# Plot bars
geom_col(position = dodge2) +
# Plot text labels: option value and percent
geom_text(
aes(label = value_label, y = -0.005),
position = dodge2,
hjust = 1,
color = colors[["fg"]], family = font_family, size = 3, fontface = "bold"
) +
geom_text(
aes(label = percent),
position = dodge2,
hjust = -0.05,
color = colors[["fg"]], family = font_family, size = 3, fontface = "bold"
) +
# Make horizontal bars
coord_flip() +
# Tweak scales
scale_x_discrete(limits = plot_option_order) +
scale_y_continuous(
# Show no tick labels
breaks = c(),
# Make sure that labels are shown. Tightly connected to size of save plot.
expand = c(0.25, 0)
) +
scale_fill_manual(
values = c(
default = colors[["default"]],
"non-default" = colors[["non-default"]],
"rare non-default\n(less than 10%)" = colors[["rare"]]
),
name = NULL
) +
# Add main text
labs(
x = NULL,
y = NULL,
title = "Usage of basic Neovim built-in options",
subtitle = paste0(
"Based on a survey from 2022-11-22 to 2022-12-08\n",
"Total number of answers: ", n_answers
),
caption = "Made by @echasnovski"
) +
# Modify theme
theme(
rect = element_rect(fill = colors[["bg"]]),
text = element_text(family = font_family, size = 10, color = colors[["fg"]])
) +
theme(
legend.position = "top",
legend.justification = "left",
# Set panel theme
panel.background = element_rect(fill = colors[["bg"]]),
legend.background = element_rect(linewidth = 0),
legend.key = element_rect(color = colors[["bg"]]),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.ticks.y = element_blank(),
# Set text theme
axis.text = element_text(face = "bold", size = 12, color = colors[["fg"]]),
title = element_text(size = 12, face = "bold"),
# Show only left axe
axis.line.y.left = element_line(color = colors[["bg_gray"]]),
axis.line.y.right = element_blank(),
axis.line.x.bottom = element_blank(),
axis.line.x.top = element_blank(),
# Align title to left of the plot
plot.title.position = "plot"
)
# Save output artefacts =======================================================
# Plot with summary of basic options
ggsave(
"neovim-survey-summary_basic-options-plot.png",
plot = gg,
width = 5,
height = 12,
units = "in",
)
# Summary of top non-default options
results_summary |>
filter(
# Don't Neovim version as option
option != "neovim_version",
# "Most common" meaning at least 25% set it
share >= 0.25,
# "Non-default"
value != "*default*",
) |>
arrange(desc(share)) |>
select(-share) |>
write_csv("neovim-survey-summary_top-nondefault.csv")
# Summary of all answers
results_summary |>
select(-share) |>
write_csv("neovim-survey-summary_all.csv")
# Summary of separated list options
write_csv(
results_listoptions_summary |> arrange(option, desc(n)),
"neovim-survey-summary_separated-listoptions.csv"
)
-- Get Neovim version
local version = vim.version()
if version.major == 0 and version.minor < 7 then error('This script needs at least Neovim 0.7.') end
-- Create scratch buffer to better track options and paste output lines
local buf_id = vim.api.nvim_create_buf(true, true)
vim.api.nvim_set_current_buf(buf_id)
-- Define "bad" (non-transferable) options
--stylua: ignore
local bad_options = {
-- Current GUI options
'columns', 'lines', 'scroll', 'window',
-- Related to paths (not safe to transfer)
'cdpath', 'packpath', 'path', 'runtimepath',
'backupdir', 'directory', 'viewdir', 'undodir',
'helpfile', 'spellfile',
'backupskip',
'dictionary',
-- Only buffer-local which are fixed for current scratch buffer
'buftype', 'swapfile', 'modeline',
}
-- Start creating output lines
local lines = { '---Please copy all lines---' }
-- Add Neovim version
table.insert(lines, string.format('neovim_version,%d.%d.%d', version.major, version.minor, version.patch))
-- Add leader key
table.insert(lines, 'leader,' .. vim.inspect(vim.g.mapleader))
-- Add non-default options
local option_lines = {}
for name, info in pairs(vim.api.nvim_get_all_options_info()) do
local has_value, value = pcall(vim.api.nvim_get_option_value, name, {})
local is_ok_option = has_value and value ~= info.default and not vim.tbl_contains(bad_options, name)
if is_ok_option then table.insert(option_lines, string.format('%s,%s', name, vim.inspect(value))) end
end
table.sort(option_lines)
vim.list_extend(lines, option_lines)
-- Set lines
table.insert(lines, '---Please copy all lines---')
vim.api.nvim_buf_set_lines(buf_id, 0, -1, true, lines)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment