mirror of
https://github.com/kristoferssolo/SoloVim.git
synced 2026-02-04 06:42:05 +00:00
Update 03.09.2023
Changed file structure (again); Added some plugings and more
This commit is contained in:
@@ -1,87 +0,0 @@
|
||||
-- Use 'q' to quit from common plugins
|
||||
vim.api.nvim_create_autocmd({ "FileType" }, {
|
||||
pattern = { "qf", "help", "man", "lspinfo", "spectre_panel", "lir", "git", "dap-float" },
|
||||
callback = function()
|
||||
vim.cmd([[ nnoremap <silent> <buffer> q :close<cr>
|
||||
set nobuflisted
|
||||
]])
|
||||
end,
|
||||
})
|
||||
|
||||
-- Fixes Autocomment
|
||||
vim.api.nvim_create_autocmd({ "BufWinEnter" }, {
|
||||
callback = function()
|
||||
vim.cmd("set formatoptions-=cro")
|
||||
end,
|
||||
})
|
||||
|
||||
-- Highlight Yanked Text
|
||||
vim.api.nvim_create_autocmd({ "TextYankPost" }, {
|
||||
callback = function()
|
||||
vim.highlight.on_yank({ higroup = "Visual", timeout = 200 })
|
||||
end,
|
||||
})
|
||||
|
||||
-- Format File on Save
|
||||
vim.api.nvim_create_autocmd({ "BufWritePre" }, {
|
||||
callback = function()
|
||||
if vim.lsp.buf.format then
|
||||
vim.lsp.buf.format({ async = true })
|
||||
else
|
||||
vim.lsp.buf.format()
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- Center on InsertEnter
|
||||
vim.api.nvim_create_autocmd({ "InsertEnter" }, {
|
||||
callback = function()
|
||||
vim.cmd("norm zz")
|
||||
end,
|
||||
})
|
||||
|
||||
-- Autocommand that reloads waybar whenever you save the ~/.config/waybar/config file
|
||||
vim.api.nvim_create_autocmd({ "BufWritePost" }, {
|
||||
group = vim.api.nvim_create_augroup("AutoReloadWaybar", { clear = true }),
|
||||
pattern = { "**/waybar/config", "**/waybar/style.css" },
|
||||
callback = function()
|
||||
vim.cmd("!pkill waybar && waybar & disown")
|
||||
end,
|
||||
})
|
||||
|
||||
-- Autocommand that sources neovim files on save
|
||||
vim.api.nvim_create_autocmd({ "BufWritePost" }, {
|
||||
group = vim.api.nvim_create_augroup("AutoReloadConfig", { clear = true }),
|
||||
pattern = { "**/nvim/**/*.lua", "**/SoloVim/**/*.lua" },
|
||||
callback = function()
|
||||
local file_path = vim.api.nvim_buf_get_name(vim.api.nvim_get_current_buf())
|
||||
vim.cmd.source(file_path)
|
||||
end,
|
||||
})
|
||||
|
||||
-- Remove trailing whitespaces on save
|
||||
-- vim.api.nvim_create_autocmd({ "BufWritePre" }, {
|
||||
-- group = vim.api.nvim_create_augroup("RemoveTrailingWhitespaces", { clear = true }),
|
||||
-- pattern = "*",
|
||||
-- callback = function()
|
||||
-- vim.cmd([[%s/\s\+$//e]])
|
||||
-- end,
|
||||
-- })
|
||||
|
||||
-- Run `Lazy` on file save
|
||||
-- vim.api.nvim_create_autocmd({ "BufWritePost" }, {
|
||||
-- group = vim.api.nvim_create_augroup("AutoPackerSync", { clear = true }),
|
||||
-- pattern = { "**/lua/plugins/*" },
|
||||
-- callback = function()
|
||||
-- require("lazy").sync()
|
||||
-- end,
|
||||
-- })
|
||||
|
||||
-- Set vertical column for specific files
|
||||
-- vim.api.nvim_create_autocmd({ "FileType" }, {
|
||||
-- group = vim.api.nvim_create_augroup("SetColorColumn", { clear = true }),
|
||||
-- pattern = { "lua" },
|
||||
-- callback = function()
|
||||
-- vim.cmd.setlocal("colorcolumn=120")
|
||||
-- end,
|
||||
-- })
|
||||
@@ -1,43 +0,0 @@
|
||||
local attach_on_buffer = function(output_bufnr, pattern, command)
|
||||
vim.api.nvim_create_autocmd("BufWritePost", {
|
||||
group = vim.api.nvim_create_augroup("autosave", { clear = true }),
|
||||
pattern = pattern,
|
||||
callback = function()
|
||||
local append_data = function(_, data)
|
||||
if data then
|
||||
vim.api.nvim_buf_set_lines(output_bufnr, -1, -1, false, data)
|
||||
end
|
||||
end
|
||||
|
||||
local file_path = vim.api.nvim_buf_get_name(vim.api.nvim_get_current_buf())
|
||||
vim.api.nvim_buf_set_lines(output_bufnr, 0, -1, false, { file_path })
|
||||
vim.fn.jobstart(command, {
|
||||
stdout_buffered = true,
|
||||
on_stdout = append_data,
|
||||
on_stderr = append_data,
|
||||
})
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
-- vim.api.nvim_create_user_command("AutoRun", function()
|
||||
-- print("AutoRun starts now...")
|
||||
-- local bufnr = vim.api.nvim_get_current_buf()
|
||||
-- local command = vim.fn.input("Command: ")
|
||||
-- local pattern = vim.split(vim.fn.input("Pattern: "), " ")
|
||||
-- attach_on_buffer(tonumber(bufnr), pattern, command)
|
||||
-- end, {})
|
||||
--
|
||||
-- vim.api.nvim_create_user_command("AutoStop", function()
|
||||
-- vim.api.nvim_create_augroup("autosave", { clear = true })
|
||||
-- end, {})
|
||||
|
||||
vim.api.nvim_create_user_command("AutoRun", function()
|
||||
local bufnr = vim.api.nvim_create_buf(true, true)
|
||||
vim.api.nvim_buf_set_name(bufnr, "Test")
|
||||
vim.cmd.vsplit(bufnr)
|
||||
vim.api.nvim_win_set_width(0, 50)
|
||||
-- local command = vim.fn.input("Command: ")
|
||||
-- local pattern = vim.split(vim.fn.input("Pattern: "), " ")
|
||||
-- attach_on_buffer(tonumber(bufnr), pattern, command)
|
||||
end, {})
|
||||
@@ -1,7 +0,0 @@
|
||||
require("config.options")
|
||||
-- require("config.mappings")
|
||||
require("config.keymaps")
|
||||
require("config.vimwiki")
|
||||
require("config.lazy")
|
||||
require("config.autocmds")
|
||||
require("config.autosave")
|
||||
@@ -1,49 +0,0 @@
|
||||
local nmap = require("config.mappings").nmap
|
||||
local xmap = require("config.mappings").xmap
|
||||
local tmap = require("config.mappings").tmap
|
||||
local vmap = require("config.mappings").vmap
|
||||
|
||||
vim.keymap.set("", "<space>", "<nop>")
|
||||
nmap("Q", "<nop>")
|
||||
nmap("q", "<nop>")
|
||||
nmap("<C-space>", "<nop>")
|
||||
|
||||
nmap("J", "mzJ`z")
|
||||
nmap("<C-d>", "<C-d>zz")
|
||||
nmap("<C-u>", "<C-u>zz")
|
||||
nmap("n", "nzzzv")
|
||||
nmap("N", "Nzzzv")
|
||||
|
||||
nmap("<C-h>", vim.cmd.TmuxNavigateLeft, "Focus window left")
|
||||
nmap("<C-j>", vim.cmd.TmuxNavigateDown, "Focus window down")
|
||||
nmap("<C-k>", vim.cmd.TmuxNavigateUp, "Focus window up")
|
||||
nmap("<C-l>", vim.cmd.TmuxNavigateRight, "Focus window right")
|
||||
|
||||
nmap("<C-Up>", "<cmd>resize -2<cr>", "Resize window up")
|
||||
nmap("<C-Down>", "<cmd>resize +2<cr>", "Resize window down")
|
||||
nmap("<C-Left>", "<cmd>vertical resize -2<cr>", "Resize window left")
|
||||
nmap("<C-Right>", "<cmd>vertical resize +2<cr>", "Resize window right")
|
||||
|
||||
nmap("<C-f>", "<cmd>!tmux neww tmux-sessionizer<cr>", "Open tmux sessionizer")
|
||||
|
||||
nmap("<A-k>", "<cmd>m .-2<cr>==", "Move line up")
|
||||
nmap("<A-j>", "<cmd>m .+1<cr>==", "Move line down")
|
||||
|
||||
nmap("<A-s>", ":%s/\\<<C-r><C-w>\\>/<C-r><C-w>/gI<Left><Left><Left>", "Substitute word")
|
||||
-- nmap("<C-b>", "<cmd>w!<cr><cmd>!compiler '%:p'<cr>")
|
||||
-- nmap("<C-o>", "<cmd>w!<cr><cmd>!opout '%:p'<cr>")
|
||||
|
||||
xmap("p", '"_dP')
|
||||
|
||||
vim.keymap.set("c", "<C-j>", 'pumvisible() ? "\\<C-n>" : "\\<C-j>"', { expr = true, noremap = true })
|
||||
vim.keymap.set("c", "<C-k>", 'pumvisible() ? "\\<C-p>" : "\\<C-k>"', { expr = true, noremap = true })
|
||||
|
||||
vmap(">", ">gv", "Right Indent")
|
||||
vmap("<", "<gv", "Left Indent")
|
||||
vmap("<A-k>", ":m '<-2<cr>gv=gv", "Move lines up")
|
||||
vmap("<A-j>", ":m '>+1<cr>gv=gv", "Move lines down")
|
||||
|
||||
-- tmap("<C-h>", "<C-\\><C-N><C-w>h")
|
||||
-- tmap("<C-j>", "<C-\\><C-N><C-w>j")
|
||||
-- tmap("<C-k>", "<C-\\><C-N><C-w>k")
|
||||
-- tmap("<C-l>", "<C-\\><C-N><C-w>l")
|
||||
@@ -1,14 +0,0 @@
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
"--branch=stable", -- latest stable release
|
||||
lazypath,
|
||||
})
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
require("lazy").setup("plugins")
|
||||
@@ -1,35 +0,0 @@
|
||||
local M = {}
|
||||
|
||||
-- Modes
|
||||
-- normal_mode = "n",
|
||||
-- insert_mode = "i",
|
||||
-- visual_mode = "v",
|
||||
-- visual_block_mode = "x",
|
||||
-- term_mode = "t",
|
||||
-- command_mode = "c",
|
||||
--
|
||||
|
||||
M.nmap = function(keys, func, desc)
|
||||
vim.keymap.set("n", keys, func, { desc = desc })
|
||||
end
|
||||
|
||||
M.imap = function(keys, func, desc)
|
||||
vim.keymap.set("i", keys, func, { desc = desc })
|
||||
end
|
||||
|
||||
M.vmap = function(keys, func, desc)
|
||||
vim.keymap.set("v", keys, func, { desc = desc })
|
||||
end
|
||||
|
||||
M.xmap = function(keys, func, desc)
|
||||
vim.keymap.set("x", keys, func, { desc = desc })
|
||||
end
|
||||
|
||||
M.tmap = function(keys, func, desc)
|
||||
vim.keymap.set("t", keys, func, { desc = desc })
|
||||
end
|
||||
|
||||
M.cmap = function(keys, func, desc)
|
||||
vim.keymap.set("c", keys, func, { desc = desc })
|
||||
end
|
||||
return M
|
||||
@@ -1,63 +0,0 @@
|
||||
vim.opt.backup = false -- creates a backup file
|
||||
vim.opt.breakindent = true -- Enable break indent
|
||||
vim.opt.clipboard = "unnamedplus" -- allows neovim to access the system clipboard
|
||||
vim.opt.cmdheight = 1 -- more space in the neovim command line for displaying messages
|
||||
vim.opt.colorcolumn = "120"
|
||||
vim.opt.completeopt = { "menuone", "noselect" } -- mostly just for cmp
|
||||
vim.opt.conceallevel = 0 -- so that `` is visible in markdown files
|
||||
vim.opt.cursorcolumn = true -- highlight the current column
|
||||
vim.opt.cursorline = true -- highlight the current line
|
||||
vim.opt.expandtab = true -- convert tabs to spaces
|
||||
vim.opt.fileencoding = "utf-8" -- the encoding written to a file
|
||||
vim.opt.fillchars.eob = " "
|
||||
vim.opt.foldmethod = "manual"
|
||||
vim.opt.guifont = "JetBrainsMono NF:h11" -- the font used in graphical neovim applications
|
||||
vim.opt.hlsearch = false -- highlight all matches on previous search pattern
|
||||
vim.opt.ignorecase = true -- ignore case in search patterns
|
||||
vim.opt.incsearch = true
|
||||
vim.opt.isfname:append("@-@")
|
||||
vim.opt.iskeyword:append("-")
|
||||
vim.opt.laststatus = 3
|
||||
vim.opt.mouse = "a" -- allow the mouse to be used in neovim
|
||||
vim.opt.number = true -- set numbered lines
|
||||
vim.opt.numberwidth = 4 -- set number column width to 4 {default 4}
|
||||
vim.opt.pumheight = 10 -- pop up menu height
|
||||
vim.opt.relativenumber = true -- set relative numbered lines
|
||||
vim.opt.ruler = false
|
||||
vim.opt.scrolloff = 8 -- is one of my fav
|
||||
vim.opt.shiftwidth = 4 -- the number of spaces inserted for each indentation
|
||||
vim.opt.shortmess:append("c")
|
||||
vim.opt.showcmd = false
|
||||
vim.opt.showmode = false -- we don't need to see things like -- INSERT -- anymore
|
||||
vim.opt.showtabline = 0 -- disable tabs
|
||||
vim.opt.sidescrolloff = 8
|
||||
vim.opt.signcolumn = "yes" -- always show the sign column otherwise it would shift the text each time
|
||||
vim.opt.smartcase = true -- smart case
|
||||
vim.opt.smartindent = true -- make indenting smarter again
|
||||
vim.opt.softtabstop = 4
|
||||
vim.opt.spell = false
|
||||
vim.opt.spelloptions:append("camel")
|
||||
vim.opt.splitbelow = true -- force all horizontal splits to go below current window
|
||||
vim.opt.splitright = true -- force all vertical splits to go to the right of current window
|
||||
vim.opt.swapfile = false -- creates a swapfile
|
||||
vim.opt.tabstop = 4 -- insert 4 spaces for a tab
|
||||
vim.opt.termguicolors = true -- set term gui colors (most terminals support this)
|
||||
vim.opt.timeoutlen = 250 -- time to wait for a mapped sequence to complete (in milliseconds)
|
||||
vim.opt.undodir = vim.fn.stdpath("data") .. "/nvim/undodir"
|
||||
vim.opt.undofile = true -- enable persistent undo
|
||||
vim.opt.updatetime = 50 -- faster completion (4000ms default)
|
||||
vim.opt.whichwrap:append("<,>,[,],h,l")
|
||||
vim.opt.wrap = false -- display lines as one long line
|
||||
vim.opt.writebackup = false -- if a file is being edited by another program (or was written to file while editing with another program) it is not allowed to be edit
|
||||
|
||||
vim.opt_local.path:prepend(vim.fn.stdpath("config") .. "/lua")
|
||||
vim.opt_local.suffixesadd:prepend(".lua")
|
||||
vim.opt_local.suffixesadd:prepend("init.lua")
|
||||
|
||||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = " "
|
||||
vim.g.netrw_banner = 0
|
||||
vim.g.netrw_browse_split = 0
|
||||
vim.g.netrw_keepdir = 0
|
||||
vim.g.netrw_localcopydircmd = "cp -r"
|
||||
vim.g.netrw_winsize = 30
|
||||
@@ -1,13 +0,0 @@
|
||||
vim.g.vimwiki_list = {
|
||||
{
|
||||
path = "~/vimwiki",
|
||||
syntax = "markdown",
|
||||
ext = ".md",
|
||||
},
|
||||
}
|
||||
vim.g.vimwiki_ext2syntax = {
|
||||
[".md"] = "markdown",
|
||||
[".markdown"] = "markdown",
|
||||
[".mdown"] = "markdown",
|
||||
}
|
||||
vim.g.vimwiki_global_ext = 1
|
||||
Reference in New Issue
Block a user