trixy/lua/plugins/keybind.lua

60 lines
1.7 KiB
Lua

vim.g.mapleader = " "
vim.opt.laststatus=2
vim.keymap.set('i', '<Tab>', [[pumvisible() ? "\<C-n>" : "\<Tab>"]], { expr = true })
vim.keymap.set('i', '<S-Tab>', [[pumvisible() ? "\<C-p>" : "\<S-Tab>"]], { expr = true })
local map = vim.api.nvim_set_keymap
local cmap = vim.keymap.set
local options = { noremap = true }
local cmd_options = { noremap = true, silent = true }
map("n", "<leader>tt", "<cmd>lua require('FTerm').toggle()<CR>", options)
-- slef explanitory
map("n", "<leader>tw", "<cmd>lua MiniTrailspace.trim()<CR>", options)
map("n", "<leader>fm", "<cmd>NvimTreeToggle<CR>", options)
-- remap keys so that they dont skip camelCase
map("n", "w", "<Plug>CamelCaseMotion_w", cmd_options)
map("n", "b", "<Plug>CamelCaseMotion_b", cmd_options)
map("n", "e", "<Plug>CamelCaseMotion_e", cmd_options)
map("n", "ge", "<Plug>CamelCaseMotion_ge", cmd_options)
-- this little guy helps you move text, really helpful
map("v", "J", ":m '>+1<CR>gv=gv", options)
map("v", "K", ":m '<-2<CR>gv=gv", options)
-- Cursor always stays on center
map("n", "J", "mzJ`z", options)
map("n", "<C-d>", "<C-d>zz", options)
map("n", "<C-u>", "<C-u>zz", options)
map("n", "n", "nzzzv", options)
map("n", "N", "Nzzzv", options)
-- paste text but DONT copy the overridden text
cmap("x", "p", [["_dP]])
cmap("x", "<leader>p", [["+dP]])
-- delete text but DONT copy to clipboard
cmap({ "n", "v" }, "<leader>d", [["_d]])
-- quickfix stuff
--
--
map("n", "<C-k>", "<cmd>cnext<CR>zz", options)
map("n", "<C-j>", "<cmd>cprev<CR>zz", options)
map("n", "<leader>k", "<cmd>lnext<CR>zz", options)
map("n", "<leader>j", "<cmd>lprev<CR>zz", options)
-- search and replace every instance of word under cursor
cmap("n", "<leader>s", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])