From 30481d8b3d309a3fbb4213401fe4d8f1abaad543 Mon Sep 17 00:00:00 2001 From: Ward Truyen Date: Thu, 12 Dec 2024 21:23:27 +0100 Subject: [PATCH] Initial commit --- README.md | 0 init.lua | 3 ++ lua/ward/init.lua | 9 +++++ lua/ward/lazy.lua | 31 ++++++++++++++++ lua/ward/plugins/bufferline.lua | 23 ++++++++++++ lua/ward/plugins/catppucin.lua | 12 +++++++ lua/ward/plugins/mason.lua | 10 ++++++ lua/ward/plugins/nvim-tree.lua | 23 ++++++++++++ lua/ward/plugins/telescope.lua | 28 +++++++++++++++ lua/ward/plugins/toggleterm.lua | 23 ++++++++++++ lua/ward/plugins/treesitter.lua | 20 +++++++++++ lua/ward/plugins/which-key.lua | 52 +++++++++++++++++++++++++++ lua/ward/remap.lua | 33 +++++++++++++++++ lua/ward/setup.lua | 23 ++++++++++++ old/init.vim | 5 +++ old/ward/init.vim | 63 +++++++++++++++++++++++++++++++++ 16 files changed, 358 insertions(+) create mode 100644 README.md create mode 100644 init.lua create mode 100644 lua/ward/init.lua create mode 100644 lua/ward/lazy.lua create mode 100644 lua/ward/plugins/bufferline.lua create mode 100644 lua/ward/plugins/catppucin.lua create mode 100644 lua/ward/plugins/mason.lua create mode 100644 lua/ward/plugins/nvim-tree.lua create mode 100644 lua/ward/plugins/telescope.lua create mode 100644 lua/ward/plugins/toggleterm.lua create mode 100644 lua/ward/plugins/treesitter.lua create mode 100644 lua/ward/plugins/which-key.lua create mode 100644 lua/ward/remap.lua create mode 100644 lua/ward/setup.lua create mode 100644 old/init.vim create mode 100644 old/ward/init.vim diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..a114d49 --- /dev/null +++ b/init.lua @@ -0,0 +1,3 @@ +require("ward") +--print("hello from init.lua") + diff --git a/lua/ward/init.lua b/lua/ward/init.lua new file mode 100644 index 0000000..9aa0a44 --- /dev/null +++ b/lua/ward/init.lua @@ -0,0 +1,9 @@ +--$ Ward's lua-init-config for nvim +--$ nvim setup stuff +require("ward.setup") + +--$ standard remapping of keys +require("ward.remap") + +--$ instal/load Lazy plugin manager +require("ward.lazy") diff --git a/lua/ward/lazy.lua b/lua/ward/lazy.lua new file mode 100644 index 0000000..570e570 --- /dev/null +++ b/lua/ward/lazy.lua @@ -0,0 +1,31 @@ +--! Make sure to setup `mapleader` and `maplocalleader` before +--! loading lazy.nvim so that mappings are correct. +--$ Bootstrap lazy.nvim +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + local lazyrepo = "https://github.com/folke/lazy.nvim.git" + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) + if vim.v.shell_error ~= 0 then + vim.api.nvim_echo({ + { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, + { out, "WarningMsg" }, + { "\nPress any key to exit..." }, + }, true, {}) + vim.fn.getchar() + os.exit(1) + end +end +vim.opt.rtp:prepend(lazypath) + +--$ Setup lazy.nvim +require("lazy").setup({ + spec = { + -- import your plugins + { import = "ward.plugins" }, -- add ~/.config/nvim/lua/ward/plugins + }, + -- Configure any other settings here. See the documentation for more details. + -- colorscheme that will be used when installing plugins. + install = { colorscheme = { "habamax" } }, + -- automatically check for plugin updates + checker = { enabled = true }, +}) diff --git a/lua/ward/plugins/bufferline.lua b/lua/ward/plugins/bufferline.lua new file mode 100644 index 0000000..3eb05e7 --- /dev/null +++ b/lua/ward/plugins/bufferline.lua @@ -0,0 +1,23 @@ +--$ Gives buffers titles +--$ URL: https://github.com/akinsho/bufferline.nvim +--$ :help bufferline +return { + 'akinsho/bufferline.nvim', + version = "*", + dependencies = 'nvim-tree/nvim-web-devicons', + + config = function() + require("bufferline").setup({ + options = { + buffer_close_icon = '󰅖', + offsets = { + { + filetype = "NvimTree", + text = "File Explorer", + separator = true, + }, + }, + } + }) + end, +} diff --git a/lua/ward/plugins/catppucin.lua b/lua/ward/plugins/catppucin.lua new file mode 100644 index 0000000..30a2d4e --- /dev/null +++ b/lua/ward/plugins/catppucin.lua @@ -0,0 +1,12 @@ +--$ Better coloring theme/colorscheme +--$ URL: https://github.com/catppuccin/nvim +return { + "catppuccin/nvim", + name = "catppuccin", + priority = 1000, + + config = function() + require("catppuccin").setup({ }) + vim.cmd.colorscheme("catppuccin") + end, +} diff --git a/lua/ward/plugins/mason.lua b/lua/ward/plugins/mason.lua new file mode 100644 index 0000000..0097aa9 --- /dev/null +++ b/lua/ward/plugins/mason.lua @@ -0,0 +1,10 @@ +--$ LSP manager +--$ URL: https://github.com/williamboman/mason.nvim +--$ :Mason +return{ + "williamboman/mason.nvim", + + config = function() + require("mason").setup() + end, +} diff --git a/lua/ward/plugins/nvim-tree.lua b/lua/ward/plugins/nvim-tree.lua new file mode 100644 index 0000000..355caa4 --- /dev/null +++ b/lua/ward/plugins/nvim-tree.lua @@ -0,0 +1,23 @@ +--$ This gives a nice Explorer that opens on the left side of the workspace +--$ URL: https://github.com/nvim-tree/nvim-tree.lua +--$ :help nvim-tree +return { + "nvim-tree/nvim-tree.lua", + version = "*", + lazy = false, + dependencies = { + "nvim-tree/nvim-web-devicons", + }, + + config = function() + vim.g.loaded_netrw = 1 + vim.g.loaded_netrwPlugin = 1 + require("nvim-tree").setup({ + view = { + width = 32, + }, + }) + vim.keymap.set("n", "e", vim.cmd.NvimTreeToggle) + vim.api.nvim_create_autocmd({"QuitPre"}, { callback = function() vim.cmd("NvimTreeClose") end, }) + end, +} diff --git a/lua/ward/plugins/telescope.lua b/lua/ward/plugins/telescope.lua new file mode 100644 index 0000000..4ddb548 --- /dev/null +++ b/lua/ward/plugins/telescope.lua @@ -0,0 +1,28 @@ +--$ Project search functions +--$ URL: https://github.com/nvim-telescope/telescope.nvim +--$ :help telescope +return { + 'nvim-telescope/telescope.nvim', + tag = '0.1.8', + dependencies = { 'nvim-lua/plenary.nvim' }, + + config = function() + require('telescope').setup() + + local builtin = require('telescope.builtin') + vim.keymap.set('n', 'pf', builtin.find_files, {}) + vim.keymap.set('n', 'pg', builtin.git_files, {}) + vim.keymap.set('n', 'pws', function() + local word = vim.fn.expand("") + builtin.grep_string({ search = word }) + end) + vim.keymap.set('n', 'pWs', function() + local word = vim.fn.expand("") + builtin.grep_string({ search = word }) + end) + vim.keymap.set('n', 'ps', function() + builtin.grep_string({ search = vim.fn.input("Grep > ") }) + end) + vim.keymap.set('n', 'vh', builtin.help_tags, {}) + end +} diff --git a/lua/ward/plugins/toggleterm.lua b/lua/ward/plugins/toggleterm.lua new file mode 100644 index 0000000..64b90d5 --- /dev/null +++ b/lua/ward/plugins/toggleterm.lua @@ -0,0 +1,23 @@ +--$ adds a toggelable terminal +--$ URL: https://github.com/akinsho/toggleterm.nvim +--$ :help toggleterm +return{ + 'akinsho/toggleterm.nvim', + version = "*", + + config = function() + require("toggleterm").setup({ + size = function(term) + if term.direction == "horizontal" then + return 15 + elseif term.direction == "vertical" then + return vim.o.columns * 0.4 + end + return 20 + end, + }) + vim.keymap.set('n', 'tt', ":ToggleTerm name=BottomTerm") + vim.keymap.set('n', 'tv', ":ToggleTerm direction=vertical name=VerticalTerm") + vim.keymap.set('n', 'tf', ":ToggleTerm direction=float name=FloatTerm") + end, +} diff --git a/lua/ward/plugins/treesitter.lua b/lua/ward/plugins/treesitter.lua new file mode 100644 index 0000000..24d1e32 --- /dev/null +++ b/lua/ward/plugins/treesitter.lua @@ -0,0 +1,20 @@ +--$ Beter coloring of text +--$ URL: https://github.com/nvim-treesitter/nvim-treesitter +--# :help treesitter +return { + "nvim-treesitter/nvim-treesitter", + build = ":TSUpdate", + + config = function() + local configs = require("nvim-treesitter.configs") + + configs.setup({ + ensure_installed = { + "c", "lua", "vim", "vimdoc", "elixir", "javascript", "html", "python", "typescript" + }, + sync_install = false, + highlight = { enable = true }, + indent = { enable = true }, + }) + end +} diff --git a/lua/ward/plugins/which-key.lua b/lua/ward/plugins/which-key.lua new file mode 100644 index 0000000..c0a3801 --- /dev/null +++ b/lua/ward/plugins/which-key.lua @@ -0,0 +1,52 @@ +-- provides a menu for keybinds +-- URL: https://github.com/folke/which-key.nvim +-- :help which-key +return { + "folke/which-key.nvim", + event = "VeryLazy", + opts = { + -- your configuration comes here + }, + keys = { + { + "?", + function() + require("which-key").show({ global = false }) + end, + desc = "Buffer Local Keymaps (which-key)", + }, + }, + + config = function() + --# Structure of my standard keys + local wk = require("which-key") + wk.add({ + {"w", desc = "Write"}, + {"q", desc = "Quit"}, + {"e", desc = "Explore"}, + {"", desc = "Switch window"}, + {"n", desc = "Next buffer"}, + {"b", group = "Buffers"}, -- group + {"bn", desc = "Next buffer"}, + {"bp", desc = "Pervious buffer"}, + {"bb", desc = "Pervious buffer"}, + {"bl", desc = "Buffer list"}, + {"bc", desc = "Close buffer"}, + {"t", group = "Terminal"}, + {"tt", desc = "Bottom Terminal"}, + {"tv", desc = "Vertical Terminal"}, + {"tf", desc = "Floating Terminal"}, + {"p", group = "Project"}, + {"pf", desc = "Find file"}, + {"pg", desc = "Git files"}, + {"ps", desc = "Grep string search"}, + {"pw", desc = "Grep word search"}, + {"pW", desc = "Grep WORD search"}, + {"v", group = "Vim"}, + {"vh", desc = "Help search" }, + {"vm", "marks", desc = "Marks", }, + {"vr", "registers", desc = "Registers" }, + {"h", "nohlsearch", desc = "Stop Highlight" }, + }) + end, +} diff --git a/lua/ward/remap.lua b/lua/ward/remap.lua new file mode 100644 index 0000000..eb76e0a --- /dev/null +++ b/lua/ward/remap.lua @@ -0,0 +1,33 @@ +--$ I'll have all my standard remappings here, some plugins will add and overwrite +--$ Leaders go first +vim.g.mapleader = " " +vim.g.maplocalleader = "\\" + +vim.keymap.set("n", "w", vim.cmd.w) +vim.keymap.set("n", "q", vim.cmd.q) +vim.keymap.set("n", "bn", vim.cmd.bnext) +vim.keymap.set("n", "n", vim.cmd.bnext) +vim.keymap.set("n", "bp", vim.cmd.bprevious) +vim.keymap.set("n", "bb", vim.cmd.bprevious) +vim.keymap.set("n", "bl", vim.cmd.buffers) +vim.keymap.set("n", "bc", vim.cmd.bdelete) +vim.keymap.set("n", "e", vim.cmd.Ex) +vim.keymap.set("n", "", [[w]]) +vim.keymap.set("n", "vm", "marks") +vim.keymap.set("n", "vr", "registers") +vim.keymap.set("n", "h", "nohlsearch") + +--"$ map exit terminal mode to Escape +vim.keymap.set("t", "", [[]]) + +--"$ normal mappings +--"$ up/down half a page centered +vim.keymap.set("n", "", [[zz]]) +vim.keymap.set("n", "", [[zz]]) +--nnoremap zz +--nnoremap zz +--"$centered next/prev find +vim.keymap.set("n", "n", [[nzzv]]) +vim.keymap.set("n", "N", [[Nzzv]]) +--nnoremap n nzzzv +--nnoremap N Nzzzv diff --git a/lua/ward/setup.lua b/lua/ward/setup.lua new file mode 100644 index 0000000..7f317ed --- /dev/null +++ b/lua/ward/setup.lua @@ -0,0 +1,23 @@ + +vim.opt.clipboard = 'unnamedplus' -- use system keyboard for yank + +vim.opt.nu = true -- set line numbers +vim.opt.relativenumber = true -- use relative line numbers + +-- set tab size to 2 spaces +vim.opt.tabstop = 2 +vim.opt.softtabstop = 2 +vim.opt.shiftwidth = 2 +vim.opt.expandtab = true +vim.opt.smartindent = true + +vim.opt.wrap = false + +--vim.opt.colorcolumn= 110 +vim.api.nvim_set_option_value("colorcolumn", "110", {}) + +vim.opt.confirm = true +vim.opt.hlsearch = true +vim.opt.incsearch = true -- incremental search + +vim.opt.termguicolors = true diff --git a/old/init.vim b/old/init.vim new file mode 100644 index 0000000..e9471dc --- /dev/null +++ b/old/init.vim @@ -0,0 +1,5 @@ +"$ load ward config +source ~/.config/nvim/ward/init.vim + +"$ theme/colorscheme +colorscheme desert diff --git a/old/ward/init.vim b/old/ward/init.vim new file mode 100644 index 0000000..16811b0 --- /dev/null +++ b/old/ward/init.vim @@ -0,0 +1,63 @@ +"$~~~~~~~~~~~~~~ +"$ Ward's Vimrc +"$-============- + +"## use clipboard '+' and '*' (:help clipboard) +set clipboard+=unnamedplus + +"$ set line number on +set number + +"$ set relative numbers on +set relativenumber + +"$ show ruler-/cursor-position in bottomright +set ruler + +"$ set a column at position 110 +set colorcolumn=110 + +"$ ask to save before leaving a modified buffer +set confirm + +"$ highlight search +set hlsearch + +"$ incremental search +set incsearch + +"$ highlight current cursorline +set cursorline + +"$ Added keybinds $$$ +"$ LEADER KEY +let mapleader=' ' + +"$ show vim waiting for next input when leader is used +set showcmd + +"$ Leader mappings +noremap w :w +noremap q :q +noremap bn :bnext +noremap n :bnext +noremap bp :bprevious +noremap bb :bprevious +noremap bl :buffers +noremap bc :bd +noremap w +noremap e :Explore +noremap vm :marks +noremap vr :registers +noremap h :nohlsearch + +"$ map exit terminal mode to Escape +tnoremap + +"$ normal mappings +"$up/down half a page centered +nnoremap zz +nnoremap zz +"$centered next/prev find +nnoremap n nzzzv +nnoremap N Nzzzv