require("plugins") vim.g.mapleader = ' ' vim.opt.background = "dark" vim.opt.clipboard = "unnamedplus" -- Use system clipboard vim.opt.list = true -- Show spaces, tabs, etc. vim.opt.number = true vim.opt.relativenumber = true vim.opt.shortmess:append("I") -- Disable intro message vim.opt.wrap = false vim.cmd.colorscheme("duskfox") vim.opt.fillchars = { vert = "|", fold = " ", eob = " ", diff = "/", msgsep = "-", foldopen = "▾", foldsep = "|", foldclose = ">", } -- Remove trailing whitespace on all lines before saving, excluding markdown files vim.api.nvim_create_autocmd("BufWritePre", { pattern = "*", callback = function() if vim.bo.filetype == "markdown" then return end vim.cmd([[%s/\s\+$//e]]) end, }) -- Disable auto-comment vim.api.nvim_create_autocmd("FileType", { pattern = "*", callback = function() vim.opt_local.formatoptions:remove({ "c", "r", "o" }) end, }) -- NOTE: On some terminal emulators, the keybinds -- and don't work either in normal or insert mode. -- Tabs vim.keymap.set('n', '', 'tabnew' , { noremap = true, silent = true }) vim.keymap.set('n', 'H' , 'wincmd h', { noremap = true, silent = true }) vim.keymap.set('n', 'J' , 'tabn' , { noremap = true, silent = true }) vim.keymap.set('n', 'K' , 'tabp' , { noremap = true, silent = true }) vim.keymap.set('n', 'L' , 'wincmd l', { noremap = true, silent = true }) -- Windows vim.keymap.set('n', '' , 'split' , { noremap = true, silent = true }) vim.keymap.set('n', '', 'vsplit', { noremap = true, silent = true }) vim.keymap.set('n', '' , 'h' , { noremap = true }) vim.keymap.set('n', '' , 'j' , { noremap = true }) vim.keymap.set('n', '' , 'k' , { noremap = true }) vim.keymap.set('n', '' , 'l' , { noremap = true }) -- Imitate normal mode in insert mode vim.keymap.set('i', '' , '' , { noremap = true }) vim.keymap.set('i', '' , '', { noremap = true }) vim.keymap.set('i', '' , '' , { noremap = true }) vim.keymap.set('i', '' , '' , { noremap = true }) vim.keymap.set('i', '', '' , { noremap = true }) -- Plugins vim.keymap.set('n', 'e', 'Neotree toggle right', { noremap = true, silent = true }) -- Other vim.keymap.set('n', '', 'w!' , { noremap = true, silent = true }) vim.keymap.set('n', 'q' , 'wq!', { noremap = true, silent = true })