diff options
Diffstat (limited to '.config/nvim/lua/config')
| -rw-r--r-- | .config/nvim/lua/config/autocmd.lua | 31 | ||||
| -rw-r--r-- | .config/nvim/lua/config/globals.lua | 2 | ||||
| -rw-r--r-- | .config/nvim/lua/config/init.lua | 44 | ||||
| -rw-r--r-- | .config/nvim/lua/config/keymaps.lua | 27 | ||||
| -rw-r--r-- | .config/nvim/lua/config/options.lua | 51 | 
5 files changed, 155 insertions, 0 deletions
| diff --git a/.config/nvim/lua/config/autocmd.lua b/.config/nvim/lua/config/autocmd.lua new file mode 100644 index 0000000..b1facb8 --- /dev/null +++ b/.config/nvim/lua/config/autocmd.lua @@ -0,0 +1,31 @@ +local autocmd = vim.api.nvim_create_autocmd   -- Create autocommand + +-- Remove end of buffer ~ on buffer enter  +autocmd('BufEnter', { +  pattern = '*', +  command = "let &fcs='eob: '" +}) + +-- Turn off line numbers on entering terminal +autocmd('TermOpen', { +	pattern = '*', +	command = 'setlocal nonumber norelativenumber' +}) + +-- Insert mode on entering terminal +autocmd('TermOpen', { +	pattern = '*', +	command = 'startinsert' +}) + +-- Close terminal buffer on process exit +autocmd('BufLeave', { +  pattern = 'term://*', +  command = 'stopinsert' +}) + +-- Close terminal buffer on process exit +autocmd('TermClose', { +  pattern = 'term://*', +  command = 'call nvim_input("<CR>")' +}) diff --git a/.config/nvim/lua/config/globals.lua b/.config/nvim/lua/config/globals.lua new file mode 100644 index 0000000..2e2e702 --- /dev/null +++ b/.config/nvim/lua/config/globals.lua @@ -0,0 +1,2 @@ +vim.g.mapleader      = " " +vim.g.maplocalleader = " " diff --git a/.config/nvim/lua/config/init.lua b/.config/nvim/lua/config/init.lua new file mode 100644 index 0000000..2b6e039 --- /dev/null +++ b/.config/nvim/lua/config/init.lua @@ -0,0 +1,44 @@ +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('config.globals') +require('config.options') +require('config.keymaps') +require('config.autocmd') + +local opts = { +  defaults = { +    lazy = true, +  }, +  install = { +    colorscheme = { "gruvbox" } +  }, +  rtp = { +    disabled_plugins = { +      "gzip", +      "matchit", +      "matchparen", +      "netrw", +      "netrwPlugin", +      "tarPlugin", +      "tohtml", +      "tutor", +      "zipPlugin", +    } +  }, +  change_detection = { +    notify = true +  }, +} + +require("lazy").setup('plugins', opts) diff --git a/.config/nvim/lua/config/keymaps.lua b/.config/nvim/lua/config/keymaps.lua new file mode 100644 index 0000000..363f8bc --- /dev/null +++ b/.config/nvim/lua/config/keymaps.lua @@ -0,0 +1,27 @@ +local keymap = vim.keymap + +local opts = { noremap = true, silent = true } + +-- DIRECTORY NAVIGATION ------------------------------------------------------ +keymap.set("n", "<leader>m", ":NvimTreeFocus<CR>", opts) +keymap.set("n", "<leader>f", ":NvimTreeToggle<CR> :NvimTreeRefresh<CR>", { silent = true }) +keymap.set("n", "<C-k>", "<C-w>k", opts) -- NAVIGATE [^] UP +keymap.set("n", "<C-h>", "<C-w>h", opts) -- NAVIGATE [<] LEFT +keymap.set("n", "<C-l>", "<C-w>l", opts) -- NAVIGATE [>] RIGHT +keymap.set("n", "<C-j>", "<C-w>j", opts) -- NAVIGATE [v] DOWN + +-- WINDOW MANAGEMENT --------------------------------------------------------- +keymap.set("n", "<leader>sv", ":vsplit<CR>", opts) -- SPLIT VERTICALLY +keymap.set("n", "<leader>sh", ":split<CR>", opts)  -- SPLIT HORIZONTALLY + +-- INDENT -------------------------------------------------------------------- +keymap.set("v", "<", "<gv") +keymap.set("v", ">", ">gv") + +-- COMMENTS ------------------------------------------------------------------ +vim.api.nvim_set_keymap("n", "<C-c>", "gcc", { noremap = false }) +vim.api.nvim_set_keymap("v", "<C-c>", "gcc", { noremap = false }) + +-- MOVE SELECTED LINES  --------------------------------------------------------- +vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv") +vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv") diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua new file mode 100644 index 0000000..dbd8e66 --- /dev/null +++ b/.config/nvim/lua/config/options.lua @@ -0,0 +1,51 @@ +-- disable netrw at the very start of your init.lua -------------------------- +vim.g.loaded_netrw = 1 +vim.g.loaded_netrwPlugin = 1 + +local opt = vim.opt + +-- TAB/INDENT ---------------------------------------------------------------- +opt.tabstop     = 2 +opt.shiftwidth  = 2 +opt.softtabstop = 2 +opt.expandtab   = true +opt.smartindent = true +opt.wrap        = false + +-- SEARCH -------------------------------------------------------------------- +opt.incsearch  = true +opt.ignorecase = true +opt.smartcase  = true +opt.hlsearch   = false + +-- APPEARANCE ---------------------------------------------------------------- +opt.number         = true +opt.relativenumber = false +opt.termguicolors  = true +--opt.colorcolumn    = "100" +opt.signcolumn     = "yes" +opt.cmdheight      = 1 +opt.scrolloff      = 10 +opt.completeopt    = "menuone,noinsert,noselect" +opt.cursorline = true -- Highlight the active cursor line + +-- MISC ---------------------------------------------------------------------- +opt.hidden     = true +opt.errorbells = false +opt.swapfile   = false +opt.backup     = false +opt.undodir    = vim.fn.expand("~/.config/nvim/undodir//") +opt.undofile   = true +opt.backspace  = "indent,eol,start" +opt.splitright = true +opt.splitbelow = true +opt.autochdir  = false +opt.modifiable = true +opt.encoding   = "UTF-8" +opt.guicursor  = "n-v-c:block,i-ci-ve:block,r-cr:hor20,o:hor50,a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor,sm:block-blinkwait175-blinkoff150-blinkon175" +opt.termguicolors = true + +-- APPEND -------------------------------------------------------------------- +opt.mouse:append('a') +opt.iskeyword:append("-") +opt.clipboard:append("unnamedplus") | 
