251 lines
9.8 KiB
Lua
251 lines
9.8 KiB
Lua
--┌──────┐
|
|
--│ │
|
|
--│ 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') -- evaluates lua code in markdown files
|
|
Plug('habamax/vim-asciidoctor')
|
|
Plug('folke/which-key.nvim')
|
|
vim.call('plug#end')
|
|
|
|
--┌──────────────┐
|
|
--│ │
|
|
--│ Line Numbers │
|
|
--│ │
|
|
--└──────────────┘
|
|
vim.opt.number = true
|
|
vim.opt.relativenumber = true
|
|
vim.opt.numberwidth = 5
|
|
vim.opt.wrap = false
|
|
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
|
|
vim.opt.cpoptions:append("J")
|
|
|
|
--┌─────────────┐
|
|
--│ │
|
|
--│ 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"} , "<leader>d" , function() vim.api.nvim_put({os.date('%Y-%m-%d-%H:%M:%S')},'c',true,true) end , { 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>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'.setup{
|
|
ensure_installed = { "bash", "c", "css", "cpp", "go", "html", "java", "javascript", "json", "lua", "markdown", "markdown_inline", "python", "rust", "tsx", "typescript" },
|
|
highlight = {
|
|
enable = true,
|
|
-- 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,
|
|
},
|
|
-- incremental_selection = {
|
|
-- enable = true,
|
|
-- keymaps = {
|
|
-- init_selection = "gnn", -- set to `false` to disable one of the mappings
|
|
-- node_incremental = "grn",
|
|
-- scope_incremental = "grc",
|
|
-- node_decremental = "grm",
|
|
-- },
|
|
-- },
|
|
}
|
|
|
|
--┌──────────────┐
|
|
--│ │
|
|
--│ 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")
|