Updated config
This commit is contained in:
parent
7085c0afa9
commit
7547ef0ff1
11 changed files with 127 additions and 6 deletions
|
@ -1,3 +1,73 @@
|
|||
-- ToggleComment
|
||||
vim.api.nvim_create_user_command("ToggleComment", function()
|
||||
local comments = {
|
||||
bash = "#",
|
||||
c = "//",
|
||||
cpp = "//",
|
||||
editorconfig = "#",
|
||||
fish = "#",
|
||||
gdscript = "#",
|
||||
gdshader = "//",
|
||||
gitignore = "#",
|
||||
glsl = "//",
|
||||
go = "//",
|
||||
hyprlang = "#",
|
||||
javascript = "//",
|
||||
jsonc = "//",
|
||||
lua = "--",
|
||||
rust = "//",
|
||||
sh = "#",
|
||||
tmux = "#",
|
||||
toml = "#",
|
||||
typescript = "//",
|
||||
yaml = "#",
|
||||
zig = "//",
|
||||
}
|
||||
|
||||
local comment = comments[vim.bo.filetype]
|
||||
|
||||
if comment == nil then
|
||||
return
|
||||
end
|
||||
|
||||
local is_visual = vim.fn.mode():match("[vV]")
|
||||
local start_line
|
||||
local end_line
|
||||
|
||||
if is_visual then
|
||||
start_line = vim.fn.line("v")
|
||||
end_line = vim.fn.line(".")
|
||||
else
|
||||
start_line = vim.fn.line(".")
|
||||
end_line = start_line
|
||||
end
|
||||
|
||||
if start_line == 0 or end_line == 0 then
|
||||
vim.notify("No visual selection found. Please make a selection first.", vim.log.levels.WARN)
|
||||
return
|
||||
end
|
||||
|
||||
if start_line > end_line then
|
||||
start_line, end_line = end_line, start_line
|
||||
end
|
||||
|
||||
local lines = vim.api.nvim_buf_get_lines(0, start_line - 1, end_line, false)
|
||||
|
||||
for i, line in ipairs(lines) do
|
||||
local indent, rest = line:match("^(%s*)(.*)")
|
||||
|
||||
if vim.startswith(rest, comment) then
|
||||
rest = rest:sub(#comment + 1):gsub("^%s*", "")
|
||||
else
|
||||
rest = comment .. " " .. rest
|
||||
end
|
||||
|
||||
lines[i] = indent .. rest
|
||||
end
|
||||
|
||||
vim.api.nvim_buf_set_lines(0, start_line - 1, end_line, false, lines)
|
||||
end, {})
|
||||
|
||||
-- ToggleWord
|
||||
vim.api.nvim_create_user_command("ToggleWord", function()
|
||||
local inverse = {
|
||||
|
|
|
@ -17,9 +17,15 @@ map({"n", "v"}, "Q", "<cmd>qa!<cr>", "Force quit")
|
|||
-- Clear search with Esc
|
||||
map({"n", "i"}, "<esc>", "<cmd>noh<cr><esc>", "Clear search")
|
||||
|
||||
-- Change with c changes the entire word
|
||||
map("n", "c", "ciw", "Change word")
|
||||
|
||||
-- Ctrl S to save the file from any mode
|
||||
map({"n", "i", "s", "v"}, "<C-s>", "<cmd>w<cr><esc>", "Save file")
|
||||
|
||||
-- Ctrl Space for auto complete
|
||||
map("i", "<C-Space>", "<C-x><C-o>", "Auto complete")
|
||||
|
||||
-- Grab the line and move it up/down
|
||||
map("n", "<C-j>", "<cmd>set paste<cr>m`O<esc>``<cmd>set nopaste<cr>", "Add empty line above")
|
||||
map("n", "<C-k>", "m`<cmd>-g/\\m^\\s*$/d<cr>``<cmd>noh<cr>", "Delete empty line above")
|
||||
|
@ -29,6 +35,8 @@ map("n", "<A-j>", "<cmd>set paste<cr>m`o<esc>``<cmd>set nopaste<cr>", "Add empty
|
|||
map("n", "<A-k>", "m`<cmd>+g/\\m^\\s*$/d<cr>``<cmd>noh<cr>", "Delete empty line below")
|
||||
|
||||
-- Horizontal movement
|
||||
map({"n", "v"}, "<C-h>", "b", "Back one word")
|
||||
map({"n", "v"}, "<C-l>", "w", "Forward one word")
|
||||
map({"n", "v"}, "H", "^", "Beginning of line")
|
||||
map({"n", "v"}, "L", "<end>", "End of line")
|
||||
|
||||
|
@ -42,6 +50,9 @@ map("n", "<S-Tab>", "V<gv<esc>")
|
|||
map("v", "<Tab>", ">gv")
|
||||
map("v", "<S-Tab>", "<gv")
|
||||
|
||||
-- Toggle comment
|
||||
map({"n", "v"}, "<C-/>", "<cmd>ToggleComment<cr>", "Toggle comment")
|
||||
|
||||
-- Toggle word
|
||||
map("n", "<Bslash>", "<cmd>ToggleWord<cr>", "Toggle word")
|
||||
|
||||
|
|
|
@ -7,5 +7,6 @@ vim.diagnostic.config({
|
|||
vim.lsp.enable({
|
||||
"clangd",
|
||||
"gopls",
|
||||
"lua-language-server",
|
||||
"rust-analyzer",
|
||||
})
|
Loading…
Add table
Add a link
Reference in a new issue