return { -- vim options -- these are things you would apply with `set thing` or `set thing=value`. o = { -- Disable modeline (security risk) modeline = false, -- Enable wrapping (visually) at the end of the window wrap = true, -- Display markers _after_ the 80th and 120th columns cc = '81,121', -- Smart search case sensitivity: If anything in search term is -- uppercase, match case sensitive. Otherwise match case-insensitive. ignorecase = true, smartcase = true, -- Allow backspace through indentation and stop at the beginning of -- the line backspace = 'start,indent', -- Set defaults, should be overridden by the editorconfig plugin if you -- have one. softtabstop = 0, shiftwidth = 4, tabstop = 4, expandtab = false, -- Use smart-ish indentation autoindent = true, copyindent = true, preserveindent = true, -- Enable extended color support on terminal termguicolors = true, -- Automatically reload changed files autoread = true, -- How long for a multi-key binding to time out -- This basically just controls how long before -- the key helper pops up if you have the keymap -- ui enabled. timeoutlen = 300, -- Show line numbers number = true, -- Highlight the line the cursor is on cursorline = true, -- Keep a persistent undo file, allow undoing after closing and reopening -- a file. undofile = true, }, -- global variables -- these are things you would apply with `let g:thing=value` g = { -- Control the 'leader' key for extended key bindings mapleader = ' ' } }