92 lines
3.6 KiB
Lua
92 lines
3.6 KiB
Lua
local opts = { noremap = true, silent = true }
|
|
|
|
-- Tabs
|
|
vim.keymap.set('n', '<S-Right>', ':tabnext<CR>', opts)
|
|
vim.keymap.set('n', '<S-Left>', ':tabprevious<CR>', opts)
|
|
vim.keymap.set('n', '<S-l>', ':tabnext<CR>', opts)
|
|
vim.keymap.set('n', '<S-h>', ':tabprevious<CR>', opts)
|
|
-- Split movement
|
|
vim.keymap.set('n', '<A-Up>', ':wincmd k<CR>', opts)
|
|
vim.keymap.set('n', '<A-Down>', ':wincmd j<CR>', opts)
|
|
vim.keymap.set('n', '<A-Left>', ':wincmd h<CR>', opts)
|
|
vim.keymap.set('n', '<A-Right>', ':wincmd l<CR>', opts)
|
|
vim.keymap.set('n', '<A-k>', ':wincmd k<CR>', opts)
|
|
vim.keymap.set('n', '<A-j>', ':wincmd j<CR>', opts)
|
|
vim.keymap.set('n', '<A-h>', ':wincmd h<CR>', opts)
|
|
vim.keymap.set('n', '<A-l>', ':wincmd l<CR>', opts)
|
|
|
|
vim.keymap.set('n', '<C-S>', ':wa | wshada<CR>')
|
|
|
|
-- Linewrap and jumping
|
|
vim.keymap.set({ 'n', 'x' }, 'k', 'gk', opts)
|
|
vim.keymap.set({ 'n', 'x' }, 'j', 'gj', opts)
|
|
vim.keymap.set({ 'n', 'x' }, '0', 'g0', opts)
|
|
vim.keymap.set({ 'n', 'x' }, '$', 'g$', opts)
|
|
vim.keymap.set({ 'n', 'x' }, '<Up>', 'gk', opts)
|
|
vim.keymap.set({ 'n', 'x' }, '<Down>', 'gj', opts)
|
|
vim.keymap.set({ 'n', 'x' }, '<Home>', 'g<Home>', opts)
|
|
vim.keymap.set({ 'n', 'x' }, '<End>', 'g<End>', opts)
|
|
vim.keymap.set({ 'i' }, '<C-k>', '<C-o>gk', opts)
|
|
vim.keymap.set({ 'i' }, '<C-h>', '<Left>', opts)
|
|
vim.keymap.set({ 'i' }, '<C-l>', '<Right>', opts)
|
|
vim.keymap.set({ 'i' }, '<C-j>', '<C-o>gj', opts)
|
|
-- vim.keymap.set({'n', 'x', 'i'}, '<Up>', '')
|
|
-- vim.keymap.set({'n', 'x', 'i'}, '<Down>', '')
|
|
-- vim.keymap.set({'n', 'x', 'i'}, '<Left>', '')
|
|
-- vim.keymap.set({'n', 'x', 'i'}, '<Right>', '')
|
|
|
|
vim.keymap.set('x', '<', '<gv')
|
|
vim.keymap.set('x', '>', '>gv')
|
|
|
|
local function hlWord()
|
|
local current_word = vim.call('expand', '<cword>')
|
|
vim.fn.setreg('/', '\\<' .. current_word .. '\\>')
|
|
vim.opt.hlsearch = true
|
|
end
|
|
|
|
-- Highlight word under cursor
|
|
vim.keymap.set('n', "'", hlWord, { noremap = true, silent = true, desc = 'Higlight word under cursor' })
|
|
vim.keymap.set('x', "'", 'y/\\V<C-R>"<CR>N', { noremap = true, silent = true, desc = 'Highlight visual' })
|
|
|
|
-- Close Buffer
|
|
-- vim.keymap.set('n', '<C-w>', ':bd<CR>', { desc = 'Close buffer' })
|
|
|
|
vim.keymap.set('n', '<space>x', 'za', { desc = 'Toggle fold' })
|
|
|
|
vim.keymap.set({ 'n', 'x' }, '<leader>y', '"+y', { desc = 'Copy from system clipboard' })
|
|
vim.keymap.set({ 'n', 'x' }, '<leader>Y', '"+yg_', { desc = 'Copy from system clipboard' })
|
|
vim.keymap.set({ 'n', 'x' }, '<leader>p', '"+p', { desc = 'Paste from system clipboard' })
|
|
vim.keymap.set({ 'n', 'x' }, '<leader>P', '"+P', { desc = 'Paste from system clipboard' })
|
|
|
|
vim.keymap.set('v', 'v', function()
|
|
local mode = vim.fn.mode()
|
|
if mode == 'v' then
|
|
vim.api.nvim_feedkeys('V', 'n', true) -- Switch to Visual Line mode
|
|
elseif mode == 'V' then
|
|
vim.api.nvim_feedkeys('v', 'n', true) -- Switch to regular Visual mode
|
|
end
|
|
end, { noremap = true, silent = true })
|
|
|
|
vim.api.nvim_create_user_command('WinFont', 'set guifont=JetBrainsMonoNL\\ NF:h9', {})
|
|
vim.api.nvim_create_user_command('LinuxFont', 'set guifont=JetBrainsMono\\ Nerd\\ Font\\ Mono:h7', {})
|
|
|
|
if vim.g.neovide then
|
|
vim.g.neovide_scale_factor = 1.0
|
|
local change_scale_factor = function(delta)
|
|
vim.g.neovide_scale_factor = vim.g.neovide_scale_factor * delta
|
|
print(string.format('scaling: %f', vim.g.neovide_scale_factor))
|
|
end
|
|
vim.keymap.set('n', '<C-=>', function()
|
|
change_scale_factor(1.25)
|
|
end)
|
|
vim.keymap.set('n', '<C-->', function()
|
|
change_scale_factor(1 / 1.25)
|
|
end)
|
|
vim.keymap.set('n', '<C-ScrollWheelUp>', function()
|
|
change_scale_factor(1.25)
|
|
end)
|
|
vim.keymap.set('n', '<C-ScrollWheelDown>', function()
|
|
change_scale_factor(1 / 1.25)
|
|
end)
|
|
end
|