Initial commit

This commit is contained in:
Ward Truyen
2024-12-12 21:23:27 +01:00
commit 30481d8b3d
16 changed files with 358 additions and 0 deletions

0
README.md Normal file
View File

3
init.lua Normal file
View File

@@ -0,0 +1,3 @@
require("ward")
--print("hello from init.lua")

9
lua/ward/init.lua Normal file
View File

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

31
lua/ward/lazy.lua Normal file
View File

@@ -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 },
})

View File

@@ -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,
}

View File

@@ -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,
}

View File

@@ -0,0 +1,10 @@
--$ LSP manager
--$ URL: https://github.com/williamboman/mason.nvim
--$ :Mason
return{
"williamboman/mason.nvim",
config = function()
require("mason").setup()
end,
}

View File

@@ -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", "<leader>e", vim.cmd.NvimTreeToggle)
vim.api.nvim_create_autocmd({"QuitPre"}, { callback = function() vim.cmd("NvimTreeClose") end, })
end,
}

View File

@@ -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', '<leader>pf', builtin.find_files, {})
vim.keymap.set('n', '<leader>pg', builtin.git_files, {})
vim.keymap.set('n', '<leader>pws', function()
local word = vim.fn.expand("<cword>")
builtin.grep_string({ search = word })
end)
vim.keymap.set('n', '<leader>pWs', function()
local word = vim.fn.expand("<cWORD>")
builtin.grep_string({ search = word })
end)
vim.keymap.set('n', '<leader>ps', function()
builtin.grep_string({ search = vim.fn.input("Grep > ") })
end)
vim.keymap.set('n', '<leader>vh', builtin.help_tags, {})
end
}

View File

@@ -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', '<leader>tt', ":ToggleTerm name=BottomTerm<cr>")
vim.keymap.set('n', '<leader>tv', ":ToggleTerm direction=vertical name=VerticalTerm<cr>")
vim.keymap.set('n', '<leader>tf', ":ToggleTerm direction=float name=FloatTerm<cr>")
end,
}

View File

@@ -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
}

View File

@@ -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 = {
{
"<leader>?",
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({
{"<leader>w", desc = "Write"},
{"<leader>q", desc = "Quit"},
{"<leader>e", desc = "Explore"},
{"<leader><TAB>", desc = "Switch window"},
{"<leader>n", desc = "Next buffer"},
{"<leader>b", group = "Buffers"}, -- group
{"<leader>bn", desc = "Next buffer"},
{"<leader>bp", desc = "Pervious buffer"},
{"<leader>bb", desc = "Pervious buffer"},
{"<leader>bl", desc = "Buffer list"},
{"<leader>bc", desc = "Close buffer"},
{"<leader>t", group = "Terminal"},
{"<leader>tt", desc = "Bottom Terminal"},
{"<leader>tv", desc = "Vertical Terminal"},
{"<leader>tf", desc = "Floating Terminal"},
{"<leader>p", group = "Project"},
{"<leader>pf", desc = "Find file"},
{"<leader>pg", desc = "Git files"},
{"<leader>ps", desc = "Grep string search"},
{"<leader>pw", desc = "Grep word search"},
{"<leader>pW", desc = "Grep WORD search"},
{"<leader>v", group = "Vim"},
{"<leader>vh", desc = "Help search" },
{"<leader>vm", "<Cmd>marks<Cr>", desc = "Marks", },
{"<leader>vr", "<Cmd>registers<Cr>", desc = "Registers" },
{"<leader>h", "<Cmd>nohlsearch<Cr>", desc = "Stop Highlight" },
})
end,
}

33
lua/ward/remap.lua Normal file
View File

@@ -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", "<leader>w", vim.cmd.w)
vim.keymap.set("n", "<leader>q", vim.cmd.q)
vim.keymap.set("n", "<leader>bn", vim.cmd.bnext)
vim.keymap.set("n", "<leader>n", vim.cmd.bnext)
vim.keymap.set("n", "<leader>bp", vim.cmd.bprevious)
vim.keymap.set("n", "<leader>bb", vim.cmd.bprevious)
vim.keymap.set("n", "<leader>bl", vim.cmd.buffers)
vim.keymap.set("n", "<leader>bc", vim.cmd.bdelete)
vim.keymap.set("n", "<leader>e", vim.cmd.Ex)
vim.keymap.set("n", "<leader><TAB>", [[<C-w>w]])
vim.keymap.set("n", "<leader>vm", "<Cmd>marks<Cr>")
vim.keymap.set("n", "<leader>vr", "<Cmd>registers<Cr>")
vim.keymap.set("n", "<leader>h", "<Cmd>nohlsearch<Cr>")
--"$ map exit terminal mode to Escape
vim.keymap.set("t", "<Esc>", [[<C-\><C-n>]])
--"$ normal mappings
--"$ up/down half a page centered
vim.keymap.set("n", "<C-d>", [[<C-d>zz]])
vim.keymap.set("n", "<C-u>", [[<C-u>zz]])
--nnoremap <C-d> <C-d>zz
--nnoremap <C-u> <C-u>zz
--"$centered next/prev find
vim.keymap.set("n", "n", [[nzzv]])
vim.keymap.set("n", "N", [[Nzzv]])
--nnoremap n nzzzv
--nnoremap N Nzzzv

23
lua/ward/setup.lua Normal file
View File

@@ -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

5
old/init.vim Normal file
View File

@@ -0,0 +1,5 @@
"$ load ward config
source ~/.config/nvim/ward/init.vim
"$ theme/colorscheme
colorscheme desert

63
old/ward/init.vim Normal file
View File

@@ -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 <leader>w :w<cr>
noremap <leader>q :q<cr>
noremap <leader>bn :bnext<cr>
noremap <leader>n :bnext<cr>
noremap <leader>bp :bprevious<cr>
noremap <leader>bb :bprevious<cr>
noremap <leader>bl :buffers<cr>
noremap <leader>bc :bd<cr>
noremap <leader><Tab> <C-w>w
noremap <leader>e :Explore<cr>
noremap <leader>vm :marks<cr>
noremap <leader>vr :registers<cr>
noremap <leader>h :nohlsearch<cr>
"$ map exit terminal mode to Escape
tnoremap <Esc> <C-\><C-n>
"$ normal mappings
"$up/down half a page centered
nnoremap <C-d> <C-d>zz
nnoremap <C-u> <C-u>zz
"$centered next/prev find
nnoremap n nzzzv
nnoremap N Nzzzv