mirror of
https://github.com/kogakure/dotfiles.git
synced 2026-02-03 20:25:30 +00:00
feat(nvim): add comments to keymaps
This commit is contained in:
7
.stylua.toml
Normal file
7
.stylua.toml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
column_width = 200
|
||||||
|
line_endings = "Unix"
|
||||||
|
indent_type = "Tabs"
|
||||||
|
indent_width = 4
|
||||||
|
quote_style = "AutoPreferDouble"
|
||||||
|
call_parentheses = "Always"
|
||||||
|
collapse_simple_statement = "Never"
|
||||||
@@ -18,6 +18,7 @@ initial_window_width 1000
|
|||||||
initial_window_height 650
|
initial_window_height 650
|
||||||
enable_audio_bell no
|
enable_audio_bell no
|
||||||
macos_traditional_fullscreen yes
|
macos_traditional_fullscreen yes
|
||||||
|
macos_option_as_alt both
|
||||||
|
|
||||||
allow_remote_control socket-only
|
allow_remote_control socket-only
|
||||||
listen_on unix:/tmp/kitty
|
listen_on unix:/tmp/kitty
|
||||||
|
|||||||
@@ -1,161 +1,91 @@
|
|||||||
local opts = { noremap = true, silent = true }
|
vim.keymap.set("", "<space>", "<Nop>", { desc = "Remap space as leader key", noremap = true, silent = true })
|
||||||
|
|
||||||
--- Remap space as <leader> key
|
|
||||||
vim.keymap.set("", "<space>", "<Nop>", opts)
|
|
||||||
|
|
||||||
vim.g.mapleader = " "
|
vim.g.mapleader = " "
|
||||||
vim.g.maplocalleader = " "
|
vim.g.maplocalleader = " "
|
||||||
|
|
||||||
-- Quick toggle between buffers
|
vim.keymap.set("n", "<leader>j", ":b#<CR>", { desc = "Quick toggle between buffers", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "<leader>j", ":b#<CR>", opts)
|
|
||||||
|
|
||||||
-- Add semicolon or comma to the end of the line
|
vim.keymap.set("n", ";;", "A;<ESC>", { desc = "Add semicolon to the end of the line", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", ";;", "A;<ESC>", opts)
|
vim.keymap.set("n", ",,", "A,<ESC>", { desc = "Add comma to the end of the line", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", ",,", "A,<ESC>", opts)
|
|
||||||
|
|
||||||
-- Maintain the cursor position when yanking a visual selection
|
vim.keymap.set("v", "y", "myy`y", { desc = "Maintain the cursor position when yanking a visual selection", noremap = true, silent = true })
|
||||||
vim.keymap.set("v", "y", "myy`y", opts)
|
|
||||||
|
|
||||||
-- Delete last character of line
|
vim.keymap.set("n", "<leader>x", "$x", { desc = "Delete last character of line", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "<leader>x", "$x", opts)
|
vim.keymap.set("n", "x", '"_x', { desc = "Do not yank with x", noremap = true, silent = true })
|
||||||
|
|
||||||
-- Do not yank with x
|
vim.keymap.set("n", "+", "<C-a>", { desc = "Increment", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "x", '"_x', opts)
|
vim.keymap.set("n", "-", "<C-x>", { desc = "Decrement", noremap = true, silent = true })
|
||||||
|
|
||||||
-- Open vim config in a new buffer, reload vim config
|
vim.keymap.set("n", "ss", ":split<CR><C-w>w", { desc = "Open horizontal split", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "<leader>ve", "<cmd>e $MYVIMRC<CR>", opts)
|
vim.keymap.set("n", "sv", ":vsplit<CR><C-w>w", { desc = "Open vertical split", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "<leader>vr", "<cmd>source $MYVIMRC<CR>", opts)
|
|
||||||
|
|
||||||
-- Increment/decrement
|
vim.keymap.set("n", "<leader>q", ":Bdelete<CR>", { desc = "Delete current buffer", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "+", "<C-a>", opts)
|
vim.keymap.set("n", "<leader>X", ":bufdo bdelete<CR>", { desc = "Delete all buffers", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "-", "<C-x>", opts)
|
|
||||||
|
|
||||||
-- Splits
|
vim.keymap.set("", "gf", ":edit <cfile><CR>", { desc = "Allow gf to open non-existent files", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "ss", ":split<CR><C-w>w", opts)
|
|
||||||
vim.keymap.set("n", "sv", ":vsplit<CR><C-w>w", opts)
|
|
||||||
|
|
||||||
-- Select all
|
vim.keymap.set("v", "<", "<gv", { desc = "Reselect visual selection after indenting left", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "<C-a>", "gg<S-v>G", opts)
|
vim.keymap.set("v", ">", ">gv", { desc = "Reselect visual selection after indenting right", noremap = true, silent = true })
|
||||||
|
|
||||||
-- Delete current buffer
|
|
||||||
vim.keymap.set("n", "<leader>q", ":Bdelete<CR>", opts)
|
|
||||||
|
|
||||||
-- Delete all buffers
|
|
||||||
vim.keymap.set("n", "<leader>X", ":bufdo bdelete<CR>", opts)
|
|
||||||
|
|
||||||
-- Allow gf to open non-existent files
|
|
||||||
vim.keymap.set("", "gf", ":edit <cfile><CR>", opts)
|
|
||||||
|
|
||||||
-- Reselect visual selection after indenting
|
|
||||||
vim.keymap.set("v", "<", "<gv", opts)
|
|
||||||
vim.keymap.set("v", ">", ">gv", opts)
|
|
||||||
|
|
||||||
-- Set spell checker to `s`
|
|
||||||
-- zg (good), zG (good temp), zw (wrong), zW (wrong temp)
|
-- zg (good), zG (good temp), zw (wrong), zW (wrong temp)
|
||||||
vim.keymap.set("n", "<leader>rs", ":set spell!<CR>", opts)
|
vim.keymap.set("n", "<leader>rs", ":set spell!<CR>", { desc = "Activate spell checking", noremap = true, silent = true })
|
||||||
|
|
||||||
-- Switch off highlighting
|
vim.keymap.set("n", "<leader>h", ":nohlsearch<CR>", { desc = "Switch off highlighting", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "<leader>h", ":nohlsearch<CR>", opts)
|
vim.keymap.set("n", "<leader>l", ":set list!<CR>", { desc = "Toggle list", noremap = true, silent = true })
|
||||||
|
|
||||||
-- Toggle list
|
vim.keymap.set("n", "<leader>pf", "gg=G''", { desc = "Indent the whole source code", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "<leader>l", ":set list!<CR>", opts)
|
|
||||||
|
|
||||||
-- Indent the whole source code
|
vim.keymap.set("n", "'", "`", { desc = "Reverse the mark mapping", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "<leader>pf", "gg=G''", opts)
|
vim.keymap.set("n", "`", "'", { desc = "Reverse the mark mapping", noremap = true, silent = true })
|
||||||
|
|
||||||
-- Reverse the mark mapping
|
vim.keymap.set("n", "gP", "`[v`]", { desc = "Visuall select of just pasted content", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "'", "`", opts)
|
vim.keymap.set("n", "gy", "`[v`]y", { desc = "Visuall select of just pasted content", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "`", "'", opts)
|
|
||||||
|
|
||||||
-- Visuall select of just pasted content
|
vim.keymap.set("n", "<expr> j", "(v:count == 0 ? 'gj' : 'j')", { desc = "Move by rows in wrapped mode (down)", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "gP", "`[v`]", opts)
|
vim.keymap.set("n", "<expr> k", "(v:count == 0 ? 'gk' : 'k')", { desc = "Move by rows in wrapped mode (up)", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "gy", "`[v`]y", opts)
|
|
||||||
|
|
||||||
-- When text is wrapped, move by terminal rows, not lines, unless a count is provided
|
vim.keymap.set("n", "<leader>?", ":execute 'vimgrep /'.@/.'/g %'<CR>:copen<CR>", { desc = "Open a quickfix window for the last search", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "<expr> j", "(v:count == 0 ? 'gj' : 'j')", opts)
|
|
||||||
vim.keymap.set("n", "<expr> k", "(v:count == 0 ? 'gk' : 'k')", opts)
|
|
||||||
|
|
||||||
-- Open a quickfix window for the last search
|
vim.keymap.set("n", "<C-e>", "3<C-e>", { desc = "Faster linewise scrolling (up)", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "<leader>?", ":execute 'vimgrep /'.@/.'/g %'<CR>:copen<CR>", opts)
|
vim.keymap.set("n", "<C-y>", "3<C-y>", { desc = "Faster linewise scrolling (down)", noremap = true, silent = true })
|
||||||
|
|
||||||
-- Faster linewise scrolling
|
vim.keymap.set("n", "G", "Gzzzv", { desc = "Keep the window centered (end)", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "<C-e>", "3<C-e>", opts)
|
vim.keymap.set("n", "n", "nzzzv", { desc = "Keep the window centered (next search result)", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "<C-y>", "3<C-y>", opts)
|
vim.keymap.set("n", "N", "Nzzzv", { desc = "Keep the window centered (previous search result)", noremap = true, silent = true })
|
||||||
|
vim.keymap.set("n", "<C-d>", "<C-d>zz", { desc = "Keep the window centered (page down)", noremap = true, silent = true })
|
||||||
|
vim.keymap.set("n", "<C-u>", "<C-u>zz", { desc = "Keep the window centered (page up)", noremap = true, silent = true })
|
||||||
|
|
||||||
-- Keep the window centered
|
vim.keymap.set("n", "Y", "yg$", { desc = "Copy to the end of the line", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "G", "Gzzzv", opts)
|
|
||||||
vim.keymap.set("n", "n", "nzzzv", opts)
|
|
||||||
vim.keymap.set("n", "N", "Nzzzv", opts)
|
|
||||||
vim.keymap.set("n", "<C-d>", "<C-d>zz", opts)
|
|
||||||
vim.keymap.set("n", "<C-u>", "<C-u>zz", opts)
|
|
||||||
|
|
||||||
-- Copy to the end of the line
|
vim.keymap.set("n", "XX", ":qa<CR>", { desc = "Close all buffers", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "Y", "yg$", opts)
|
|
||||||
|
|
||||||
-- Close all buffers
|
vim.keymap.set("n", "gN", "o<ESC>k", { desc = "Add lines in NORMAL Mode (below)", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "XX", ":qa<CR>", opts)
|
vim.keymap.set("n", "gNN", "O<ESC>j", { desc = "Add lines in NORMAL Mode (above)", noremap = true, silent = true })
|
||||||
|
|
||||||
-- Add lines in NORMAL Mode
|
vim.keymap.set("n", "<leader>cf", ":cd %:p:h<CR>:pwd<CR>", { desc = "Change to the folder of the current file", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "gN", "o<ESC>k", opts)
|
|
||||||
vim.keymap.set("n", "gNN", "O<ESC>j", opts)
|
|
||||||
|
|
||||||
-- Change to the folder of the current file
|
vim.keymap.set("n", "<leader>rq", "gqip", { desc = "Reformat a line into a block", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "<leader>cf", ":cd %:p:h<CR>:pwd<CR>", opts)
|
|
||||||
|
|
||||||
-- Reformat a line into a block
|
vim.keymap.set("n", "<leader>rqq", "vipJ", { desc = "Reformat a block into a line", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "<leader>rq", "gqip", opts)
|
|
||||||
|
|
||||||
-- Reformat a block into a line
|
vim.keymap.set("n", "<C-J>", "<C-W><C-K>", { desc = "Easier split navigation (down)", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "<leader>rqq", "vipJ", opts)
|
vim.keymap.set("n", "<C-K>", "<C-W><C-L>", { desc = "Easier split navigation (up)", noremap = true, silent = true })
|
||||||
|
vim.keymap.set("n", "<C-L>", "<C-W><C-H>", { desc = "Easier split navigation (right)", noremap = true, silent = true })
|
||||||
|
vim.keymap.set("n", "<C-H>", "<C-W><C-H>", { desc = "Easier split navigation (left)", noremap = true, silent = true })
|
||||||
|
|
||||||
-- Easier split navigation
|
vim.keymap.set("n", "<leader>kw", ":SmartResizeMode<CR>", { desc = "Activate Smart Resize Mode", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "<C-J>", "<C-W><C-K>", opts)
|
|
||||||
vim.keymap.set("n", "<C-K>", "<C-W><C-L>", opts)
|
|
||||||
vim.keymap.set("n", "<C-L>", "<C-W><C-H>", opts)
|
|
||||||
vim.keymap.set("n", "<C-H>", "<C-W><C-H>", opts)
|
|
||||||
|
|
||||||
-- Resize with arrows
|
vim.keymap.set("v", "<", "<gv", { desc = "Stay in indent mode (left)", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "<C-M-Up>", ":resize +2<CR>", opts)
|
vim.keymap.set("v", ">", ">gv", { desc = "Stay in indent mode (right)", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "<C-M-Down>", ":resize -2<CR>", opts)
|
|
||||||
vim.keymap.set("n", "<C-M-Left>", ":vertical resize +2<CR>", opts)
|
|
||||||
vim.keymap.set("n", "<C-M-Right>", ":vertical resize -2<CR>", opts)
|
|
||||||
|
|
||||||
-- Stay in indent mode
|
vim.keymap.set("v", "<S-k>", ":m .-2<CR>==", { desc = "Move text up", noremap = true, silent = true })
|
||||||
vim.keymap.set("v", "<", "<gv", opts)
|
vim.keymap.set("v", "<S-j>", ":m .+1<CR>==", { desc = "Move text down", noremap = true, silent = true })
|
||||||
vim.keymap.set("v", ">", ">gv", opts)
|
|
||||||
|
|
||||||
-- Move text up and down
|
vim.keymap.set("n", "<leader>ia", ":silent !open -a iA\\ Writer.app '%:p'<CR>", { desc = "Open in iA Writer", noremap = true, silent = true })
|
||||||
vim.keymap.set("v", "<A-j>", ":m .+1<CR>==", opts)
|
|
||||||
vim.keymap.set("v", "<A-k>", ":m .-2<CR>==", opts)
|
|
||||||
|
|
||||||
-- Navigate buffers
|
vim.keymap.set("n", "<leader>o", "<cmd>lua vim.lsp.buf.format()<CR>", { desc = "Format buffer with LSP", noremap = true, silent = true })
|
||||||
--[[ vim.keymap.set("n", "<S-l>", ":bnext<CR>", opts) ]]
|
vim.keymap.set("n", "<leader>P", "<cmd>Prettier<CR>", { desc = "Format with Prettier", noremap = true, silent = true })
|
||||||
--[[ vim.keymap.set("n", "<S-h>", ":bprevious<CR>", opts) ]]
|
|
||||||
|
|
||||||
-- Remap Jump to Tag
|
vim.keymap.set("n", "<leader>kn", ":let @+=@%<CR>", { desc = "Get the filename and path of current file", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "ü", "<C-]>", opts)
|
vim.keymap.set("n", "<leader>kc", ":g/console.log/d<CR>", { desc = "Remove console.log statements", noremap = true, silent = true })
|
||||||
vim.keymap.set("n", "Ü", "<C-O>", opts)
|
vim.keymap.set("v", "<leader>kp", ":'<,'> w !pandoc --no-highlight --wrap=none | pbcopy <CR>", { desc = "Convert Markdown to HTML and copy to Clipboard", noremap = true, silent = true })
|
||||||
|
|
||||||
-- Open for Markdown in iA Writer
|
|
||||||
vim.keymap.set("n", "<leader>ia", ":silent !open -a iA\\ Writer.app '%:p'<CR>", opts)
|
|
||||||
|
|
||||||
-- Custom Text-Objects
|
|
||||||
vim.keymap.set("o", "il", ":<c-u>normal! $v^<CR>", opts)
|
|
||||||
vim.keymap.set("x", "il", ":<c-u>normal! $v^<CR>", opts)
|
|
||||||
vim.keymap.set("o", "al", ":<c-u>normal! $v0<CR>", opts)
|
|
||||||
vim.keymap.set("x", "al", ":<c-u>normal! $v0<CR>", opts)
|
|
||||||
|
|
||||||
-- LSP formatting
|
|
||||||
vim.keymap.set("n", "<leader>o", "<cmd>lua vim.lsp.buf.format()<CR>", opts)
|
|
||||||
|
|
||||||
-- Manual Prettier
|
|
||||||
vim.keymap.set("n", "<leader>P", "<cmd>Prettier<CR>", opts)
|
|
||||||
|
|
||||||
-- Get the filename and path of current file
|
|
||||||
vim.keymap.set("n", "<leader>kn", ":let @+=@%<CR>", opts)
|
|
||||||
|
|
||||||
-- Remove console.log statements
|
|
||||||
vim.keymap.set("n", "<leader>kc", ":g/console.log/d<CR>", opts)
|
|
||||||
|
|
||||||
-- Convert Markdown to HTML and copy to Clipboard
|
|
||||||
vim.keymap.set("v", "<leader>kp", ":'<,'> w !pandoc --no-highlight --wrap=none | pbcopy <CR>", opts)
|
|
||||||
|
|||||||
@@ -147,6 +147,7 @@ return packer.startup(function(use)
|
|||||||
use("kevinhwang91/nvim-bqf") -- Better Quickfix
|
use("kevinhwang91/nvim-bqf") -- Better Quickfix
|
||||||
use({ "kevinhwang91/nvim-ufo", requires = "kevinhwang91/promise-async" }) -- Better folds
|
use({ "kevinhwang91/nvim-ufo", requires = "kevinhwang91/promise-async" }) -- Better folds
|
||||||
use("debugloop/telescope-undo.nvim") -- Undo history
|
use("debugloop/telescope-undo.nvim") -- Undo history
|
||||||
|
use("mrjones2014/smart-splits.nvim") -- Smart splits
|
||||||
|
|
||||||
-- Editing Files
|
-- Editing Files
|
||||||
use("windwp/nvim-autopairs") -- Autopairs, integrates with both cmp and treesitter
|
use("windwp/nvim-autopairs") -- Autopairs, integrates with both cmp and treesitter
|
||||||
|
|||||||
Reference in New Issue
Block a user