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") |