vim.opt.number = true vim.opt.relativenumber = true vim.opt.swapfile = false vim.opt.wrap = false vim.opt.splitright = true vim.opt.splitbelow = true vim.g.mapleader = " " vim.keymap.set("v", "J", ":m '>+1gv=gv") vim.keymap.set("v", "K", ":m '<-2gv=gv") for _, k in ipairs({ "h", "j", "k", "l" }) do vim.keymap.set({ "n", "i", "v" }, "", "") end vim.keymap.set("n", "", ":nohlsearch") vim.keymap.set("n", "en", ":edit $MYVIMRC") vim.keymap.set("n", "ez", ":edit ~/.zshrc") vim.pack.add { { src = "https://github.com/nvim-lua/plenary.nvim" }, { src = "https://github.com/nvim-telescope/telescope.nvim" }, { src = "https://github.com/nvim-telescope/telescope-ui-select.nvim" }, { src = "https://github.com/neovim/nvim-lspconfig" }, { src = "https://github.com/blazkowolf/gruber-darker.nvim" }, } local telescope = require("telescope") telescope.setup({ defaults = { preview = { treesitter = false }, color_devicons = true, sorting_strategy = "ascending", borderchars = { "─", -- top "│", -- right "─", -- bottom "│", -- left "┌", -- top-left "┐", -- top-right "┘", -- bottom-right "└", -- bottom-left }, path_displays = { "smart" }, layout_config = { height = 100, width = 400, prompt_position = "top", preview_cutoff = 40, } } }) telescope.load_extension("ui-select") local builtin = require('telescope.builtin') vim.keymap.set('n', 'sf', builtin.find_files) vim.keymap.set('n', 'sg', builtin.live_grep) vim.keymap.set('n', 'sb', builtin.buffers) vim.keymap.set('n', 'sh', builtin.help_tags) vim.keymap.set('n', 'sm', builtin.man_pages) vim.api.nvim_create_autocmd("FileType", { pattern = { "c", "cpp", "h", "hpp" }, callback = function() vim.lsp.start { name = "clangd", cmd = { "clangd", "--background-index", "--clang-tidy", "--completion-style=detailed", "--header-insertion=iwyu" }, root_dir = vim.fs.dirname(vim.fs.find({ ".git", "Makefile", "CMakeLists.txt" }, { upward = true })[1]), } end, }) vim.diagnostic.config { virtual_text = true, underline = true, signs = false } vim.cmd.colorscheme("gruber-darker")