94 lines
3.1 KiB
Lua
Executable file
94 lines
3.1 KiB
Lua
Executable file
vim.g.mapleader = " "
|
|
vim.keymap.set("n", "<leader>pv", vim.cmd.Ex)
|
|
|
|
vim.keymap.set("n", "J", "mzJ`z")
|
|
|
|
-- remap for vim-smoothie
|
|
vim.cmd [[nnoremap <C-D> <cmd>call smoothie#do("\<C-D>zz")<CR>]]
|
|
vim.cmd [[nnoremap <C-U> <cmd>call smoothie#do("\<C-U>zz")<CR>]]
|
|
vim.cmd [[nnoremap gg <cmd>call smoothie#do("\<gg>")<CR>]]
|
|
vim.cmd [[nnoremap <S-g> <cmd>call smoothie#do("\<S-g>zz")<CR>]]
|
|
|
|
-- recenter on next/previous search
|
|
vim.keymap.set("n", "n", "nzzzv")
|
|
vim.keymap.set("n", "N", "Nzzzv")
|
|
|
|
--Toggle NERDCommenter with Ctrl + c
|
|
vim.keymap.set("n", "<C-c>", "<Plug>NERDCommenterToggle")
|
|
|
|
vim.keymap.set("n", "Q", "<nop>")
|
|
-- reformats
|
|
vim.keymap.set("n", "<leader>f", vim.lsp.buf.format)
|
|
|
|
-- global search and replace
|
|
vim.keymap.set("n", "<S-s>", ":%s///gI<Left><Left><Left><Left>")
|
|
vim.keymap.set("n", "<S-y>", ":.,.s///g<Left><Left><Left>")
|
|
|
|
-- toggle english spellcheck
|
|
vim.keymap.set("n", "<F11>", ":set spell!<cr>", { silent = true })
|
|
|
|
-- make current file executable
|
|
vim.keymap.set("n", "<leader>x", "<cmd>!chmod +x %<CR>", { silent = true })
|
|
|
|
-- Vimium Like Keybindings
|
|
vim.keymap.set('n', 't', '<c-w>:tabnew<CR>', {})
|
|
|
|
vim.keymap.set('n', '<S-tab>', '<c-w>:tabprevious<CR>', {})
|
|
vim.keymap.set('n', '<S-j>', '<c-w>:tabprevious<CR>', {})
|
|
vim.keymap.set('n', '<A-left>', '<c-w>:tabprevious<CR>', {})
|
|
|
|
vim.keymap.set('n', '<A-tab>', '<c-w>:tabnext<CR>', {})
|
|
vim.keymap.set('n', '<A-k>', '<c-w>:tabnext<CR>', {})
|
|
vim.keymap.set('n', '<A-right>', '<c-w>:tabnext<CR>', {})
|
|
|
|
-- Use ctrl- [hl] to select the active split!
|
|
vim.keymap.set('n', '<C-h>', '<c-w>:wincmd h<CR>', {})
|
|
vim.keymap.set('n', '<C-l>', '<c-w>:wincmd l<CR>', {})
|
|
|
|
-- remap Nvim_Tree toggle to CTRL+B
|
|
vim.keymap.set('n', '<C-b>', '<c-w>:NvimTreeToggle<CR>', {})
|
|
|
|
-- Use ctrl - [hl] to select the active split
|
|
vim.keymap.set('n', '<C-h>', '<c-w>:wincmd h<CR>', {})
|
|
vim.keymap.set('n', '<C-l>', '<c-w>:wincmd l<CR>', {})
|
|
|
|
-- nv creates new vertical split
|
|
vim.keymap.set('n', 'nv', ':vnew', { silent = true })
|
|
|
|
-- shift + p invokes PackerSync
|
|
vim.keymap.set('n', '<S-p>', '<c-w>:PackerSync<CR>', {})
|
|
|
|
-- control + p enable transparency
|
|
vim.keymap.set('n', '<C-t>', '<c-w>:lua ColorMyPencils()<CR>', {})
|
|
|
|
-- open :Mason using msn
|
|
vim.keymap.set('n', 'msn', ':Mason', { silent = true })
|
|
|
|
-- toggle relative line number with shift + x
|
|
vim.keymap.set('n', '<S-x>', ':set relativenumber! number<cr>', {})
|
|
|
|
-- toggle multi-corsor with control + j/k
|
|
vim.cmd[[nmap <C-j> <C-Down>]]
|
|
vim.cmd[[nmap <C-k> <C-Up>]]
|
|
|
|
-- enable gitblame with ctrl + g
|
|
vim.keymap.set('n', '<C-g>', '<c-w>:GitBlameToggle<CR>', { silent = true })
|
|
|
|
-- shift + m brings up markdown previewer
|
|
vim.keymap.set('n', '<S-m>', '<c-w>:MarkdownPreview<CR>', {})
|
|
|
|
-- invoke neoformat with nf
|
|
vim.keymap.set('n', 'nf', ':Neoformat<cr>', { silent = true })
|
|
|
|
-- format C and C++ Code with cp
|
|
vim.keymap.set('n', 'cp', ':ClangFormat<cr>', { silent = true })
|
|
|
|
-- open fzf with ctrl + p
|
|
vim.cmd[[nnoremap fzf :silent :FZFExplore]]
|
|
vim.keymap.set('n', '<C-p>', '<c-w>:FZFExplore<CR>', {})
|
|
|
|
-- open ripgrep
|
|
vim.cmd[[nnoremap rg :silent :Rg]]
|
|
|
|
--toggle autocompletion
|
|
vim.cmd[[nnoremap cmp :silent lua SetAutoCmp(Mode)]]
|