1
0
mirror of https://github.com/tiyn/dotfiles.git synced 2025-03-20 02:27:46 +01:00
dotfiles/.config/nvim/lua/keymap.lua

91 lines
3.7 KiB
Lua
Raw Normal View History

2023-01-13 04:03:00 +01:00
-- set mapleader for hotkeys
vim.g.mapleader = ","
-- unmap unwanted commands
vim.keymap.set({ 'n', 'i' }, '<F1>', '<NOP>', { noremap = true })
vim.keymap.set('i', '<F2>', '<NOP>', { noremap = true })
vim.keymap.set('i', '<F3>', '<NOP>', { noremap = true })
vim.keymap.set('i', '<F4>', '<NOP>', { noremap = true })
vim.keymap.set('i', '<F5>', '<NOP>', { noremap = true })
vim.keymap.set('i', '<F6>', '<NOP>', { noremap = true })
vim.keymap.set('i', '<F7>', '<NOP>', { noremap = true })
vim.keymap.set('i', '<F8>', '<NOP>', { noremap = true })
vim.keymap.set({ 'n', 'i' }, '<F9>', '<NOP>', { noremap = true })
vim.keymap.set({ 'n', 'i' }, '<F10>', '<NOP>', { noremap = true })
vim.keymap.set({ 'n', 'i' }, '<F11>', '<NOP>', { noremap = true })
vim.keymap.set({ 'n', 'i' }, '<F12>', '<NOP>', { noremap = true })
2023-01-13 04:03:00 +01:00
-- shortcut for split navigation
vim.keymap.set('n', '<C-h>', '<C-w>h', { noremap = true })
vim.keymap.set('n', '<C-j>', '<C-w>j', { noremap = true })
vim.keymap.set('n', '<C-k>', '<C-w>k', { noremap = true })
vim.keymap.set('n', '<C-l>', '<C-w>l', { noremap = true })
2023-01-13 04:03:00 +01:00
-- mapping Dictionaries
vim.keymap.set('n', '<F6>', ':setlocal spell! spelllang=de_de<CR>', { noremap = true })
vim.keymap.set('n', '<F7>', ':setlocal spell! spelllang=en_us<CR>', { noremap = true })
2023-01-13 04:03:00 +01:00
-- compiler for languages
vim.keymap.set('n', '<leader>c', ':w! | !compiler <c-r>%<CR>', { noremap = true })
2023-01-13 04:03:00 +01:00
-- save file as sudo on files that require root permission
vim.keymap.set('c', 'w!!', '"silent! write !sudo tee % >/dev/null" <bar> edit!', { noremap = true })
2023-01-13 04:03:00 +01:00
-- alias for replacing
vim.keymap.set('n', '<leader>ss', ':%s//gI<Left><Left><Left>', { noremap = true })
2023-01-13 04:03:00 +01:00
-- irc compatibility for interactivity
vim.keymap.set('n', '<leader>is', ':.w >> in<cr>dd', { noremap = true })
2023-01-13 04:03:00 +01:00
-- the following keymap settings are plugin dependent
2023-08-10 03:48:56 +02:00
-- frabjous/knap
vim.api.nvim_create_autocmd('FileType', {
pattern = 'tex',
callback = function()
vim.keymap.set('n', '<leader>p', ':lua require("knap").toggle_autopreviewing()<CR>', { noremap = true })
2023-08-10 03:48:56 +02:00
end,
})
-- iamcco/markdown-preview.nvim
vim.api.nvim_create_autocmd('FileType', {
pattern = 'markdown',
callback = function()
vim.keymap.set('n', '<leader>p', ':MarkdownPreviewToggle<CR>', { noremap = true })
end,
})
-- SmiteshP/nvim-navbuddy
vim.keymap.set('n', '<F3>', ':Navbuddy<CR>', {})
2023-01-13 04:03:00 +01:00
-- nvim-tree/nvim-tree.lua
vim.keymap.set('n', '<F2>', ':NvimTreeToggle toggle<CR>', {})
2023-01-13 04:03:00 +01:00
-- numtostr/fterm.nvim
vim.keymap.set('n', '<leader>t', ':lua require("FTerm").toggle()<CR>', { noremap = true })
vim.keymap.set('t', '<leader>t', '<C-\\><C-n>:lua require("FTerm").toggle()<CR>', { noremap = true })
local lazygit = require("FTerm"):new({
cmd = 'lazygit',
})
vim.keymap.set({ 'n', 't' }, '<leader>gt', function() lazygit:toggle() end)
2023-01-13 04:03:00 +01:00
-- sindrets/diffview.nvim
vim.keymap.set( 'n', '<leader>gdo', ":DiffviewOpen<CR>")
vim.keymap.set( 'n', '<leader>gdc', ":DiffviewClose<CR>")
-- folke/trouble.nvim
vim.keymap.set( 'n', '<leader>x', ":TroubleToggle<CR>")
2023-01-13 04:03:00 +01:00
-- hrsh7th/nvim-cmp
vim.keymap.set('n', 'gD', ':lua vim.lsp.buf.declaration()<CR>', { noremap = true })
vim.keymap.set('n', 'gd', ':lua vim.lsp.buf.definition()<CR>', { noremap = true })
vim.keymap.set('n', 'gy', ':lua vim.lsp.buf.type_definition()<CR>', { noremap = true })
vim.keymap.set('n', 'gi', ':lua vim.lsp.buf.implementation()<CR>', { noremap = true })
vim.keymap.set('n', 'gr', ':lua vim.lsp.buf.references()<CR>', { noremap = true })
vim.keymap.set('n', 'K', ':lua vim.lsp.buf.hover()<CR>', { noremap = true })
vim.keymap.set('n', '<F5>', ':lua vim.lsp.buf.rename()<CR>', { noremap = true })
vim.keymap.set('n', '<F8>', ':lua vim.lsp.buf.format()<CR>', { noremap = true })
-- nvim-telescope/telescope.nvim
vim.keymap.set('n', '<F4>', ':Telescope find_files<CR>', { noremap = true })