-- disable netrw for nvim-tree vim.g.loaded_netrw = 1 vim.g.loaded_netrwPlugin = 1 vim.cmd.cd("~"); vim.opt.shell = "pwsh"; vim.opt.termguicolors = true; vim.opt.fileformats = "unix,dos"; vim.opt.softtabstop = 4; vim.opt.shiftwidth = 4; vim.opt.expandtab = true; vim.opt.wrap = false; if vim.g.neovide then vim.opt.guifont = "FiraCodeNerdFont"; vim.g.neovide_transparency = 0.95; vim.g.neovide_input_ime = false; vim.g.neovide_cursor_vfx_mode = "railgun"; end -- Init lazy.nvim local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not vim.uv.fs_stat(lazypath) then vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", -- latest stable release lazypath, }) end vim.opt.rtp:prepend(lazypath) -- Use lazy.nvim require("lazy").setup("plugins") -- setup nvim-tree require("nvim-tree").setup() -- setup lualine require('lualine').setup() -- setup bufferline require("bufferline").setup{ options = { offsets = { { filetype = "NvimTree", text = "File Explorer", highlight = "Directory", separator = true } } } } -- setup gitsigns require('gitsigns').setup() -- setup nvim-cmp local cmp = require("cmp") cmp.setup({ snippet = { expand = function(args) require("luasnip").lsp_expand(args.body) end, }, window = { }, mapping = cmp.mapping.preset.insert({ [''] = cmp.mapping.scroll_docs(-4), [''] = cmp.mapping.scroll_docs(4), [''] = cmp.mapping.complete(), [''] = cmp.mapping.abort(), [''] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. }), sources = cmp.config.sources({ { name = 'nvim_lsp' }, { name = 'luasnip' }, }, { { name = 'buffer' }, }) }) -- setup lsp local capabilities = require("cmp_nvim_lsp").default_capabilities() local lspconfig = require("lspconfig") lspconfig.clangd.setup { capabilities = capabilites } -- setup keymap for telescope local builtin = require('telescope.builtin') vim.keymap.set('n', 'ff', builtin.find_files, {}) vim.keymap.set('n', 'fg', builtin.live_grep, {}) vim.keymap.set('n', 'fb', builtin.buffers, {}) vim.keymap.set('n', 'fh', builtin.help_tags, {})