118 lines
3.4 KiB
Lua
118 lines
3.4 KiB
Lua
-- disable netrw at the very start of your init.lua (strongly advised)
|
|
vim.g.loaded_netrw = 1
|
|
vim.g.loaded_netrwPlugin = 1
|
|
vim.wo.number = true
|
|
vim.wo.signcolumn = "yes"
|
|
|
|
|
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
|
if not vim.loop.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)
|
|
require("lazy").setup({
|
|
{ "ellisonleao/gruvbox.nvim", priority = 1000 },
|
|
{ "nvim-treesitter/nvim-treesitter", run= ":TSUpdate" },
|
|
{ "nvim-telescope/telescope.nvim", tag = '0.1.1', dependencies = { 'nvim-lua/plenary.nvim' }},
|
|
{ "nvim-tree/nvim-tree.lua"},
|
|
{ "jeffkreeftmeijer/vim-numbertoggle"},
|
|
{ "lukas-reineke/indent-blankline.nvim" },
|
|
{"mbbill/undotree"},
|
|
{"folke/which-key.nvim",
|
|
config = function()
|
|
vim.o.timeout = true
|
|
vim.o.timeoutlen = 300
|
|
require("which-key").setup({
|
|
-- your configuration comes here
|
|
-- or leave it empty to use the default settings
|
|
-- refer to the configuration section below
|
|
})end,},
|
|
{"phaazon/hop.nvim"},
|
|
{"kylechui/nvim-surround",
|
|
version = "*", -- Use for stability; omit to use `main` branch for the latest features
|
|
event = "VeryLazy",
|
|
config = function()
|
|
require("nvim-surround").setup({
|
|
-- Configuration here, or leave empty to use defaults
|
|
})end},
|
|
{'Wansmer/treesj',
|
|
keys = { '<space>m', '<space>j', '<space>s' },
|
|
dependencies = { 'nvim-treesitter/nvim-treesitter' },
|
|
config = function()
|
|
require('treesj').setup({--[[ your config ]]})end,},
|
|
{ 'echasnovski/mini.nvim', version = '*' },
|
|
})
|
|
|
|
require'hop'.setup()
|
|
require('mini.ai').setup()
|
|
require('mini.pairs').setup()
|
|
require('mini.comment').setup()
|
|
require('mini.starter').setup()
|
|
require('mini.statusline').setup()
|
|
require('mini.tabline').setup()
|
|
require('mini.bracketed').setup()
|
|
|
|
local hop = require('hop')
|
|
local directions = require('hop.hint').HintDirection
|
|
|
|
vim.keymap.set('n', '<leader>s', function() hop.hint_words()end, {remap=true})
|
|
|
|
|
|
vim.o.background = "dark" -- or "light" for light mode
|
|
vim.cmd([[colorscheme gruvbox]])
|
|
vim.cmd([[set undofile]])
|
|
|
|
|
|
local builtin = require('telescope.builtin')
|
|
|
|
vim.keymap.set('n', '<leader>fg', builtin.live_grep, {})
|
|
vim.keymap.set('n', '<leader>fb', builtin.buffers, {})
|
|
vim.keymap.set('n', '<leader>fh', builtin.help_tags, {})
|
|
|
|
--- set termguicolors to enable highlight groups
|
|
vim.opt.termguicolors = true
|
|
require("nvim-tree").setup({
|
|
sort_by = "case_sensitive",
|
|
view = {
|
|
width = 50,
|
|
},
|
|
renderer = {
|
|
group_empty = true,
|
|
},
|
|
filters = {
|
|
dotfiles = false,
|
|
},
|
|
})
|
|
vim.api.nvim_set_keymap('n', '<leader>e', ':NvimTreeToggle<CR>', {noremap = true, silent = true})
|
|
vim.api.nvim_set_keymap('n', '<leader>q', ':q<CR>', {noremap = true, silent = true})
|
|
vim.api.nvim_set_keymap('n', '<leader>w', ':w<CR>', {noremap = true, silent = true})
|
|
vim.keymap.set('n', '<leader>u', vim.cmd.UndotreeToggle)
|
|
|
|
|
|
vim.cmd [[highlight IndentBlanklineIndent1 guifg=#443838 gui=nocombine]]
|
|
|
|
vim.opt.tabstop=4
|
|
vim.opt.softtabstop=4
|
|
vim.opt.shiftwidth=4
|
|
vim.opt.list = true
|
|
vim.opt.listchars:append "lead:⋅"
|
|
vim.opt.listchars:append "tab:>⎯▷"
|
|
require("indent_blankline").setup {
|
|
space_char_blankline = " ",
|
|
char_highlight_list = {
|
|
"IndentBlanklineIndent1",
|
|
},
|
|
space_char_highlight_list = {
|
|
"IndentBlanklineIndent1",
|
|
},
|
|
}
|
|
|
|
|