neovim config part 2
This commit is contained in:
parent
21bcbd0bdc
commit
6f23ebd0f5
4 changed files with 368 additions and 61 deletions
|
@ -1,4 +1,4 @@
|
|||
-- General --
|
||||
-- NOTE: General --
|
||||
|
||||
-- hjkl to ijkl remap
|
||||
vim.keymap.set({ 'n', 'v', 'o' }, 'j', 'h', { desc = 'hjkl to ijkl' })
|
||||
|
@ -6,14 +6,12 @@ vim.keymap.set({ 'n', 'v', 'o' }, 'h', 'i', { desc = 'hjkl to ijkl' })
|
|||
vim.keymap.set({ 'n', 'v', 'o' }, 'i', 'k', { desc = 'hjkl to ijkl' })
|
||||
vim.keymap.set({ 'n', 'v', 'o' }, 'k', 'j', { desc = 'hjkl to ijkl' })
|
||||
|
||||
|
||||
-- indentation
|
||||
vim.keymap.set('n', '<Tab>', '>>', { desc = 'tab indent ' })
|
||||
vim.keymap.set('n', '<S-Tab>', '<<', { desc = 'S-tab unindent ' })
|
||||
vim.keymap.set({ 'v', 'o' }, '<Tab>', '>', { desc = 'tab indent ' })
|
||||
vim.keymap.set({ 'v', 'o' }, '<S-Tab>', '<', { desc = 'S-tab unindent ' })
|
||||
|
||||
|
||||
-- scrolling
|
||||
vim.keymap.set({ 'n', 'v', 'o' }, '<C-d>', '<C-d>zz', { desc = 'centered scroll' })
|
||||
vim.keymap.set({ 'n', 'v', 'o' }, '<C-u>', '<C-u>zz', { desc = 'centered scroll' })
|
||||
|
@ -24,11 +22,76 @@ vim.keymap.set({ 'n', 'v', 'o' }, '#', '_', { desc = '# start of line' })
|
|||
-- save
|
||||
vim.keymap.set('n', '<C-s>', ':w<CR>', { desc = 'ctrl-s save' })
|
||||
|
||||
-- Buffers --
|
||||
vim.keymap.set('n', '<leader>l', ':tabnext<CR>', { desc = 'next buffer' })
|
||||
vim.keymap.set('n', '<leader>j', ':tabprev<CR>', { desc = 'previous buffer' })
|
||||
-- tabs
|
||||
vim.keymap.set('n', '<leader><Tab>', ':tabnext<CR>', { desc = 'next buffer' })
|
||||
vim.keymap.set('n', '<leader><S-Tab>', ':tabprev<CR>', { desc = 'previous buffer' })
|
||||
|
||||
-- delete word in insert mode
|
||||
vim.keymap.set('i', '<C-BS>', '<C-w>', { desc = 'delete word in insert mode' })
|
||||
|
||||
-- tab luasnip
|
||||
-- TODO: fix this for snippets
|
||||
vim.keymap.del('i', '<Tab>', { desc = 'remove keymap cause not be worky' })
|
||||
|
||||
-- NOTE: Terminal
|
||||
|
||||
vim.keymap.set('n', '<C-l>', function ()
|
||||
local buffers = vim.api.nvim_list_bufs()
|
||||
local terminal_exists = false
|
||||
for _, buf in ipairs(buffers) do
|
||||
local buf_name = vim.api.nvim_buf_get_name(buf)
|
||||
-- find all terminal buffers
|
||||
if vim.api.nvim_buf_is_loaded(buf) and string.find(buf_name, '^term://') ~= nil then
|
||||
|
||||
-- find window of first terminal window if exists
|
||||
local window_exists = false
|
||||
local windows = vim.api.nvim_list_wins()
|
||||
for _, win in ipairs(windows) do
|
||||
if vim.api.nvim_win_get_buf(win) == buf then
|
||||
vim.api.nvim_set_current_win(win)
|
||||
window_exists = true
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
-- window dosnt exist so create and put existing terminal there
|
||||
if not window_exists then
|
||||
vim.cmd.vnew()
|
||||
vim.api.nvim_win_set_width(0, 60)
|
||||
vim.api.nvim_set_current_buf(buf)
|
||||
end
|
||||
|
||||
terminal_exists = true
|
||||
end
|
||||
end
|
||||
|
||||
-- if no terminal then create new one
|
||||
if not terminal_exists then
|
||||
vim.cmd.vnew()
|
||||
vim.cmd.term()
|
||||
vim.api.nvim_win_set_width(0, 60)
|
||||
end
|
||||
|
||||
vim.api.nvim_feedkeys('a', 'n', true)
|
||||
|
||||
end, { desc = 'open terminal', silent = true })
|
||||
|
||||
vim.keymap.set('t', '<C-j>', '<cmd>wincmd h<CR>', { desc = 'focus editor', silent = true })
|
||||
vim.keymap.set('t', '<C-w>', '<C-d>', { desc = 'kill terminal' })
|
||||
|
||||
vim.keymap.set('t', '<Esc>', '<C-\\><C-n>', { desc = 'normal mode in terminal' })
|
||||
|
||||
-- NOTE: Windows
|
||||
|
||||
-- this is weird because ctrl-i => Up & ctrl-k => Down in Kitty conf
|
||||
vim.keymap.set({ 'n', 'v', 'o' }, '<Down><Up>', ':wincmd k<CR>', { desc = 'moving around window using ctrl-k ijkl', silent = true })
|
||||
vim.keymap.set({ 'n', 'v', 'o' }, '<Down><Down>', ':wincmd j<CR>', { desc = 'moving around window using ctrl-k ijkl', silent = true })
|
||||
vim.keymap.set({ 'n', 'v', 'o' }, '<Down><C-l>', ':wincmd l<CR>', { desc = 'moving around window using ctrl-k ijkl', silent = true })
|
||||
vim.keymap.set({ 'n', 'v', 'o' }, '<Down><C-j>', ':wincmd h<CR>', { desc = 'moving around window using ctrl-k ijkl', silent = true })
|
||||
|
||||
|
||||
-- NOTE: Telescope --
|
||||
|
||||
-- Telescope --
|
||||
local builtin = require('telescope.builtin')
|
||||
|
||||
vim.keymap.set('n', '<C-o>', builtin.find_files, { desc = 'Telescope find files' })
|
||||
|
@ -39,4 +102,19 @@ vim.keymap.set('n', '<leader>/', function()
|
|||
winblend = 10,
|
||||
previewer = false,
|
||||
})
|
||||
end, { desc = '[/] Fuzzily search in current buffer' })
|
||||
end, { desc = 'Fuzzily search in current buffer' })
|
||||
|
||||
|
||||
local mappings = {
|
||||
telescope_defaults = function(actions)
|
||||
return {
|
||||
i = {
|
||||
["<esc>"] = actions.close,
|
||||
["<C-k>"] = actions.move_selection_next,
|
||||
["<C-i>"] = actions.move_selection_previous,
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
}
|
||||
return mappings
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue