Add more neovim configuration
This commit is contained in:
		@@ -1,6 +1,15 @@
 | 
			
		||||
vim.api.nvim_create_augroup("DavidStandardGroup", { clear = true })
 | 
			
		||||
local dsgAutocmd = vim.api.nvim_create_autocmd
 | 
			
		||||
 | 
			
		||||
require("david_standard.settings")
 | 
			
		||||
require("david_standard.remaps")
 | 
			
		||||
require("david_standard.lazy_nvim")
 | 
			
		||||
 | 
			
		||||
require("david_standard.plugin_key_mappings")
 | 
			
		||||
require("david_standard.colorscheme_settings")
 | 
			
		||||
 | 
			
		||||
dsgAutocmd({"BufWritePre"}, {
 | 
			
		||||
    group = DavidStandardGroup,
 | 
			
		||||
    pattern = "*",
 | 
			
		||||
    command = [[%s/\s\+$//e]],
 | 
			
		||||
})
 | 
			
		||||
 
 | 
			
		||||
@@ -31,6 +31,14 @@ vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle)
 | 
			
		||||
 | 
			
		||||
-- fugitive (git integration)
 | 
			
		||||
vim.keymap.set("n", "<leader>gG", vim.cmd.Git)
 | 
			
		||||
vim.keymap.set("n", "<leader>gg", ":Git --paginate ") -- shortcut, arbitrary git commands
 | 
			
		||||
vim.keymap.set("n", "<leader>gg", ":Git ") -- shortcut, arbitrary git commands
 | 
			
		||||
vim.keymap.set("n", "<leader>ga", function() vim.cmd.Git({ "add %"}) end)
 | 
			
		||||
vim.keymap.set("n", "<leader>gs", function() vim.cmd.Git({ "--paginate status" }) end)
 | 
			
		||||
vim.keymap.set("n", "<leader>gc", function() vim.cmd.Git({ "commit -a" }) end)
 | 
			
		||||
 | 
			
		||||
-- conform (formatter)
 | 
			
		||||
-- TODO: uncomment this once i set up the plugin
 | 
			
		||||
-- vim.keymap.set("n", "<leader>fmt", function()
 | 
			
		||||
--     require("conform").format({ bufnr = 0 })
 | 
			
		||||
-- end)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,17 @@
 | 
			
		||||
-- TODO: set this up
 | 
			
		||||
return {
 | 
			
		||||
--     'stevearc/conform.nvim',
 | 
			
		||||
--     opts = {},
 | 
			
		||||
--     config = function()
 | 
			
		||||
--         require("conform").setup({
 | 
			
		||||
--             formatters_by_ft = {
 | 
			
		||||
--                 lua = { "stylua" },
 | 
			
		||||
--                 go = { "gofmt" },
 | 
			
		||||
--                 javascript = { "prettier" },
 | 
			
		||||
--                 typescript = { "prettier" },
 | 
			
		||||
--                 elixir = { "mix" }
 | 
			
		||||
--             }
 | 
			
		||||
--         })
 | 
			
		||||
--     end
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -1,82 +1,51 @@
 | 
			
		||||
vim.keymap.set("n", "<leader>d", vim.cmd.Ex)
 | 
			
		||||
-- explore the directory of the current file (using netrw)
 | 
			
		||||
vim.keymap.set("n", "<leader>n", vim.cmd.Ex)
 | 
			
		||||
 | 
			
		||||
-- vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
 | 
			
		||||
-- vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
 | 
			
		||||
-- move selected lines up or down
 | 
			
		||||
vim.keymap.set("v", "J", ":m '>+1<CR>gv")
 | 
			
		||||
vim.keymap.set("v", "K", ":m '<-2<CR>gv")
 | 
			
		||||
 | 
			
		||||
-- vim.api.nvim_set_keymap("n", "<leader>tf", "<Plug>PlenaryTestFile", { noremap = false, silent = false })
 | 
			
		||||
-- vertically center cursor with half-page jumps iterating search results
 | 
			
		||||
vim.keymap.set("n", "<C-d>", "<C-d>zz")
 | 
			
		||||
vim.keymap.set("n", "<C-u>", "<C-u>zz")
 | 
			
		||||
vim.keymap.set("n", "n", "nzzzv")
 | 
			
		||||
vim.keymap.set("n", "N", "Nzzzv")
 | 
			
		||||
 | 
			
		||||
-- vim.keymap.set("n", "J", "mzJ`z")
 | 
			
		||||
-- vim.keymap.set("n", "<C-d>", "<C-d>zz")
 | 
			
		||||
-- vim.keymap.set("n", "<C-u>", "<C-u>zz")
 | 
			
		||||
-- vim.keymap.set("n", "n", "nzzzv")
 | 
			
		||||
-- vim.keymap.set("n", "N", "Nzzzv")
 | 
			
		||||
-- vim.keymap.set("n", "=ap", "ma=ap'a")
 | 
			
		||||
-- vim.keymap.set("n", "<leader>zig", "<cmd>LspRestart<cr>")
 | 
			
		||||
-- maintain cursor position after paragraph formatting
 | 
			
		||||
vim.keymap.set("n", "=ap", "ma=ap'a")
 | 
			
		||||
 | 
			
		||||
-- vim.keymap.set("n", "<leader>vwm", function()
 | 
			
		||||
--     require("vim-with-me").StartVimWithMe()
 | 
			
		||||
-- end)
 | 
			
		||||
-- vim.keymap.set("n", "<leader>svwm", function()
 | 
			
		||||
--     require("vim-with-me").StopVimWithMe()
 | 
			
		||||
-- end)
 | 
			
		||||
-- shortcuts for deleting into the void register
 | 
			
		||||
vim.keymap.set({ "n", "v" }, "<leader>d", "\"_d")
 | 
			
		||||
vim.keymap.set("x", "<leader>p", [["_dP]]) -- replace selected text, keep main register
 | 
			
		||||
 | 
			
		||||
-- -- greatest remap ever
 | 
			
		||||
-- vim.keymap.set("x", "<leader>p", [["_dP]])
 | 
			
		||||
-- shortcuts for using + register (system clipboard)
 | 
			
		||||
vim.keymap.set({ "n", "v" }, "<leader>y", [["+y]])
 | 
			
		||||
vim.keymap.set("n", "<leader>Y", [["+Y]])
 | 
			
		||||
 | 
			
		||||
-- -- next greatest remap ever : asbjornHaland
 | 
			
		||||
-- vim.keymap.set({ "n", "v" }, "<leader>y", [["+y]])
 | 
			
		||||
-- vim.keymap.set("n", "<leader>Y", [["+Y]])
 | 
			
		||||
-- search-and-replace shortcuts
 | 
			
		||||
vim.keymap.set("n", "<leader>rw", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])
 | 
			
		||||
vim.keymap.set("n", "<leader>ra", [[:%s//g<Left><Left>]])
 | 
			
		||||
 | 
			
		||||
-- vim.keymap.set({ "n", "v" }, "<leader>d", "\"_d")
 | 
			
		||||
-- toggle expandtab and show message
 | 
			
		||||
vim.keymap.set("n", "<leader>tab", function()
 | 
			
		||||
    if vim.opt.expandtab:get() then
 | 
			
		||||
        vim.opt.expandtab = false
 | 
			
		||||
        print("using actual tabs")
 | 
			
		||||
    else
 | 
			
		||||
        vim.opt.expandtab = true
 | 
			
		||||
        print("using spaces in place of tabs")
 | 
			
		||||
    end
 | 
			
		||||
end)
 | 
			
		||||
 | 
			
		||||
-- -- This is going to get me cancelled
 | 
			
		||||
-- vim.keymap.set("i", "<C-c>", "<Esc>")
 | 
			
		||||
 | 
			
		||||
-- vim.keymap.set("n", "Q", "<nop>")
 | 
			
		||||
-- vim.keymap.set("n", "<C-f>", "<cmd>silent !tmux neww tmux-sessionizer<CR>")
 | 
			
		||||
-- vim.keymap.set("n", "<M-h>", "<cmd>silent !tmux-sessionizer -s 0 --vsplit<CR>")
 | 
			
		||||
-- vim.keymap.set("n", "<M-H>", "<cmd>silent !tmux neww tmux-sessionizer -s 0<CR>")
 | 
			
		||||
-- vim.keymap.set("n", "<leader>f", function()
 | 
			
		||||
--     require("conform").format({ bufnr = 0 })
 | 
			
		||||
-- end)
 | 
			
		||||
-- quicker switching between panes/splits
 | 
			
		||||
vim.keymap.set("n", "<C-h>", [[<C-w>h]])
 | 
			
		||||
vim.keymap.set("n", "<C-j>", [[<C-w>j]])
 | 
			
		||||
vim.keymap.set("n", "<C-k>", [[<C-w>k]])
 | 
			
		||||
vim.keymap.set("n", "<C-l>", [[<C-w>l]])
 | 
			
		||||
 | 
			
		||||
-- TODO: learn about quickfix (:help quickfix), then maybe use these
 | 
			
		||||
-- vim.keymap.set("n", "<C-k>", "<cmd>cnext<CR>zz")
 | 
			
		||||
-- vim.keymap.set("n", "<C-j>", "<cmd>cprev<CR>zz")
 | 
			
		||||
-- vim.keymap.set("n", "<leader>k", "<cmd>lnext<CR>zz")
 | 
			
		||||
-- vim.keymap.set("n", "<leader>j", "<cmd>lprev<CR>zz")
 | 
			
		||||
 | 
			
		||||
-- vim.keymap.set("n", "<leader>s", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])
 | 
			
		||||
-- vim.keymap.set("n", "<leader>x", "<cmd>!chmod +x %<CR>", { silent = true })
 | 
			
		||||
 | 
			
		||||
-- vim.keymap.set(
 | 
			
		||||
--     "n",
 | 
			
		||||
--     "<leader>ee",
 | 
			
		||||
--     "oif err != nil {<CR>}<Esc>Oreturn err<Esc>"
 | 
			
		||||
-- )
 | 
			
		||||
 | 
			
		||||
-- vim.keymap.set(
 | 
			
		||||
--     "n",
 | 
			
		||||
--     "<leader>ea",
 | 
			
		||||
--     "oassert.NoError(err, \"\")<Esc>F\";a"
 | 
			
		||||
-- )
 | 
			
		||||
 | 
			
		||||
-- vim.keymap.set(
 | 
			
		||||
--     "n",
 | 
			
		||||
--     "<leader>ef",
 | 
			
		||||
--     "oif err != nil {<CR>}<Esc>Olog.Fatalf(\"error: %s\\n\", err.Error())<Esc>jj"
 | 
			
		||||
-- )
 | 
			
		||||
 | 
			
		||||
-- vim.keymap.set(
 | 
			
		||||
--     "n",
 | 
			
		||||
--     "<leader>el",
 | 
			
		||||
--     "oif err != nil {<CR>}<Esc>O.logger.Error(\"error\", \"error\", err)<Esc>F.;i"
 | 
			
		||||
-- )
 | 
			
		||||
 | 
			
		||||
-- vim.keymap.set("n", "<leader>ca", function()
 | 
			
		||||
--     require("cellular-automaton").start_animation("make_it_rain")
 | 
			
		||||
-- end)
 | 
			
		||||
 | 
			
		||||
-- vim.keymap.set("n", "<leader><leader>", function()
 | 
			
		||||
--     vim.cmd("so")
 | 
			
		||||
-- end)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,33 +1,43 @@
 | 
			
		||||
vim.g.mapleader = " "
 | 
			
		||||
 | 
			
		||||
-- -- TODO: do i want these?
 | 
			
		||||
-- vim.opt.isfname:append("@-@")
 | 
			
		||||
-- vim.opt.guicursor = ""
 | 
			
		||||
 | 
			
		||||
vim.opt.hlsearch = true
 | 
			
		||||
vim.opt.incsearch = true
 | 
			
		||||
 | 
			
		||||
vim.opt.termguicolors = true
 | 
			
		||||
vim.opt.scrolloff = 2
 | 
			
		||||
vim.opt.colorcolumn = "90"
 | 
			
		||||
vim.opt.signcolumn = "number" -- "auto", "yes", "no", "number"
 | 
			
		||||
vim.opt.laststatus = 2
 | 
			
		||||
vim.opt.splitright = true
 | 
			
		||||
vim.opt.splitbelow = true
 | 
			
		||||
 | 
			
		||||
vim.opt.errorbells = false
 | 
			
		||||
vim.opt.visualbell = false
 | 
			
		||||
 | 
			
		||||
vim.opt.updatetime = 1000
 | 
			
		||||
 | 
			
		||||
vim.opt.nu = true
 | 
			
		||||
vim.opt.relativenumber = true
 | 
			
		||||
vim.opt.smartindent = true
 | 
			
		||||
vim.opt.wrap = false
 | 
			
		||||
 | 
			
		||||
-- vim.opt.tabstop = 4
 | 
			
		||||
-- vim.opt.softtabstop = 4
 | 
			
		||||
-- vim.opt.shiftwidth = 4
 | 
			
		||||
-- vim.opt.expandtab = true
 | 
			
		||||
vim.opt.tabstop = 4
 | 
			
		||||
vim.opt.softtabstop = 4
 | 
			
		||||
vim.opt.shiftwidth = 4
 | 
			
		||||
vim.opt.expandtab = true
 | 
			
		||||
 | 
			
		||||
-- vim.opt.smartindent = true
 | 
			
		||||
vim.opt.backup = false
 | 
			
		||||
vim.opt.swapfile = false
 | 
			
		||||
vim.opt.undodir = os.getenv("XDG_DATA_HOME") .. "/nvim/undodir"
 | 
			
		||||
vim.opt.undofile = true
 | 
			
		||||
 | 
			
		||||
-- vim.opt.wrap = false
 | 
			
		||||
-- netrw settings
 | 
			
		||||
vim.g.netrw_browse_split = 0
 | 
			
		||||
vim.g.netrw_preview = 1
 | 
			
		||||
vim.g.netrw_banner = 0
 | 
			
		||||
vim.g.netrw_winsize = 25
 | 
			
		||||
 | 
			
		||||
-- vim.opt.swapfile = false
 | 
			
		||||
-- vim.opt.backup = false
 | 
			
		||||
-- vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir"
 | 
			
		||||
-- vim.opt.undofile = true
 | 
			
		||||
 | 
			
		||||
-- vim.opt.hlsearch = false
 | 
			
		||||
-- vim.opt.incsearch = true
 | 
			
		||||
 | 
			
		||||
-- vim.opt.termguicolors = true
 | 
			
		||||
 | 
			
		||||
-- vim.opt.scrolloff = 8
 | 
			
		||||
-- vim.opt.signcolumn = "yes"
 | 
			
		||||
-- vim.opt.isfname:append("@-@")
 | 
			
		||||
 | 
			
		||||
-- vim.opt.updatetime = 50
 | 
			
		||||
 | 
			
		||||
-- vim.opt.colorcolumn = "90"
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user