Initial commit
This commit is contained in:
100
lua/config/keymaps.lua
Normal file
100
lua/config/keymaps.lua
Normal file
@@ -0,0 +1,100 @@
|
||||
-- Universal Operations
|
||||
-- n => new/create
|
||||
-- q => quit/close
|
||||
-- s => save/write
|
||||
-- x => exit (save&quit)
|
||||
-- d => delete/remove
|
||||
-- r => rename/reload/refresh
|
||||
-- o => open
|
||||
-- a => add
|
||||
-- A => all
|
||||
-- e => edit
|
||||
-- t => toggle
|
||||
-- h/l => previous/next
|
||||
-- j/k => last/first
|
||||
|
||||
local map = vim.keymap.set
|
||||
-- Leader Key Groups
|
||||
map("n", "<leader>b", "<Nop>", { desc = "+buffers" })
|
||||
map("n", "<leader>c", "<Nop>", { desc = "+code" })
|
||||
map("n", "<leader>d", "<Nop>", { desc = "+diagnostics" })
|
||||
map("n", "<leader>e", "<Nop>", { desc = "+file actions" })
|
||||
map("n", "<leader>f", "<Nop>", { desc = "+find" })
|
||||
map("n", "<leader>g", "<Nop>", { desc = "+git" })
|
||||
map("n", "<leader>l", "<Nop>", { desc = "+lazy" })
|
||||
map("n", "<leader>m", "<Nop>", { desc = "+movement" })
|
||||
map("n", "<leader>s", "<Nop>", { desc = "+search" })
|
||||
map("n", "<leader>t", "<Nop>", { desc = "+tabs" })
|
||||
map("n", "<leader>u", "<Nop>", { desc = "+ui" })
|
||||
map("n", "<leader>w", "<Nop>", { desc = "+windows" })
|
||||
map("n", "<leader>x", "<Nop>", { desc = "+quickfix" })
|
||||
-- MacOs Style
|
||||
map({ "n", "i", "v", "s" }, "<D-s>", "<cmd>w<cr><esc>", { desc = "Save File" })
|
||||
map("n", "<D-z>", "u", { desc = "Undo" })
|
||||
map("n", "<D-S-z>", "<C-r>", { desc = "Redo" })
|
||||
map("n", "<D-a>", "gg<S-v>G", { desc = "Select all" })
|
||||
map("n", "<C-j>", "<C-w>j", { desc = "Clear search highlight" })
|
||||
-- Window
|
||||
map("n", "<leader>wh", "<C-w>h", { desc = "Go to left window" })
|
||||
map("n", "<leader>wj", "<C-w>j", { desc = "Go to lower window" })
|
||||
map("n", "<leader>wk", "<C-w>k", { desc = "Go to upper window" })
|
||||
map("n", "<leader>wl", "<C-w>l", { desc = "Go to right window" })
|
||||
map("n", "<leader>w|", "<C-w>v", { desc = "Split vertically" })
|
||||
map("n", "<leader>w-", "<C-w>s", { desc = "Split horizontally" })
|
||||
map("n", "<leader>wq", "<C-w>c", { desc = "Close window" })
|
||||
map("n", "<leader>wQ", "<C-w>o", { desc = "Close other windows" })
|
||||
map("n", "<leader>w=", "<C-w>=", { desc = "Equal width/height" })
|
||||
map("n", "<leader>ww", "<C-w>w", { desc = "Switch windows" })
|
||||
map("n", "<M-h>", "<cmd>vertical resize -2<cr>", { desc = "Decrease width" })
|
||||
map("n", "<M-l>", "<cmd>vertical resize +2<cr>", { desc = "Increase width" })
|
||||
map("n", "<M-j>", "<cmd>resize -2<cr>", { desc = "Decrease height" })
|
||||
map("n", "<M-k>", "<cmd>resize +2<cr>", { desc = "Increase height" })
|
||||
-- Buffer
|
||||
map("n", "<leader>bA", "<cmd>buffers<cr>", { desc = "List buffers" })
|
||||
map("n", "<leader>bh", "<cmd>bprevious<cr>", { desc = "Previous buffer" })
|
||||
map("n", "<leader>bl", "<cmd>bnext<cr>", { desc = "Next buffer" })
|
||||
map("n", "<leader>bk", "<cmd>bfirst<cr>", { desc = "First buffer" })
|
||||
map("n", "<leader>bj", "<cmd>blast<cr>", { desc = "Last buffer" })
|
||||
map("n", "<leader>bd", "<cmd>bdelete<cr>", { desc = "Delete buffer" })
|
||||
map("n", "<leader>bk", "<cmd>bprevious<cr>", { desc = "Previous buffer" })
|
||||
-- Tabs
|
||||
map("n", "<leader>tn", "<cmd>tabnew<cr>", { desc = "New Tab" })
|
||||
map("n", "<leader>tq", "<cmd>tabclose<cr>", { desc = "Close tab" })
|
||||
map("n", "<leader>tk", "<cmd>tabfirst<cr>", { desc = "First tab" })
|
||||
map("n", "<leader>tj", "<cmd>tabfirst<cr>", { desc = "Last tab" })
|
||||
map("n", "<leader>th", "<cmd>tabprevious<cr>", { desc = "Previous tab" })
|
||||
map("n", "<leader>tl", "<cmd>tabnext<cr>", { desc = "Next tab" })
|
||||
-- File Actions
|
||||
map("n", "<leader>en", "<cmd>enew<cr>", { desc = "New file" })
|
||||
map("n", "<leader>eq", "<cmd>q<cr>", { desc = "Quit file" })
|
||||
map("n", "<leader>eQ", "<cmd>qa!<cr>", { desc = "Quit all" })
|
||||
map("n", "<leader>ex", "<cmd>wq<cr>", { desc = "Save + quit file" })
|
||||
-- Lazy
|
||||
map("n", "<leader>ll", "<cmd>Lazy<cr>", { desc = "Lazy Plugin Manager" })
|
||||
-- UI
|
||||
map("n", "<leader>uw", "<cmd>set wrap!<cr>", { desc = "Toggle word wrap" })
|
||||
map("n", "<leader>un", "<cmd>set number!<cr>", { desc = "Toggle line numbers" })
|
||||
map("n", "<leader>ur", "<cmd>set relativenumber!<cr>", { desc = "Toggle relative number" })
|
||||
-- Quickfixes
|
||||
map("n", "<leader>xl", "<cmd>cnext<cr>", { desc = "Next quickfix" })
|
||||
map("n", "<leader>xh", "<cmd>cprev<cr>", { desc = "Previous quickfix" })
|
||||
map("n", "<leader>xo", "<cmd>copen<cr>", { desc = "Open quickfix" })
|
||||
map("n", "<leader>xq", "<cmd>cclose<cr>", { desc = "Close quickfix" })
|
||||
-- Movement
|
||||
map("n", "j", "gj", { desc = "Move down (Wrapped Line)" })
|
||||
map("n", "k", "gk", { desc = "Move up (Wrapped Line)" })
|
||||
map("n", "<leader>mj", "<cmd>m .+1<cr>==", { desc = "Move line down" })
|
||||
map("n", "<leader>mk", "<cmd>m .-2<cr>==", { desc = "Move line up" })
|
||||
map("n", "<leader>mh", "{", { desc = "Previous paragraph" })
|
||||
map("n", "<leader>ml", "}", { desc = "Next paragraph" })
|
||||
map("v", "<leader>mj", ":m '>.+1<cr>gv=gv", { desc = "Move selection down" })
|
||||
map("v", "<leader>mk", ":m '<-2<cr>gv=gv", { desc = "Move selection up" })
|
||||
-- Identing
|
||||
map("v", "<", "<gv", { desc = "Indent left" })
|
||||
map("v", ">", ">gv", { desc = "Indent right" })
|
||||
map("v", "<Tab>", ">gv", { desc = "Indent right" })
|
||||
map("v", "<S-Tab>", "<gv", { desc = "Indent left" })
|
||||
-- Help/Documentation
|
||||
map("n", "<leader>?", "<cmd>Cheatsheet<cr>", { desc = "Show cheatsheet" })
|
||||
-- Search for selection
|
||||
map("v", "//", 'y/\\V<C-R>=escape(@",\'/\\\')<CR><CR>', { desc = "Search selection" })
|
||||
30
lua/config/lazy.lua
Normal file
30
lua/config/lazy.lua
Normal file
@@ -0,0 +1,30 @@
|
||||
local lazypath = vim.fn.stdpath("data") .. "lazy/lazy.nvim"
|
||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
||||
local out = vim.fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--filter=blob:none",
|
||||
"--branch=stable",
|
||||
lazyrepo,
|
||||
lazypath
|
||||
})
|
||||
if vim.v.shell_error ~= 0 then
|
||||
vim.api.nvim_echo({
|
||||
{ "Failed to clone lazy.nvim \n", "ErrorMsg" },
|
||||
{ out, "WarningsMsg" },
|
||||
{ "\nPress any key to exit" },
|
||||
}, true, {})
|
||||
vim.gn.getchar()
|
||||
os.exit(1)
|
||||
end
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = ","
|
||||
require("lazy").setup({
|
||||
spec = {
|
||||
import = "plugins"
|
||||
},
|
||||
checker = { enabled = true }
|
||||
})
|
||||
28
lua/config/options.lua
Normal file
28
lua/config/options.lua
Normal file
@@ -0,0 +1,28 @@
|
||||
local opt = vim.opt
|
||||
|
||||
opt.termguicolors = true
|
||||
opt.number = true
|
||||
opt.relativenumber = true
|
||||
opt.tabstop = 2
|
||||
opt.shiftwidth = 2
|
||||
opt.wrap = false
|
||||
opt.expandtab = true
|
||||
opt.smartindent = true
|
||||
opt.ignorecase = true
|
||||
opt.smartcase = true
|
||||
opt.scrolloff = 8
|
||||
opt.sidescrolloff = 8
|
||||
opt.cursorline = true
|
||||
opt.signcolumn = "yes"
|
||||
opt.splitbelow = true
|
||||
opt.splitright = true
|
||||
opt.hlsearch = true
|
||||
opt.incsearch = true
|
||||
opt.clipboard = "unnamedplus"
|
||||
opt.completeopt = "menuone,noselect"
|
||||
opt.updatetime = 50
|
||||
opt.swapfile = false
|
||||
opt.backup = false
|
||||
opt.undofile = true
|
||||
opt.splitright = true
|
||||
opt.splitbelow = true
|
||||
Reference in New Issue
Block a user