From e4a238fa00cdb206097d406d75abd3a306bf3908 Mon Sep 17 00:00:00 2001 From: hellisabove <59116609+hellisabove@users.noreply.github.com> Date: Wed, 25 Jan 2023 20:25:13 +0200 Subject: [PATCH] Added nvim config(wip) --- config/nvim/init.lua | 41 +++++++++++++++++++++++++++++++++ config/nvim/lua/bar.lua | 10 ++++++++ config/nvim/lua/colorscheme.lua | 1 + config/nvim/lua/keymaps.lua | 14 +++++++++++ config/nvim/lua/p-tree.lua | 40 ++++++++++++++++++++++++++++++++ config/nvim/lua/plugins.lua | 18 +++++++++++++++ 6 files changed, 124 insertions(+) create mode 100644 config/nvim/init.lua create mode 100644 config/nvim/lua/bar.lua create mode 100644 config/nvim/lua/colorscheme.lua create mode 100644 config/nvim/lua/keymaps.lua create mode 100644 config/nvim/lua/p-tree.lua create mode 100644 config/nvim/lua/plugins.lua diff --git a/config/nvim/init.lua b/config/nvim/init.lua new file mode 100644 index 0000000..fc69b45 --- /dev/null +++ b/config/nvim/init.lua @@ -0,0 +1,41 @@ +local opt = vim.opt -- for conciseness + +-- line numbers +opt.number = true +opt.relativenumber = true + +-- tabs & indentation +opt.tabstop = 4 +opt.shiftwidth = 4 +opt.expandtab = true +opt.autoindent = true + +-- line wrapping +opt.wrap = false + +-- search settings +opt.ignorecase = true +opt.smartcase = true + +-- cursor line +opt.cursorline = true + +-- appearance +opt.termguicolors = true +opt.background = "dark" +opt.signcolumn = "yes" + +-- backspace +opt.backspace = "indent,eol,start" + +-- split windows +opt.splitright = true +opt.splitbelow = true + +opt.iskeyword:append("-") + +require('plugins') +require('p-tree') +require('colorscheme') +require('keymaps') +require('bar') diff --git a/config/nvim/lua/bar.lua b/config/nvim/lua/bar.lua new file mode 100644 index 0000000..3033176 --- /dev/null +++ b/config/nvim/lua/bar.lua @@ -0,0 +1,10 @@ +local status, lualine = pcall(require, "lualine") +if not status then + return +end + +lualine.setup({ + options = { + theme = 'solarized_dark' + } +}) diff --git a/config/nvim/lua/colorscheme.lua b/config/nvim/lua/colorscheme.lua new file mode 100644 index 0000000..7a1ab71 --- /dev/null +++ b/config/nvim/lua/colorscheme.lua @@ -0,0 +1 @@ +vim.cmd.colorscheme "catppuccin-frappe" diff --git a/config/nvim/lua/keymaps.lua b/config/nvim/lua/keymaps.lua new file mode 100644 index 0000000..f3e4ea6 --- /dev/null +++ b/config/nvim/lua/keymaps.lua @@ -0,0 +1,14 @@ +vim.g.mapleader = " " + +local keymap = vim.keymap -- for conciseness + +-- general keymaps +keymap.set("n","to",":tabnew") -- open new tab +keymap.set("n","tx",":tabclose") -- close current tab +keymap.set("n","tn",":tabn") -- go to next tab +keymap.set("n","tp",":tabp") -- go to previous tab + +keymap.set("n","sv","v") -- split window vertically +keymap.set("n","sh","s") -- split window horizontally +keymap.set("n","se","=") -- make split windows equal width +keymap.set("n","sx",":close") -- close current split window diff --git a/config/nvim/lua/p-tree.lua b/config/nvim/lua/p-tree.lua new file mode 100644 index 0000000..cd124ec --- /dev/null +++ b/config/nvim/lua/p-tree.lua @@ -0,0 +1,40 @@ +vim.g.loaded_netrw = 1 +vim.g.loaded_netrwPlugin = 1 + +vim.opt.termguicolors = true + +require("nvim-tree").setup({ + sort_by = "case-sensitive", + actions = { + open_file = {quit_on_open=true} + }, + update_focused_file = { + enable = true, + update_cwd = true + }, + filters = { + custom = { '^.git$','node_modules$' } + }, + git = { + enable = true + }, + log = { + enable = true, + types = { + diagnostics = true + } + }, + diagnostics = { + enable = true, + show_on_dirs=false, + debounce_delay=50, + icons = { + hint = 'H', + info = 'I', + warning = 'W', + error = 'E' + } + } +}) + +vim.keymap.set('n','','NvimTreeToggle') diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua new file mode 100644 index 0000000..82ccd38 --- /dev/null +++ b/config/nvim/lua/plugins.lua @@ -0,0 +1,18 @@ +vim.cmd [[packadd packer.nvim]] + +return require('packer').startup(function(use) + use 'wbthomason/packer.nvim' + use 'folke/tokyonight.nvim' + use 'nvim-lualine/lualine.nvim' + use { + 'catppuccin/nvim', + as = 'catppuccin' + } + use { + 'nvim-tree/nvim-tree.lua', + requires = { + 'kyazdani42/nvim-web-devicons', + }, + tag = 'nightly' + } +end)