nvim: cleanup

This commit is contained in:
He4eT 2025-08-24 16:42:45 +02:00
commit ef68202f77

View file

@ -26,8 +26,6 @@ npx @johnnymorganz/stylua-bin ./init.lua
cfg_lazy_lsp: LSP configuration & plugins cfg_lazy_lsp: LSP configuration & plugins
  cfg_lazy_lsp_keymaps   cfg_lazy_lsp_keymaps
  cfg_lazy_lsp_servers   cfg_lazy_lsp_servers
cfg_lazy_lsp_servers_lua
  cfg_lazy_lsp_servers_ts_ls
  cfg_lazy_cmp: Autocompletion   cfg_lazy_cmp: Autocompletion
  cfg_lazy_cmp_keymaps   cfg_lazy_cmp_keymaps
  cfg_lazy_treesitter: Highlight, edit, and navigate code   cfg_lazy_treesitter: Highlight, edit, and navigate code
@ -100,6 +98,8 @@ vim.o.smartcase = true
-- Decrease update time -- Decrease update time
vim.o.updatetime = 250 vim.o.updatetime = 250
-- Disabling the timeout for key sequence completion
vim.o.timeout = false vim.o.timeout = false
-- Set completeopt to have a better completion experience -- Set completeopt to have a better completion experience
@ -127,28 +127,32 @@ vim.api.nvim_create_user_command('E', 'Explore', {})
--[[ cfg_autocmds: Autocomands ]] --[[ cfg_autocmds: Autocomands ]]
-- Highlight on yank -- Highlight on yank
local highlight_group = vim.api.nvim_create_augroup('YankHighlight', { clear = true })
vim.api.nvim_create_autocmd('TextYankPost', { vim.api.nvim_create_autocmd('TextYankPost', {
group = vim.api.nvim_create_augroup('YankHighlight', { clear = true }),
pattern = '*',
callback = function() callback = function()
vim.highlight.on_yank() vim.highlight.on_yank()
end, end,
group = highlight_group,
pattern = '*',
}) })
-- Default insert mode in terminal buffers -- Default insert mode in terminal buffers
local terminal_enter_group = vim.api.nvim_create_augroup('TerminalEnter', { clear = true })
vim.api.nvim_create_autocmd('BufEnter', { vim.api.nvim_create_autocmd('BufEnter', {
group = terminal_enter_group, group = vim.api.nvim_create_augroup('TerminalEnter', { clear = true }),
pattern = 'term://*', pattern = 'term://*',
command = 'startinsert', command = 'startinsert',
}) })
-- Disable line numbers for terminal buffers -- Disable line numbers for terminal buffers
vim.api.nvim_create_autocmd('TermOpen', { pattern = '*', command = 'setlocal nonumber' }) vim.api.nvim_create_autocmd('TermOpen', {
group = vim.api.nvim_create_augroup('TerminalSettings', { clear = true }),
pattern = '*',
command = 'setlocal nonumber',
})
-- Switch the keyboard layout to English (US) when leaving Insert Mode -- Switch the keyboard layout to English (US) when leaving Insert Mode
vim.api.nvim_create_autocmd('InsertLeave', { vim.api.nvim_create_autocmd('InsertLeave', {
group = vim.api.nvim_create_augroup('SwitchToEnglishOnLeave', { clear = true }),
pattern = '*',
command = 'silent !xkb-switch -s us', command = 'silent !xkb-switch -s us',
}) })
@ -178,8 +182,15 @@ vim.keymap.set('n', '<leader>h', '<C-o>', { desc = 'Go back' })
vim.keymap.set('n', '<leader>l', '<C-i>', { desc = 'Go forward' }) vim.keymap.set('n', '<leader>l', '<C-i>', { desc = 'Go forward' })
-- Copy'n'Paste -- Copy'n'Paste
vim.keymap.set('n', '<leader>y', ':call system("xclip -i -selection clipboard", @@)<cr>', { desc = 'Copy last yanked or deleted text to the system clipboard' })
vim.keymap.set('v', '<leader>y', '"+y', { desc = 'Copy selection to the system clipboard' }) vim.keymap.set('v', '<leader>y', '"+y', { desc = 'Copy selection to the system clipboard' })
vim.keymap.set('n', '<leader>y', function()
local text = vim.fn.getreg('"')
vim.fn.system('xclip -i -selection clipboard', text)
print('Copied to system clipboard')
end, {
silent = true,
desc = 'Copy last yanked or deleted text to system clipboard via xclip',
})
-- Diagnostic -- Diagnostic
vim.keymap.set('n', '<leader>d', vim.diagnostic.open_float, { desc = 'Open floating [d]iagnostic message' }) vim.keymap.set('n', '<leader>d', vim.diagnostic.open_float, { desc = 'Open floating [d]iagnostic message' })
@ -217,9 +228,6 @@ require('lazy').setup({
{ {
'catgoose/nvim-colorizer.lua', 'catgoose/nvim-colorizer.lua',
cmd = 'ColorizerToggle', cmd = 'ColorizerToggle',
opts = {
filetypes = {},
},
}, },
--[[ cfg_lazy_comment: Toggles linewise and blockwise comments ]] --[[ cfg_lazy_comment: Toggles linewise and blockwise comments ]]
{ {
@ -263,9 +271,6 @@ require('lazy').setup({
topdelete = { text = '' }, topdelete = { text = '' },
changedelete = { text = '' }, changedelete = { text = '' },
}, },
preview_config = {
border = 'solid',
},
} }
vim.keymap.set('n', '[g', ':Gitsigns prev_hunk<CR>', { desc = 'Go to previous git hunk' }) vim.keymap.set('n', '[g', ':Gitsigns prev_hunk<CR>', { desc = 'Go to previous git hunk' })
@ -276,8 +281,10 @@ require('lazy').setup({
--[[ cfg_lazy_desolate: Not-so-colorful colorscheme ]] --[[ cfg_lazy_desolate: Not-so-colorful colorscheme ]]
{ {
'He4eT/desolate.nvim', 'He4eT/desolate.nvim',
dependencies = {
'rktjmp/lush.nvim',
},
-- dir = '~/trash/desolate.nvim', -- dir = '~/trash/desolate.nvim',
priority = 1000,
init = function() init = function()
vim.g.desolate_h = 0 vim.g.desolate_h = 0
vim.g.desolate_s = 0 vim.g.desolate_s = 0
@ -300,9 +307,6 @@ require('lazy').setup({
vim.o.background = 'dark' vim.o.background = 'dark'
vim.cmd.colorscheme 'desolate' vim.cmd.colorscheme 'desolate'
end, end,
dependencies = {
'rktjmp/lush.nvim',
},
}, },
--[[ cfg_lazy_onedark: Colorscheme inspired by Atom ]] --[[ cfg_lazy_onedark: Colorscheme inspired by Atom ]]
'navarasu/onedark.nvim', 'navarasu/onedark.nvim',
@ -386,6 +390,7 @@ require('lazy').setup({
--[[ cfg_lazy_fzf_keymaps ]] --[[ cfg_lazy_fzf_keymaps ]]
vim.keymap.set({ 'n' }, '<leader>fp', fzf.builtin, { desc = '[F]zf: [P]allete' })
vim.keymap.set({ 'n' }, '<leader>f.', fzf.resume, { desc = '[F]zf: Resume' }) vim.keymap.set({ 'n' }, '<leader>f.', fzf.resume, { desc = '[F]zf: Resume' })
vim.keymap.set({ 'n' }, '<leader>b', fzf.buffers, { desc = '[F]zf: [B]uffers' }) vim.keymap.set({ 'n' }, '<leader>b', fzf.buffers, { desc = '[F]zf: [B]uffers' })
@ -395,12 +400,11 @@ require('lazy').setup({
vim.keymap.set({ 'n' }, '<leader>fd', fzf.git_status, { desc = '[F]zf: git [d]iff' }) vim.keymap.set({ 'n' }, '<leader>fd', fzf.git_status, { desc = '[F]zf: git [d]iff' })
vim.keymap.set({ 'n' }, '<leader>fh', fzf_git_chronology, { desc = '[F]zf: git c[h]ronology' }) vim.keymap.set({ 'n' }, '<leader>fh', fzf_git_chronology, { desc = '[F]zf: git c[h]ronology' })
vim.keymap.set({ 'n' }, '<leader>f/', fzf.blines, { desc = '[F]zf: buffer lines' })
vim.keymap.set({ 'n' }, '<leader>fg', fzf.live_grep, { desc = '[F]zf: [g]rep' }) vim.keymap.set({ 'n' }, '<leader>fg', fzf.live_grep, { desc = '[F]zf: [g]rep' })
vim.keymap.set({ 'n' }, '<leader>fw', fzf.grep_cword, { desc = '[F]zf: grep [w]' }) vim.keymap.set({ 'n' }, '<leader>fw', fzf.grep_cword, { desc = '[F]zf: grep [w]' })
vim.keymap.set({ 'n' }, '<leader>fW', fzf.grep_cWORD, { desc = '[F]zf: grep [W]' }) vim.keymap.set({ 'n' }, '<leader>fW', fzf.grep_cWORD, { desc = '[F]zf: grep [W]' })
vim.keymap.set({ 'n' }, '<leader>f/', fzf.blines, { desc = '[F]zf: buffer lines' })
vim.keymap.set({ 'n' }, '<leader>fp', fzf.builtin, { desc = '[F]zf: [p]allete' })
vim.keymap.set({ 'n' }, '<leader>p', fzf.registers, { desc = '[F]zf: [p]aste' }) vim.keymap.set({ 'n' }, '<leader>p', fzf.registers, { desc = '[F]zf: [p]aste' })
vim.keymap.set({ 'n' }, '<leader>?', fzf.keymaps, { desc = '[F]zf: keymaps' }) vim.keymap.set({ 'n' }, '<leader>?', fzf.keymaps, { desc = '[F]zf: keymaps' })
vim.keymap.set({ 'n' }, '<leader>/', fzf.search_history, { desc = '[F]zf: search history' }) vim.keymap.set({ 'n' }, '<leader>/', fzf.search_history, { desc = '[F]zf: search history' })
@ -421,7 +425,6 @@ require('lazy').setup({
}, },
config = function() config = function()
-- Diagnostic Appearance -- Diagnostic Appearance
local icon = '' local icon = ''
vim.diagnostic.config { vim.diagnostic.config {
signs = { signs = {
@ -470,9 +473,7 @@ require('lazy').setup({
--[[ cfg_lazy_lsp_servers ]] --[[ cfg_lazy_lsp_servers ]]
local servers = { local servers = {
--[[ cfg_lazy_lsp_servers_lua ]]
lua_ls = {}, lua_ls = {},
--[[ cfg_lazy_lsp_servers_ts_ls ]]
ts_ls = { ts_ls = {
filetypes = { 'javascript', 'javascriptreact', 'typescript', 'typescriptreact', 'vue' }, filetypes = { 'javascript', 'javascriptreact', 'typescript', 'typescriptreact', 'vue' },
init_options = { init_options = {
@ -498,9 +499,9 @@ require('lazy').setup({
require('mason-lspconfig').setup { require('mason-lspconfig').setup {
automatic_enable = true, automatic_enable = true,
ensure_installed = { ensure_installed = {
'lua-language-server', 'lua_ls',
'typescript-language-server', 'ts_ls',
'vue-language-server', 'vue_ls',
}, },
} }
end, end,
@ -528,7 +529,7 @@ require('lazy').setup({
['<C-Space>'] = cmp.mapping.complete {}, ['<C-Space>'] = cmp.mapping.complete {},
['<Esc>'] = cmp.mapping.abort(), ['<Esc>'] = cmp.mapping.abort(),
['<CR>'] = cmp.mapping.confirm { ['<CR>'] = cmp.mapping.confirm {
behavior = cmp.ConfirmBehavior.Insert, behavior = cmp.ConfirmBehavior.Replace,
select = true, select = true,
}, },
['<Tab>'] = cmp.mapping(function(fallback) ['<Tab>'] = cmp.mapping(function(fallback)
@ -572,13 +573,12 @@ require('lazy').setup({
'tsx', 'tsx',
'vue', 'vue',
'html', 'html',
'ninja',
'css', 'css',
'scss', 'scss',
}, },
auto_install = true, auto_install = true,
highlight = { enable = true }, highlight = { enable = true },
indent = { enable = true, disable = { 'python' } }, indent = { enable = true },
--[[ cfg_lazy_treesitter_keymaps ]] --[[ cfg_lazy_treesitter_keymaps ]]
@ -594,7 +594,7 @@ require('lazy').setup({
textobjects = { textobjects = {
select = { select = {
enable = true, enable = true,
lookahead = true, -- Automatically jump forward to textobj, similar to targets.vim lookahead = true,
keymaps = { keymaps = {
['aa'] = '@parameter.outer', ['aa'] = '@parameter.outer',
['ia'] = '@parameter.inner', ['ia'] = '@parameter.inner',
@ -604,35 +604,6 @@ require('lazy').setup({
['ic'] = '@class.inner', ['ic'] = '@class.inner',
}, },
}, },
move = {
enable = true,
set_jumps = true, -- whether to set jumps in the jumplist
goto_next_start = {
[']m'] = '@function.outer',
[']]'] = '@class.outer',
},
goto_next_end = {
[']M'] = '@function.outer',
[']['] = '@class.outer',
},
goto_previous_start = {
['[m'] = '@function.outer',
['[['] = '@class.outer',
},
goto_previous_end = {
['[M'] = '@function.outer',
['[]'] = '@class.outer',
},
},
swap = {
enable = true,
swap_next = {
['<leader>a'] = '@parameter.inner',
},
swap_previous = {
['<leader>A'] = '@parameter.inner',
},
},
}, },
} }
end, end,