Initial commit

This commit is contained in:
duck
2025-12-17 21:43:32 +05:00
commit 591831666f
38 changed files with 2382 additions and 0 deletions

89
home/apps/nvim/init.lua Normal file
View File

@@ -0,0 +1,89 @@
vim.g.mapleader = " "
vim.g.maplocalleader = " "
vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or 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)
vim.opt.autoread = true
vim.opt.tabstop = 4
vim.opt.shiftwidth = 4
vim.opt.expandtab = false
vim.opt.autoindent = true
vim.opt.softtabstop = 0
vim.opt.preserveindent = true
vim.opt.number = true
vim.opt.wrap = false
vim.opt.sidescrolloff = 16
vim.opt.list = true
vim.opt.listchars = {
tab = "",
leadmultispace = "",
multispace = "·",
extends = "»",
precedes = "«",
trail = "",
}
vim.opt.signcolumn = "yes"
vim.opt.hlsearch = false
vim.opt.cursorline = true
vim.opt.cursorlineopt = "number"
vim.opt.shortmess = "aoOstTWIcC"
vim.opt.smartcase = true
vim.opt.ignorecase = true
vim.opt.undofile = true
vim.opt.fillchars = { eob = " " }
vim.opt.virtualedit = "all"
vim.opt.timeout = false
vim.opt.showmode = false
vim.opt.pumheight = 7
vim.diagnostic.config({ virtual_text = false, underline = false, signs = false })
-- FTPlugin, begone
vim.cmd("autocmd BufReadPre,BufNewFile * let b:did_ftplugin = 1")
vim.cmd("filetype plugin off")
vim.keymap.set("n", "<A-j>", ":m .+1<CR>==") -- move line up(n)
vim.keymap.set("n", "<A-k>", ":m .-2<CR>==") -- move line down(n)
vim.keymap.set("v", "<A-j>", ":m '>+1<CR>gv=gv") -- move line up(v)
vim.keymap.set("v", "<A-k>", ":m '<-2<CR>gv=gv") -- move line down(v)
local buffer_action = function(prompt, command)
return function()
vim.ui.input({ prompt = prompt }, function(input)
vim.cmd(command .. input)
end)
end
end
vim.keymap.set("n", "<leader>bn", buffer_action("New buffer", ":edit "))
vim.keymap.set("n", "<leader>bv", buffer_action("Vsplit: ", ":vnew "))
vim.keymap.set("n", "<leader>bs", buffer_action("Hsplit: ", ":new "))
vim.keymap.set("n", "<leader>br", buffer_action("Rename: ", ":file "))
vim.keymap.set({ "n", "v" }, "<PageUp>", "<C-u>")
vim.keymap.set({ "n", "v" }, "H", "<C-u>")
vim.keymap.set({ "n", "v" }, "<PageDown>", "<C-d>")
vim.keymap.set({ "n", "v" }, "L", "<C-d>")
-- `s` shortcut is occupied by surround plugin
vim.keymap.set("n", "<C-s>", "s")
vim.keymap.set("v", "s", "<Nop>")
vim.keymap.set("i", "<C-f>", "<C-n>")
require("lazy").setup("plugins")
vim.fn.digraph_setlist(require("digraphs"))
require("marks")