local function open_nvim_tree() -- open the tree require("nvim-tree.api").tree.open() end -- Functional wrapper for mapping custom keybindings local function map(mode, lhs, rhs, opts) local options = { noremap = true } if opts then options = vim.tbl_extend("force", options, opts) end vim.api.nvim_set_keymap(mode, lhs, rhs, options) end --mardown preview settings vim.cmd [[ let g:mkdp_echo_preview_url = 1 ]] ---------------------- -- general setup start ---------------------- -- open nvim tree on start vim.api.nvim_create_autocmd({ "VimEnter" }, { callback = open_nvim_tree }) -- disabling virtual text VIRTUAL_TEXT_ENABLED = true function switch_virtual_text() VIRTUAL_TEXT_ENABLED = not VIRTUAL_TEXT_ENABLED vim.diagnostic.config({ virtual_text = VIRTUAL_TEXT_ENABLED, }) end map("n", "vt", ":lua switch_virtual_text()") -- tab lines in normal and visual mode map("n", "", ">>") map("n", "", "<<") map("i", "", "<", ">>") map("v", "", ">gv") map("v", "", " does the right thing vim.opt.expandtab = true -- converts tabs to white space vim.opt.shiftwidth = 4 -- width for autoindents vim.cmd [[ highlight clear colorscheme dracula ]]