diff options
author | davidpkj <davidpenkow1@gmail.com> | 2023-03-15 14:13:27 +0100 |
---|---|---|
committer | davidpkj <davidpenkow1@gmail.com> | 2023-03-15 14:13:27 +0100 |
commit | c7c24cd03bb55db975909083c03e13d4de95ee94 (patch) | |
tree | 259412b1dbedb5b3fec73a7a01d0018353d39854 /neovim/.config/nvim/lua/keybinds.lua | |
parent | 1cb4dc6380e1cc7f77f4db0ba8d5b699213afe90 (diff) |
Changed up nvim
Diffstat (limited to 'neovim/.config/nvim/lua/keybinds.lua')
-rw-r--r-- | neovim/.config/nvim/lua/keybinds.lua | 67 |
1 files changed, 55 insertions, 12 deletions
diff --git a/neovim/.config/nvim/lua/keybinds.lua b/neovim/.config/nvim/lua/keybinds.lua index d113573..1a56ccc 100644 --- a/neovim/.config/nvim/lua/keybinds.lua +++ b/neovim/.config/nvim/lua/keybinds.lua @@ -5,23 +5,36 @@ end -- Fix * (Keep the cursor position, don't move to next match) map("n", "*", "*N") --- Fix n and N. Keeping cursor in center -map("n", "n", "nzz") -map("n", "N", "Nzz") - -- Move line up and down in NORMAL and VISUAL modes map("n", "<A-j>", "<cmd>move .+1<cr>") map("n", "<A-k>", "<cmd>move .-2<cr>") map("x", "<A-j>", ":move '>+1<cr>gv=gv") map("x", "<A-k>", ":move '<-2<cr>gv=gv") +-- Keep cursor position +map("n", "J", "mzJ`z") + +-- Keep cursur in center +map("n", "<C-d>", "<C-d>zz") +map("n", "<C-u>", "<C-u>zz") +map("n", "n", "nzzzv") +map("n", "N", "Nzzzv") + +-- Remove to void (and paste) +map("n", "<leader>d", "\"_d") +map("v", "<leader>d", "\"_d") +map("x", "<leader>p", "\"_dP") + +-- Format +map("n", "<leader>i", function() vim.lsp.buf.format() end) +-- Edit word +map("n", "<leader>s", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]]) +-- Make executable +map("n", "<leader>x", "<cmd>!chmod +x %<CR>") + -- map("n", "<C-space>", ":Files<CR>") map("n", "<C-c>", ":!compile %<cr><cr>") --- Mimic shell movements --- map("i", "<C-E>", "<ESC>A") --- map("i", "<C-A>", "<ESC>I") - -- Move to the next/previous buffer -- map("n", "<leader>[", "<CMD>bp<CR>") -- map("n", "<leader>]", "<CMD>bn<CR>") @@ -29,12 +42,42 @@ map("n", "<C-c>", ":!compile %<cr><cr>") -- Move to last buffer -- map("n", """", "<CMD>b#<CR>") --- Plugin -map("n", "<C-f>", "<cmd>TodoTelescope<cr>") +-- Telescope binds +local Telescope = setmetatable({}, { + __index = function(_, k) + if vim.bo.filetype == "NvimTree" then + vim.cmd.wincmd("l") + end + return require("telescope.builtin")[k] + end, +}) + +-- Help +map("n", "<leader>fh", Telescope.help_tags) +-- Files with match +map("n", "<leader>ff", Telescope.live_grep) +-- Project files +map("n", "<leader>fp", Telescope.find_files) +-- Changed git files +map("n", "<leader>fc", Telescope.git_status) +-- Git files +map("n", "<leader>fg", function() + local ok = pcall(Telescope.git_files, { show_untracked = true }) + if not ok then + Telescope.find_files() + end +end) + +-- Highlighted comments +map("n", "<leader>ft", "<cmd>TodoTelescope<cr>") -- Hacky update thing --- TODO: Fix timing -map("n", "<leader>u", "<cmd>PackerSync<cr><cmd>PackerCompile<cr><cmd>TSUpdate<cr><cmd>Mason<cr>") +--[[ map("n", "<leader>u", function() + local ok = pcall(vim.cmd.PackerSync) + if ok then ok = pcall(vim.cmd.PackerCompile) end + if ok then ok = pcall(vim.cmd.TSUpdate) end + if ok then pcall(vim.cmd.Mason) end +end) ]] exp = {} exp.map = map |