add more neovim plugins and alias eza for ls in zsh

This commit is contained in:
Mark Riedesel 2024-06-18 15:43:36 -05:00
parent b2322f2877
commit 874cd444ba
13 changed files with 228 additions and 13 deletions

View file

@ -1,4 +1,3 @@
vim.g.netrw_liststyle = 3
vim.g.mapleader = " "
vim.g.maplocalleader = " "
@ -9,6 +8,33 @@ opt.number = true
opt.autoread = true -- automatically reload modified files
opt.wildmenu = true -- handle autocompletion menu
opt.wrap = false
opt.list = true
--opt.listchars = {
-- { tab = '>' },
-- { trail = '▂' },
-- { extends = '»' },
-- { precedes = '«' },
--}
opt.modelines = 5
opt.matchtime = 1
opt.tabstop = 2
opt.shiftwidth = 2
opt.autoindent = true
opt.scrolloff = 7
opt.spell = true -- enable spellcheck
opt.ignorecase = true -- ignore case while searching
opt.smartcase = true -- ...unless mixed case is used in search terms
opt.backspace = "indent,eol,start" -- allow backspace on indent, eol, or insert mode start position
opt.cursorline = true
opt.swapfile = false -- disable swap file
-- use system clipboard as default register
opt.clipboard:append("unnamedplus")
-- utility functions for key mappings
function ToggleLineNumbering()
vim.o.number = not vim.o.number
@ -18,8 +44,6 @@ end
-- keymappings
local keymap = vim.keymap
keymap.set('n', '<leader>n', ':lua ToggleLineNumbering()<CR>', {desc="Toggle line numbering"})
keymap.set('', '<C-n>', ':bnext<CR>', {desc="Jump to next buffer"})
keymap.set('', '<C-p>', ':bprev<CR>', {desc="Jump to previous buffer"})
@ -28,11 +52,24 @@ keymap.set('', '<C-j>', '<C-W>j', {desc="Focus window down"})
keymap.set('', '<C-k>', '<C-W>k', {desc="Focus window up"})
keymap.set('', '<C-l>', '<C-W>l', {desc="Focus window right"})
keymap.set('v', '<C-o>', ':sort<CR>', {desc="Sort selected lines alphanumerically"})
keymap.set('n', '<F7>', 'mzgg=G`z<CR>', {desc="Auto-format entire document"})
keymap.set('n', '<leader>pu', ':Lazy update<CR>', {desc="Update plugins managed by Lazy"})
keymap.set('n', '<leader>pi', ':Lazy install<CR>', {desc="Install missing plugins managed by Lazy"})
keymap.set('n', '<leader>pc', ':Lazy clean<CR>', {desc="Clean plugins managed by Lazy"})
keymap.set('n', 'zn', ']s', {desc="Jump to next misspelling"})
keymap.set('n', 'zp', '[s', {desc="Jump to previous misspelling"})
keymap.set('n', 'zf', '<Esc>1z=', {desc="Replace misspelling with firest suggested from dictionary"})
keymap.set('n', '<leader>n', ':lua ToggleLineNumbering()<CR>', {desc="Toggle line numbering"})
keymap.set('n', '<leader>w', ':w!<CR>', {desc="Quicksave"})
keymap.set('n', '<F7>', 'mzgg=G`z<CR>', {desc="Auto-format entire document"})
keymap.set('v', '<C-o>', ':sort<CR>', {desc="Sort selected lines alphanumerically"})
-- prefer ripgrep if available
if vim.fn.executable('rg') == 1 then
vim.o.grepprg = 'rg --vimgrep'
end
-- :W to save with sudo
-- vim.api.nvim_create_user_command('')

View file

@ -0,0 +1,11 @@
return {
"rmagatti/auto-session",
config = function ()
require('auto-session').setup({
auto_restore_enabled = false,
})
local keymap = vim.keymap
keymap.set('n', '<leader>wr', '<cmd>SessionRestore<cr>', { desc = "Restore session for cwd" })
keymap.set('n', '<leader>ws', '<cmd>SessionSave<cr>', { desc = "Save session for cwd" })
end
}

View file

@ -0,0 +1,11 @@
return {
"akinsho/bufferline.nvim",
dependencies = { "nvim-tree/nvim-web-devicons" },
version = "*",
opts = {
options = {
mode = "tabs",
separator_style = "slant",
},
},
}

View file

@ -0,0 +1,4 @@
return {
"nvim-lualine/lualine.nvim",
dependencies = { "nvim-tree/nvim-web-devicons" },
}

View file

