diff options
| -rw-r--r-- | vim/.vimrc | 46 |
1 files changed, 23 insertions, 23 deletions
@@ -1,6 +1,8 @@ " ~/.vimrc — Vim 9 configuration " Requires: vim-plug, rust-analyzer in PATH, fzf binary +let mapleader = ' ' + " ── Bootstrap vim-plug ──────────────────────────────────────────────────────── let s:plug_path = expand('~/.vim/autoload/plug.vim') if !filereadable(s:plug_path) @@ -32,6 +34,7 @@ set hidden set tabstop=4 set shiftwidth=4 +set softtabstop=4 set expandtab set ignorecase @@ -61,9 +64,6 @@ let g:tokyonight_style = 'night' colorscheme tokyonight " ── LSP (yegappan/lsp) ──────────────────────────────────────────────────────── -" g:LspOnSetup is called by the User LspSetup autocmd below. -" Variables must be defined and consumed inside the same function call — -" they cannot be captured by an inner autocmd in a def function. def g:LspOnSetup() var lspServers = [ { @@ -73,29 +73,29 @@ def g:LspOnSetup() syncInit: true, } ] - g:LspAddServer(lspServers) enddef -autocmd User LspSetup call g:LspOnSetup() - -" LSP keymaps (only when LSP is active) -autocmd FileType rust { - nnoremap <buffer> gd <Cmd>LspGotoDefinition<CR> - nnoremap <buffer> gD <Cmd>LspGotoDeclaration<CR> - nnoremap <buffer> gi <Cmd>LspGotoImpl<CR> - nnoremap <buffer> gr <Cmd>LspShowReferences<CR> - nnoremap <buffer> gy <Cmd>LspGotoTypeDef<CR> - nnoremap <buffer> K <Cmd>LspHover<CR> - nnoremap <buffer> <space>r <Cmd>LspRename<CR> - nnoremap <buffer> <space>a <Cmd>LspCodeAction<CR> - nnoremap <buffer> <space>f <Cmd>LspFormat<CR> - nnoremap <buffer> <space>d <Cmd>LspDiagShow<CR> - nnoremap <buffer> [d <Cmd>LspDiagPrev<CR> - nnoremap <buffer> ]d <Cmd>LspDiagNext<CR> - nnoremap <buffer> <space>o <Cmd>LspOutline<CR> - nnoremap <buffer> <space>i <Cmd>LspInlayHints toggle<CR> -} +augroup MyLsp + autocmd! + autocmd User LspSetup call g:LspOnSetup() + autocmd FileType rust { + nnoremap <buffer> gd <Cmd>LspGotoDefinition<CR> + nnoremap <buffer> gD <Cmd>LspGotoDeclaration<CR> + nnoremap <buffer> gi <Cmd>LspGotoImpl<CR> + nnoremap <buffer> gr <Cmd>LspShowReferences<CR> + nnoremap <buffer> gy <Cmd>LspGotoTypeDef<CR> + nnoremap <buffer> K <Cmd>LspHover<CR> + nnoremap <buffer> <leader>lr <Cmd>LspRename<CR> + nnoremap <buffer> <leader>la <Cmd>LspCodeAction<CR> + nnoremap <buffer> <leader>lf <Cmd>LspFormat<CR> + nnoremap <buffer> <leader>ld <Cmd>LspDiagShow<CR> + nnoremap <buffer> [d <Cmd>LspDiagPrev<CR> + nnoremap <buffer> ]d <Cmd>LspDiagNext<CR> + nnoremap <buffer> <leader>lo <Cmd>LspOutline<CR> + nnoremap <buffer> <leader>li <Cmd>LspInlayHints toggle<CR> + } +augroup END " ── Search ──────────────────────────────────────────────────────────────────── nnoremap <Esc> <Cmd>nohlsearch<CR> |
