summaryrefslogtreecommitdiff
path: root/vim/.vimrc
diff options
context:
space:
mode:
Diffstat (limited to 'vim/.vimrc')
-rw-r--r--vim/.vimrc46
1 files changed, 23 insertions, 23 deletions
diff --git a/vim/.vimrc b/vim/.vimrc
index 8b964e0..beba357 100644
--- a/vim/.vimrc
+++ b/vim/.vimrc
@@ -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>