dotfiles/private_dot_config/nvim/init.lua
2023-05-06 22:34:19 +03:00

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",
},
}