scripts/vim-config/init.lua
2025-03-19 13:16:01 +00:00

49 lines
2.4 KiB
Lua

-- require 'lspconfig'.clangd.setup{}
vim.g.zig_fmt_autosave = 0
vim.cmd("set number")
vim.cmd("set tabstop=4")
vim.cmd("set softtabstop=4")
vim.cmd("set expandtab")
vim.cmd("set shiftwidth=4")
vim.cmd("set ttyfast")
vim.cmd("let mapleader=','")
local vim = vim
local Plug = vim.fn['plug#']
vim.call('plug#begin')
Plug('nvim-lua/plenary.nvim')
Plug('nvim-telescope/telescope.nvim')
Plug('neoclide/coc.nvim',{branch = 'release'})
vim.call('plug#end')
local builtin = require('telescope.builtin')
vim.keymap.set('n','<leader>ff',builtin.find_files, { desc = "Telescope find files" })
vim.keymap.set('n', '<leader>fg', builtin.live_grep, { desc = 'Telescope live grep' })
vim.keymap.set('n', '<leader>fb', builtin.buffers, { desc = 'Telescope buffers' })
vim.keymap.set('n', '<leader>fh', builtin.help_tags, { desc = 'Telescope help tags' })
vim.keymap.set('n', '<leader>fr', builtin.lsp_references, { desc = 'Telescope list reference under cursor' })
vim.keymap.set('n', '<leader>fs', builtin.lsp_document_symbols, { desc = 'Telescope list all document symbols' })
vim.keymap.set('n', '<leader>fd', builtin.lsp_definitions, { desc = 'Telescope defintions under cursor' })
vim.keymap.set('n', '<leader>ft', builtin.lsp_type_definitions, { desc = 'Telescope definition of type under cursor' })
vim.cmd("autocmd FileType python map <buffer> <F9> :w<CR>:exec '!python' shellescape(@%, 1)<CR>")
vim.cmd("colorscheme desert")
-- config for coc autocompletion
vim.api.nvim_set_keymap('n','gd',"<Plug>(coc-definition)",{silent=true})
vim.api.nvim_set_keymap('n','gy',"<Plug>(coc-type-definition)",{silent=true})
vim.api.nvim_set_keymap('n','gr',"<Plug>(coc-reference)",{silent=true})
vim.api.nvim_set_keymap('n','[g',"<Plug>(coc-diagnostic-prev)",{silent=true})
vim.api.nvim_set_keymap('n',']g',"<Plug>(coc-diagnostic-next)",{silent=true})
vim.api.nvim_set_keymap('n','<space>s',":<C-u>CocList -I symbols<cr>",{noremap=true,silent=true})
vim.api.nvim_set_keymap('n','<space>d',":<C-u>CocList diagnostics<cr>",{noremap=true,silent=true})
vim.api.nvim_set_keymap('n','<leader>do',"<Plug>(coc-codeaction)",{silent=true})
vim.api.nvim_set_keymap('n','<leader>rn',"<Plug>(coc-rename)",{silent=true})
-- equivalent to let
vim.g.coc_global_extensions = {"coc-tsserver","coc-json","coc-css","coc-eslint","coc-prettier","coc-java","coc-html","coc-htmldjango","coc-pyright"}
vim.api.nvim_set_keymap('i','<cr>',"coc#pum#visible() ? coc#pum#confirm() : \"\\<cr>\"",{expr=true,silent=true})