@ -37,11 +37,17 @@ return {
mapping = cmp.mapping.preset.insert({
["<C-k>"] = cmp.mapping.select_prev_item(), -- previous suggestion
["<C-j>"] = cmp.mapping.select_next_item(), -- next suggestion
["<C-b>"] = cmp.mapping.scroll_docs(-4),
["<C-f>"] = cmp.mapping.scroll_docs(4),
["<C-l>"] = cmp.mapping.scroll_docs(-4),
["<C-;>"] = cmp.mapping.scroll_docs(4),
["<C-Space>"] = cmp.mapping.complete(), -- show completion suggestions
["<C-e>"] = cmp.mapping.abort(), -- close completion window
["<CR>"] = cmp.mapping.confirm({ select = false }),
["<CR>"] = cmp.mapping.confirm({ select = true }),
["<S-Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
return cmp.complete_common_string()
end
fallback()
end, {'i','c'}),
}),
-- sources for autocompletion
sources = cmp.config.sources({

View file

@ -0,0 +1,12 @@
return {
'folke/tokyonight.nvim',
priority = 1000,
config = function ()
require('tokyonight').setup({
style = 'night',
on_colors = function () end,
on_highlights = function () end,
})
vim.cmd('colorscheme tokyonight')
end,
}

View file

@ -30,6 +30,7 @@ return {
["<C-j>"] = actions.move_selection_next, -- move to next result
["<C-q>"] = actions.send_selected_to_qflist + custom_actions.open_trouble_qflist,
["<C-t>"] = require("trouble.sources.telescope").open,
['<esc>'] = actions.close, -- close immediately when escape is pressed
},
},
},
@ -40,6 +41,9 @@ return {
-- set keymaps
local keymap = vim.keymap -- for conciseness
-- TODO: something
keymap.set("n", ";", "<cmd>Telescope find_files<cr>", { desc = "Fuzzy find files in cwd" })
keymap.set("n", "<leader>/", "<cmd>Telescope live_grep<cr>", { desc = "Find string in cwd" })
keymap.set("n", "<leader>ff", "<cmd>Telescope find_files<cr>", { desc = "Fuzzy find files in cwd" })
keymap.set("n", "<leader>fr", "<cmd>Telescope oldfiles<cr>", { desc = "Fuzzy find recent files" })
keymap.set("n", "<leader>fs", "<cmd>Telescope live_grep<cr>", { desc = "Find string in cwd" })

View file

@ -0,0 +1,21 @@
return {
"folke/todo-comments.nvim",
event = { "BufReadPre", "BufNewFile" },
dependencies = { "nvim-lua/plenary.nvim" },
config = function()
local todo_comments = require("todo-comments")
-- set keymaps
local keymap = vim.keymap -- for conciseness
keymap.set("n", "]t", function()
todo_comments.jump_next()
end, { desc = "Next todo comment" })
keymap.set("n", "[t", function()
todo_comments.jump_prev()
end, { desc = "Previous todo comment" })
todo_comments.setup()
end,
}

View file

@ -0,0 +1,57 @@
return {
"nvim-treesitter/nvim-treesitter",
event = { "BufReadPre", "BufNewFile" },
build = ":TSUpdate",
dependencies = {
"windwp/nvim-ts-autotag",
},
config = function()
-- import nvim-treesitter plugin
local treesitter = require("nvim-treesitter.configs")
-- configure treesitter
treesitter.setup({ -- enable syntax highlighting
highlight = {
enable = true,
},
-- enable indentation
indent = { enable = true },
-- enable autotagging (w/ nvim-ts-autotag plugin)
autotag = {
enable = true,
},
-- ensure these language parsers are installed
ensure_installed = {
"json",
"javascript",
"typescript",
"tsx",
"yaml",
"html",
"css",
"prisma",
"markdown",
"markdown_inline",
"svelte",
"graphql",
"bash",
"lua",
"vim",
"dockerfile",
"gitignore",
"query",
"vimdoc",
"c",
},
incremental_selection = {
enable = true,
keymaps = {
init_selection = "<C-space>",
node_incremental = "<C-space>",
scope_incremental = false,
node_decremental = "<bs>",
},
},
})
end,
}

View file

@ -0,0 +1,35 @@
return {
"nvim-tree/nvim-tree.lua",
dependencies = "nvim-tree/nvim-web-devicons",
config = function ()
local nvimtree = require('nvim-tree')
-- recommended settings from the nvim-tree documentation
vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1
nvimtree.setup({
view = {
width = 35,
relativenumber = true,
},
renderer = {
indent_markers = {
enable = true,
},
},
actions = {
open_file = {
window_picker = {
enable = false,
},
},
},
git = {
ignore = false
},
})
vim.keymap.set('n', '\\e', '<cmd>NvimTreeToggle<cr>', {desc = "Toggle file explorer" })
end
}