diff options
Diffstat (limited to 'config/nvim')
-rw-r--r-- | config/nvim/init.lua | 2 | ||||
-rw-r--r-- | config/nvim/lua/master/init.lua | 7 | ||||
-rw-r--r-- | config/nvim/lua/master/packer.lua | 39 | ||||
-rw-r--r-- | config/nvim/lua/master/plugins/comment.lua | 28 | ||||
-rw-r--r-- | config/nvim/lua/master/plugins/gruvbox.lua | 27 | ||||
-rw-r--r-- | config/nvim/lua/master/plugins/neotree.lua | 34 | ||||
-rw-r--r-- | config/nvim/lua/master/plugins/nvim-autopairs.lua | 6 | ||||
-rw-r--r-- | config/nvim/lua/master/plugins/toggleterm.lua | 13 | ||||
-rw-r--r-- | config/nvim/lua/master/vim_settings.lua | 42 |
9 files changed, 198 insertions, 0 deletions
diff --git a/config/nvim/init.lua b/config/nvim/init.lua new file mode 100644 index 0000000..1f4b737 --- /dev/null +++ b/config/nvim/init.lua @@ -0,0 +1,2 @@ +-- Suleyman's gruvbox themed neovim config at "https://github.com/thei0n/slcf" +require("master") diff --git a/config/nvim/lua/master/init.lua b/config/nvim/lua/master/init.lua new file mode 100644 index 0000000..82b4aff --- /dev/null +++ b/config/nvim/lua/master/init.lua @@ -0,0 +1,7 @@ +require("master.packer") +require("master.vim_settings") +require("master.plugins.gruvbox") +require("master.plugins.comment") +require("master.plugins.toggleterm") +require("master.plugins.neotree") +require("master.plugins.nvim-autopairs") diff --git a/config/nvim/lua/master/packer.lua b/config/nvim/lua/master/packer.lua new file mode 100644 index 0000000..c31c23a --- /dev/null +++ b/config/nvim/lua/master/packer.lua @@ -0,0 +1,39 @@ +--[[ PACKER BOOTSTRAP ]] + +local ensure_packer = function() + local fn = vim.fn + local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim' + if fn.empty(fn.glob(install_path)) > 0 then + fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path}) + vim.cmd [[packadd packer.nvim]] + return true + end + return false +end + +local packer_bootstrap = ensure_packer() + +return require('packer').startup(function(use) + use 'wbthomason/packer.nvim' + + + use "ellisonleao/gruvbox.nvim" + use "akinsho/toggleterm.nvim" + use 'numToStr/Comment.nvim' + use 'windwp/nvim-autopairs' + + use { + "nvim-neo-tree/neo-tree.nvim", + branch = "v3.x", + requires = { + "nvim-lua/plenary.nvim", + "MunifTanjim/nui.nvim", + } + } + + if packer_bootstrap then + require('packer').sync() + end +end) + + diff --git a/config/nvim/lua/master/plugins/comment.lua b/config/nvim/lua/master/plugins/comment.lua new file mode 100644 index 0000000..66dcbc5 --- /dev/null +++ b/config/nvim/lua/master/plugins/comment.lua @@ -0,0 +1,28 @@ +require('Comment').setup{ + + ---Add a space b/w comment and the line + padding = true, + + ---Whether the cursor should stay at its position + sticky = true, + + ---Lines to be ignored while (un)comment + ignore = nil, + + ---LHS of toggle mappings in NORMAL mode + toggler = { + ---Line-comment toggle keymap + line = 'cc', + ---Block-comment toggle keymap + block = 'cb', + }, + + ---LHS of operator-pending mappings in NORMAL and VISUAL mode + opleader = { + ---Line-comment keymap + line = 'cc', + ---Block-comment keymap + block = 'cb', + }, + +} diff --git a/config/nvim/lua/master/plugins/gruvbox.lua b/config/nvim/lua/master/plugins/gruvbox.lua new file mode 100644 index 0000000..01ad938 --- /dev/null +++ b/config/nvim/lua/master/plugins/gruvbox.lua @@ -0,0 +1,27 @@ +-- Default options: +require("gruvbox").setup({ + terminal_colors = true, -- add neovim terminal colors + undercurl = true, + underline = true, + bold = true, + italic = { + strings = true, + emphasis = true, + comments = true, + operators = false, + folds = true, + }, + + strikethrough = true, + invert_selection = false, + invert_signs = false, + invert_tabline = false, + invert_intend_guides = false, + inverse = true, -- invert background for search, diffs, statuslines and errors + contrast = "", -- can be "hard", "soft" or empty string + palette_overrides = {}, + overrides = {}, + dim_inactive = false, + transparent_mode = false, +}) + diff --git a/config/nvim/lua/master/plugins/neotree.lua b/config/nvim/lua/master/plugins/neotree.lua new file mode 100644 index 0000000..abdf1fc --- /dev/null +++ b/config/nvim/lua/master/plugins/neotree.lua @@ -0,0 +1,34 @@ +require("neo-tree").setup({ + --Setup + filesystem = { + window = { + mappings = { + ["l"] = "open", + ["h"] = "close_node", + ["zh"] = "toggle_hidden", + ["H"] = "close_all_nodes", + } + } + }, + + --Indent Markers + default_component_configs = { + indent = { + with_markers = true, + indent_marker = "│", + last_indent_marker = "└", + indent_size = 2, + }, + }, + + --Expanders + default_component_configs = { + indent = { + with_expanders = false, --Not active + expander_collapsed = "", + expander_expanded = "", + expander_highlight = "NeoTreeExpander", + }, + }, + +}) diff --git a/config/nvim/lua/master/plugins/nvim-autopairs.lua b/config/nvim/lua/master/plugins/nvim-autopairs.lua new file mode 100644 index 0000000..0649588 --- /dev/null +++ b/config/nvim/lua/master/plugins/nvim-autopairs.lua @@ -0,0 +1,6 @@ +require('nvim-autopairs').setup({ + disable_filetype = { "TelescopePrompt", "spectre_panel", "neo-tree-popup", "conf"}, + disable_in_macro = true, + disable_in_visualblock = false, + disable_in_replace_mode = true, +}) diff --git a/config/nvim/lua/master/plugins/toggleterm.lua b/config/nvim/lua/master/plugins/toggleterm.lua new file mode 100644 index 0000000..79c3488 --- /dev/null +++ b/config/nvim/lua/master/plugins/toggleterm.lua @@ -0,0 +1,13 @@ +require("toggleterm").setup{ + size = 6, + open_mapping = [[<c-f>]], + hide_numbers = true, + shade_terminals = true, + direction = "float", + + float_opts = { + border = 'curved', + winblend = 10, --transparency + } + +} diff --git a/config/nvim/lua/master/vim_settings.lua b/config/nvim/lua/master/vim_settings.lua new file mode 100644 index 0000000..24c8564 --- /dev/null +++ b/config/nvim/lua/master/vim_settings.lua @@ -0,0 +1,42 @@ +-- [[Vim settings]] + +vim.cmd("set clipboard+=unnamedplus") -- Use System Clipboard +vim.opt.fillchars = {eob = " "} + + +-- [[ Changes to make vim look simpler ]] +vim.cmd([[ set shortmess+=I ]]) -- Remove Intro text when entering vim +vim.cmd("set noshowmode") +-- vim.cmd("set noshowcmd") +vim.cmd("set noruler") +vim.cmd("set laststatus=-") +vim.cmd("set statusline=0") +-- [] + +vim.cmd([[set number]]) + +vim.cmd([[set scrolloff=5]]) -- Smooth scroll + +vim.o.background = "dark" -- or "light" for light mode + +vim.cmd([[set formatoptions-=cro]]) -- Deactivating autocomment + +vim.cmd([[autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o]]) + +vim.cmd([[ autocmd BufwritePost * %s/\s\+$//e ]]) -- Remove useless spaces when saving +-- [[Mappings]] + +-- Move cursor in Insert mode +vim.keymap.set('i','<C-k>','<C-o>gk') +vim.keymap.set('i','<C-h>','<Left>') +vim.keymap.set('i','<C-l>','<Right>') +vim.keymap.set('i','<C-j>','<C-o>gj') + +vim.g.mapleader = ' ' +vim.g.maplocalleader = ' ' + +vim.keymap.set('n','<leader><leader>',':w!<CR>') +vim.keymap.set('n','<leader>q',':wqa!<CR>') +vim.keymap.set('n','<leader>e', ':Neotree toggle right<CR>') +vim.keymap.set('n', '<leader>o', '<C-W>w') +vim.cmd("colorscheme gruvbox") |