First Commit

This commit is contained in:
2025-12-17 13:24:08 -06:00
commit 31d47908c3
3 changed files with 3143 additions and 0 deletions

2877
autoload/plug.vim Normal file

File diff suppressed because it is too large Load Diff

4
ftplugin/markdown.lua Normal file
View File

@@ -0,0 +1,4 @@
vim.g.markdown_fenced_languages = {'python', 'cpp', 'c', 'lua'}
vim.keymap.set({"n" , "v"} , "<A-k>" , "?#\\+ <CR>" , { desc = "MOVE UP HEADING" })
vim.keymap.set({"n" , "v"} , "<A-j>" , "/#\\+ <CR>" , { desc = "MOVE DOWN HEADING" })
--vim.keymap.set({"n" , "v"} , "<TAB>" , "za" , { desc = "TAB FOLD" })

262
init.lua Normal file
View File

@@ -0,0 +1,262 @@
--┌──────┐
--│ │
--│ Plug │
--│ │
--└──────┘
local Plug = vim.fn['plug#']
vim.call('plug#begin')
Plug('ellisonleao/gruvbox.nvim')
Plug('nvim-treesitter/nvim-treesitter')
--Plug('stevearc/oil.nvim')
Plug('godlygeek/tabular')
Plug('jbyuki/venn.nvim')
Plug('ribru17/bamboo.nvim')
Plug('sphamba/smear-cursor.nvim')
Plug('savq/melange-nvim')
Plug('smoka7/hop.nvim')
--Plug('MeanderingProgrammer/render-markdown.nvim')
Plug('sainnhe/sonokai')
Plug('sainnhe/everforest')
Plug('shaunsingh/nord.nvim')
Plug('sainnhe/gruvbox-material')
Plug('rebelot/kanagawa.nvim')
Plug('hat0uma/csvview.nvim')
Plug('catppuccin/nvim')
Plug('jbyuki/carrot.nvim')
vim.call('plug#end')
--┌──────────────┐
--│ │
--│ Line Numbers │
--│ │
--└──────────────┘
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.numberwidth = 4
vim.opt.wrap = true
vim.opt.breakindent = true
--┌────────┐
--│ │
--│ Cursor │
--│ │
--└────────┘
-- vim.opt.guicursor = "n-v-c-sm:block,i-ci-ve:ver25,r-cr-o:hor20,t:block-blinkon500-blinkoff500-TermCursor"
--vim.opt.guicursor = "n-v-c-sm:block-blinkon1800-blinkoff200,i-ci-ve:ver25-blinkon1800-blinkoff200,r-cr-o:hor20,t:block-blinkon1000-blinkoff1000-TermCursor"
--┌─────────────┐
--│ │
--│ Indentation │
--│ │
--└─────────────┘
vim.opt.tabstop = 2
vim.opt.shiftwidth = 2
vim.opt.expandtab = true
vim.opt.autoindent = true
--┌────────┐
--│ │
--│ Search │
--│ │
--└────────┘
vim.opt.ignorecase = true
vim.opt.smartcase = true
vim.opt.hlsearch = false
vim.opt.incsearch = true
--┌────────┐
--│ │
--│ Visual │
--│ │
--└────────┘
vim.opt.cursorline = false
vim.opt.cursorcolumn = false
--┌──────────┐
--│ │
--│ Behavior │
--│ │
--└──────────┘
vim.opt.scrolloff = 5
vim.opt.sidescrolloff = 10
vim.opt.iskeyword:append("-")
vim.opt.path:append("**")
vim.opt.autochdir = true
vim.opt.mouse = ""
vim.opt.splitbelow = true
vim.opt.splitright = true
--┌─────────────┐
--│ │
--│ Keybindings │
--│ │
--└─────────────┘
vim.g.mapleader = " "
vim.g.maplocalleader = " "
vim.keymap.set({"n" , "v"} , "<leader>'" , ":e .<CR>" , { desc = "OPEN THE CURRENT BUFFER'S DIRECTORY" })
vim.keymap.set({"n" , "v"} , "<leader><leader>" , ":HopWord<CR>" , { desc = "HOP TO WORDS" })
vim.keymap.set({"n" , "v"} , "<leader>C" , ":put =execute('lua =" , { desc = "QUICK LUA CALCULATION AND INSERT" })
vim.keymap.set({"n" , "v"} , "<leader>E" , ":set ve=none<CR>" , { desc = "DISABLE VISUAL EDIT MODE" })
vim.keymap.set({"n" , "v"} , "<leader>b" , "ly$h%p" , { desc = "COPY CONTEXT COMMENT TO OTHER END OF SCOPE" })
vim.keymap.set({"n" , "v"} , "<leader>c" , ":lua =" , { desc = "QUICK LUA CALCULATION" })
vim.keymap.set({"n" , "v"} , "<leader>d" , ":put =strftime('%Y-%m-%d-%H:%M:%S')<CR> :normal I[<ESC>A]<ESC>kJ" , { desc = "APPEND TIMESTAMP TO LINE" })
vim.keymap.set({"n" , "v"} , "<leader>e" , ":set ve=all<CR>" , { desc = "ENABLE VISUAL EDIT MODE" })
vim.keymap.set({"n" , "v"} , "<leader>l" , "f)hvi)gf" , { desc = "OPEN MARKDOWN LINK UNDER CURSOR" })
vim.keymap.set({"n" , "v"} , "<leader>mm" , ":bd<CR>" , { desc = "CLOSE BUFFER" })
vim.keymap.set({"n" , "v"} , "<leader>o" , ":buffer<Space>" , { desc = "BUFFER MENU" })
vim.keymap.set({"n" , "v"} , "<leader>p" , "\"*p" , { desc = "PASTE FROM CLIPBOARD" })
vim.keymap.set({"n" , "v"} , "<leader>te" , ":Tabularize /=<CR>" , { desc = "FORMAT MARKDOWN TABLES" })
vim.keymap.set({"n" , "v"} , "<leader>tt" , ":Tabularize /|/l0<CR>" , { desc = "FORMAT MARKDOWN TABLES" })
vim.keymap.set({"n" , "v"} , "<leader>v" , ":VBoxO<CR>" , { desc = "DISABLE VISUAL EDIT MODE" })
vim.keymap.set({"n" , "v"} , "<leader>w" , "<C-w><C-w>" , { desc = "SWITCH WINDOW" })
vim.keymap.set({"n" , "v"} , "<leader>x<Space>" , ":%s/ \\+$//<CR>" , { desc = "REMOVE ALL TRAILING SPACES" })
vim.keymap.set({"n" , "v"} , "<leader>y" , "\"+y" , { desc = "YANK TO CLIPBOARD" })
--┌───────────┐
--│ │
--│ Clipboard │
--│ │
--└───────────┘
vim.opt.clipboard:append("unnamedplus")
--┌─────┐
--│ │
--│ Oil │
--│ │
--└─────┘
--require("oil").setup({
-- default_file_explorer = true
--})
--┌────────────┐
--│ │
--│ Treesitter │
--│ │
--└────────────┘
require'nvim-treesitter.configs'.setup {
-- A list of parser names, or "all" (the listed parsers MUST always be installed)
ensure_installed = { "c", "lua", "vim", "vimdoc", "query", "markdown", "markdown_inline", "javascript", "html", "nginx", "bash", "cmake"},
-- Install parsers synchronously (only applied to `ensure_installed`)
sync_install = false,
-- Automatically install missing parsers when entering buffer
-- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally
auto_install = false,
-- List of parsers to ignore installing (or "all")
--ignore_install = { "javascript" },
---- If you need to change the installation directory of the parsers (see -> Advanced Setup)
-- parser_install_dir = "/some/path/to/store/parsers", -- Remember to run vim.opt.runtimepath:append("/some/path/to/store/parsers")!
highlight = {
enable = true,
-- NOTE: these are the names of the parsers and not the filetype. (for example if you want to
-- disable highlighting for the `tex` filetype, you need to include `latex` in this list as this is
-- the name of the parser)
-- list of language that will be disabled
--disable = { "c", "rust" },
-- Or use a function for more flexibility, e.g. to disable slow treesitter highlight for large files
disable = function(lang, buf)
local max_filesize = 100 * 1024 -- 100 KB
local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
if ok and stats and stats.size > max_filesize then
return true
end
end,
-- Setting this to true will run `:h syntax` and tree-sitter at the same time.
-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
-- Using this option may slow down your editor, and you may see some duplicate highlights.
-- Instead of true it can also be a list of languages
additional_vim_regex_highlighting = false,
},
}
--┌──────────────┐
--│ │
--│ Smear Cursor │
--│ │
--└──────────────┘
require('smear_cursor').enabled = true
--┌─────────────────┐
--│ │
--│ Render Markdown │
--│ │
--└─────────────────┘
--require('render-markdown').setup({
-- sign = { enabled = flase },
-- anti_conceal = {
-- enabled = false,
-- above = 0,
-- below = 0,
-- },
-- heading = {
-- sign = false,
-- icons = { '# ' },
-- width = 'block',
-- --left_margin = 0.5,
-- --left_pad = 2,
-- right_pad = 2,
-- --position = 'inline',
-- },
-- bullet = {
-- icons = { '-' },
-- },
-- link = {
-- image = '@',
-- email = '@',
-- hyperlink = '@',
-- },
-- checkbox = {
-- bullet = false,
-- unchecked = { icon = 'O', },
-- checked = { icon = 'X', },
-- },
-- indent = { enabled = true, },
-- latex = { enabled = true, },
--})
--┌─────┐
--│ │
--│ Hop │
--│ │
--└─────┘
require('hop').setup{
keys = 'abdefghijklmnorstuvwy',
}
--┌──────────────┐
--│ │
--│ Visual Stuff │
--│ │
--└──────────────┘
require("bamboo").load()
vim.cmd(":colorscheme melange")
vim.cmd [[
highlight Normal guibg=none
highlight NonText guibg=none
highlight Normal ctermbg=none
highlight NonText ctermbg=none
]]
--vim.opt.guifont = 'hermit'
--vim.g.neovide_opacity = 0.8
--vim.g.neovide_normal_opacity = 0.8
--┌──────────┐
--│ │
--│ CSV View │
--│ │
--└──────────┘
require('csvview').setup()
--┌───────────────┐
--│ │
--│ Markdown Eval │
--│ │
--└───────────────┘
--require 'mdeval'.setup()
--┌───────────┐
--│ │
--│ Home Page │
--│ │
--└───────────┘
--vim.cmd(":edit ~/scratch.md")