diff --git a/core/mappings.lua b/core/mappings.lua index 3bcc6fa..82a3a2b 100644 --- a/core/mappings.lua +++ b/core/mappings.lua @@ -5,75 +5,36 @@ local api = vim.api keymap.set({ "n", "x" }, ";", ":") -- Turn the word under cursor to upper case --- inoremap viwUea keymap.set("i", "", "viwUea") -- Turn the current word into title case --- inoremap b~lea keymap.set("i", "", "b~lea") -- Paste non-linewise text above or below current line, see https://stackoverflow.com/a/1346777/6064933 -keymap.set("n", "p", "m`op``", { - desc = "paste below current line", -}) -keymap.set("n", "P", "m`Op``", { - desc = "paste above current line", -}) +keymap.set("n", "p", "m`op``", { desc = "paste below current line", }) +keymap.set("n", "P", "m`Op``", { desc = "paste above current line", }) -- Shortcut for faster save and quit -keymap.set("n", "w", "update", { - silent = true, - desc = "save buffer", -}) +keymap.set("n", "w", "update", { silent = true, desc = "save buffer", }) -- Saves the file if modified and quit -keymap.set("n", "q", "x", { - silent = true, - desc = "quit current window", -}) +keymap.set("n", "q", "x", { silent = true, desc = "quit current window" }) -- Quit all opened buffers -keymap.set("n", "Q", "qa!", { - silent = true, - desc = "quit nvim", -}) +keymap.set("n", "Q", "qa!", { silent = true, desc = "quit nvim", }) -- Navigation in the location and quickfix list -keymap.set("n", "[l", "lpreviouszv", { - silent = true, - desc = "previous location item", -}) -keymap.set("n", "]l", "lnextzv", { - silent = true, - desc = "next location item", -}) +keymap.set("n", "[l", "lpreviouszv", { silent = true, desc = "previous location item", }) +keymap.set("n", "]l", "lnextzv", { silent = true, desc = "next location item", }) -keymap.set("n", "[L", "lfirstzv", { - silent = true, - desc = "first location item", -}) -keymap.set("n", "]L", "llastzv", { - silent = true, - desc = "last location item", -}) +keymap.set("n", "[L", "lfirstzv", { silent = true, desc = "first location item", }) +keymap.set("n", "]L", "llastzv", { silent = true, desc = "last location item", }) -keymap.set("n", "[q", "cpreviouszv", { - silent = true, - desc = "previous qf item", -}) -keymap.set("n", "]q", "cnextzv", { - silent = true, - desc = "next qf item", -}) +keymap.set("n", "[q", "cpreviouszv", { silent = true, desc = "previous qf item", }) +keymap.set("n", "]q", "cnextzv", { silent = true, desc = "next qf item", }) -keymap.set("n", "[Q", "cfirstzv", { - silent = true, - desc = "first qf item", -}) -keymap.set("n", "]Q", "clastzv", { - silent = true, - desc = "last qf item", -}) +keymap.set("n", "[Q", "cfirstzv", { silent = true, desc = "first qf item", }) +keymap.set("n", "]Q", "clastzv", { silent = true, desc = "last qf item", }) -- Close location list or quickfix list if they are present, see https://superuser.com/q/355325/736190 keymap.set("n", [[\x]], "windo lclose cclose ", { @@ -137,7 +98,6 @@ keymap.set("n", "sv", "", { }) -- Reselect the text that has just been pasted, see also https://stackoverflow.com/a/4317090/6064933. --- nnoremap v keymap.set("n", "v", "printf('`[%s`]', getregtype()[0])", { expr = true, desc = "reselect last pasted area", @@ -151,20 +111,14 @@ keymap.set("n", "/", [[/\v]]) -- Change current working directory locally and print cwd after that, -- see https://vim.fandom.com/wiki/Set_working_directory_to_the_current_file -keymap.set("n", "cd", "lcd %:p:hpwd", { - desc = "change cwd", -}) +keymap.set("n", "cd", "lcd %:p:hpwd", { desc = "change cwd", }) -- Use Esc to quit builtin terminal keymap.set("t", "", [[]]) -- Toggle spell checking -keymap.set("n", "", "set spell!", { - desc = "toggle spell", -}) -keymap.set("i", "", "set spell!", { - desc = "toggle spell", -}) +keymap.set("n", "", "set spell!", { desc = "toggle spell", }) +keymap.set("i", "", "set spell!", { desc = "toggle spell", }) -- Change text without putting it into the vim register, -- see https://stackoverflow.com/q/54255/6064933 @@ -174,41 +128,25 @@ keymap.set("n", "cc", '"_cc') keymap.set("x", "c", '"_c') -- Remove trailing whitespace characters -keymap.set("n", "", "StripTrailingWhitespace", { - desc = "remove trailing space", -}) +keymap.set("n", "", "StripTrailingWhitespace", { desc = "remove trailing space", }) -- check the syntax group of current cursor position -keymap.set("n", "st", "call utils#SynGroup()", { - desc = "check syntax group", -}) +keymap.set("n", "st", "call utils#SynGroup()", { desc = "check syntax group", }) -- Copy entire buffer. -keymap.set("n", "y", "%yank", { - desc = "yank entire buffer", -}) +keymap.set("n", "y", "%yank", { desc = "yank entire buffer", }) -- Toggle cursor column -keymap.set("n", "cl", "call utils#ToggleCursorCol()", { - desc = "toggle cursor column", -}) +keymap.set("n", "cl", "call utils#ToggleCursorCol()", { desc = "toggle cursor column", }) -- Move current line up and down -keymap.set("n", "", 'call utils#SwitchLine(line("."), "up")', { - desc = "move line up", -}) -keymap.set("n", "", 'call utils#SwitchLine(line("."), "down")', { - desc = "move line down", -}) +keymap.set("n", "", 'call utils#SwitchLine(line("."), "up")', { desc = "move line up", }) +keymap.set("n", "", 'call utils#SwitchLine(line("."), "down")', { desc = "move line down", }) -- Move current visual-line selection up and down -keymap.set("x", "", 'call utils#MoveSelection("up")', { - desc = "move selection up", -}) +keymap.set("x", "", 'call utils#MoveSelection("up")', { desc = "move selection up", }) -keymap.set("x", "", 'call utils#MoveSelection("down")', { - desc = "move selection down", -}) +keymap.set("x", "", 'call utils#MoveSelection("down")', { desc = "move selection down", }) -- Replace visual selection with text in register, but not contaminate the register, -- see also https://stackoverflow.com/q/10723700/6064933. @@ -229,14 +167,10 @@ keymap.set("n", "", "k") keymap.set("n", "", "j") -- Text objects for URL -keymap.set({ "x", "o" }, "iu", "call text_obj#URL()", { - desc = "URL text object", -}) +keymap.set({ "x", "o" }, "iu", "call text_obj#URL()", { desc = "URL text object", }) -- Text objects for entire buffer -keymap.set({ "x", "o" }, "iB", "call text_obj#Buffer()", { - desc = "buffer text object", -}) +keymap.set({ "x", "o" }, "iB", "call text_obj#Buffer()", { desc = "buffer text object", }) -- Do not move my cursor when joining lines. keymap.set("n", "J", "", { @@ -261,7 +195,7 @@ keymap.set("n", "gJ", "mzgJ`z", { }) -- Break inserted text into smaller undo units when we insert some punctuation chars. -local undo_ch = {',', '.', '!', '?', ';', ':'} +local undo_ch = { ',', '.', '!', '?', ';', ':' } for _, ch in ipairs(undo_ch) do keymap.set('i', ch, ch .. 'u') end diff --git a/core/plugins.vim b/core/plugins.vim index 1a1cd65..3d9dce3 100644 --- a/core/plugins.vim +++ b/core/plugins.vim @@ -189,15 +189,6 @@ let g:signify_vcs_list = [ 'git' ] " Change the sign for certain operations let g:signify_sign_change = '~' -"""""""""""""""""""""""""vim-fugitive settings"""""""""""""""""""""""""""""" -nnoremap gs :Git -nnoremap gw :Gwrite -nnoremap gc :Git commit -nnoremap gd :Gdiffsplit -nnoremap gpl :Git pull -" Note that to use bar literally, we need backslash it, see also `:h :bar`. -nnoremap gpu :15split \| term git push - """""""""""""""""""""""""plasticboy/vim-markdown settings""""""""""""""""""" " Disable header folding let g:vim_markdown_folding_disabled = 1 diff --git a/lua/config/fugitive.lua b/lua/config/fugitive.lua new file mode 100644 index 0000000..40a9208 --- /dev/null +++ b/lua/config/fugitive.lua @@ -0,0 +1,8 @@ +local keymap = vim.keymap + +keymap.set('n', 'gs', 'Git', { desc = 'Git status' }) +keymap.set('n', 'gw', 'Gwrite', { desc = 'Git add' }) +keymap.set('n', 'gc', 'Git commit', { desc = 'Git commit' }) +keymap.set('n', 'gd', 'Gdiffsplit', { desc = 'Git diff' }) +keymap.set('n', 'gpl', 'Git pull', { desc = 'Git pull' }) +keymap.set('n', 'gpu', '15 split|term git push', { desc = 'Git push' }) diff --git a/lua/plugins.lua b/lua/plugins.lua index 8d89647..5e771ef 100644 --- a/lua/plugins.lua +++ b/lua/plugins.lua @@ -229,7 +229,7 @@ packer.startup({ -- use 'Chiel92/vim-autoformat' -- Git command inside vim - use({ "tpope/vim-fugitive", event = "User InGitRepo" }) + use({ "tpope/vim-fugitive", event = "User InGitRepo", config = [[require('config.fugitive')]]}) -- Better git log display use({ "rbong/vim-flog", requires = "tpope/vim-fugitive", cmd = { "Flog" } })