local vim = vim local execute = vim.api.nvim_command local fn = vim.fn local install_path = fn.stdpath('data')..'/site/pack/packer/opt/packer.nvim' if fn.empty(fn.glob(install_path)) > 0 then execute('!git clone https://github.com/wbthomason/packer.nvim '..install_path) execute 'packadd packer.nvim' end vim.cmd('packadd packer.nvim') local packer = require'packer' local util = require'packer.util' packer.init({ package_root = util.join_paths(vim.fn.stdpath('data'), 'site', 'pack') }) local key_mapper = function(mode, key, result) vim.api.nvim_set_keymap( mode, key, result, {noremap = true, silent = true} ) end vim.g.mapleader = ' ' --- startup and add configure plugins packer.startup(function() local use = use -- add you plugins here like: -- use 'neovim/nvim-lspconfig' use 'nvim-treesitter/nvim-treesitter' use 'sheerun/vim-polyglot' use { "ellisonleao/gruvbox.nvim" } use {'prettier/vim-prettier', run = 'yarn install' } use 'nvim-lua/popup.nvim' use 'nvim-lua/plenary.nvim' use 'nvim-lua/telescope.nvim' use 'jremmen/vim-ripgrep' use { 'nvim-tree/nvim-tree.lua', requires = { 'nvim-tree/nvim-web-devicons', -- optional, for file icons }, tag = 'nightly' -- optional, updated every week. (see issue #1193) } use { "windwp/nvim-autopairs", config = function() require("nvim-autopairs").setup {} end } end ) local configs = require'nvim-treesitter.configs' configs.setup { ensure_installed = "cpp", highlight = { enable = true, } } key_mapper('n', '', ':lua require"telescope.builtin".find_files()') key_mapper('n', 'fs', ':lua require"telescope.builtin".live_grep()') key_mapper('n', 'fh', ':lua require"telescope.builtin".help_tags()') key_mapper('n', 'fb', ':lua require"telescope.builtin".buffers()') key_mapper('n', 'ft', ':NvimTreeToggle') -- examples for your init.lua -- disable netrw at the very start of your init.lua (strongly advised) vim.g.loaded_netrw = 1 vim.g.loaded_netrwPlugin = 1 -- set termguicolors to enable highlight groups vim.opt.termguicolors = true -- empty setup using defaults require("nvim-tree").setup() -- OR setup with some options require("nvim-tree").setup({ sort_by = "case_sensitive", view = { adaptive_size = true, mappings = { list = { { key = "u", action = "dir_up" }, }, }, }, renderer = { group_empty = true, }, filters = { dotfiles = true, }, })