vimrc (4558B)
1 2 let mapleader=" " 3 let g:pm_path = expand("$HOME/.config/vim/pack/plugins/start/") 4 let g:plugins = [ 5 \ "https://github.com/ap/vim-css-color.git", 6 \ "https://github.com/junegunn/goyo.vim.git", 7 \ "https://github.com/tpope/vim-surround.git", 8 \ "https://github.com/tpope/vim-commentary.git", 9 \ "https://github.com/gpanders/vim-scdoc.git", 10 \ "https://github.com/preservim/nerdtree.git", 11 \ "https://github.com/jreybert/vimagit.git", 12 \ "https://github.com/kaarmu/typst.vim.git", 13 \ "https://github.com/vim-scripts/SyntaxRange.git"] 14 15 set viminfofile=~/.cache/vim/viminfo 16 silent !mkdir -p ~/.cache/vim > /dev/null 2>&1 17 18 " ─── Aparência ─────────────────────────────────────────────── 19 set title 20 set t_Co=256 21 set laststatus=2 22 set number relativenumber 23 set nocursorline 24 set nocursorcolumn 25 set colorcolumn=0 26 set notermguicolors 27 28 " ─── Comportamento base ─────────────────────────────────────── 29 set nocompatible 30 filetype plugin on 31 syntax on 32 set encoding=utf-8 33 set ttyfast 34 set nofoldenable 35 set nobackup 36 set noswapfile 37 set notimeout 38 set mouse=a 39 set hlsearch 40 41 " ─── Clipboard (sistema via xclip) ────────────────────────── 42 vnoremap <leader>y :w !xclip -selection clipboard<CR><CR> 43 nnoremap <leader>Y :%w !xclip -selection clipboard<CR><CR> 44 45 " ─── Exibição de texto ─────────────────────────────────────── 46 set wrap 47 set linebreak 48 49 " ─── Autocompletar e formatação ────────────────────────────── 50 set wildmode=longest,list,full 51 autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o 52 53 " ─── Splits ────────────────────────────────────────────────── 54 set splitbelow splitright 55 nnoremap <C-h> <C-w>h 56 nnoremap <C-j> <C-w>j 57 nnoremap <C-k> <C-w>k 58 nnoremap <C-l> <C-w>l 59 60 " ─── Atalhos gerais ────────────────────────────────────────── 61 nnoremap Y y$ 62 nnoremap cc :center<CR> 63 nnoremap <leader>p :Ex<CR> 64 65 " Remover espaços em branco finais 66 nnoremap <silent> <leader>t :let _s=@/<Bar>:%s/\s\+$//e<Bar>:let @/=_s<Bar>:nohl<CR> 67 68 " ─── Goyo ──────────────────────────────────────────────────── 69 nnoremap <leader>f :Goyo \| set linebreak<CR> 70 nnoremap <leader>g :Goyo!<CR> 71 72 " ─── Ortografia ────────────────────────────────────────────── 73 nnoremap <leader>s :setlocal spell! spelllang=pt_br<CR> 74 75 " ─── NERDTree ──────────────────────────────────────────────── 76 nnoremap <leader>n :NERDTreeToggle<CR> 77 78 " ─── Typst ─────────────────────────────────────────────────── 79 autocmd FileType typst nnoremap <buffer> <leader>c :w<CR>:!typst compile "%" --root .<CR> 80 autocmd FileType typst nnoremap <buffer> <leader>v :!zathura "%:p:r.pdf" &<CR> 81 autocmd FileType typst nnoremap <buffer> <leader>o :w<CR>:!typst compile "%" --root . && zathura "%:p:r.pdf" &<CR> 82 autocmd FileType typst nnoremap <buffer> <leader>W :!typst watch "%" --root . &<CR> 83 84 " ─── Defaults por tipo de arquivo ──────────────────────────── 85 autocmd FileType text setlocal tw=0 86 87 " ─── Sintaxe para arquivos específicos ─────────────────────── 88 autocmd BufRead,BufNewFile *.ms,*.me,*.mom,*.man set filetype=groff 89 90 " ─── Alternar barra de status ──────────────────────────────── 91 let s:bar_hidden = 0 92 function! ToggleBar() 93 if s:bar_hidden == 0 94 let s:bar_hidden = 1 95 set noshowmode noruler laststatus=0 noshowcmd 96 else 97 let s:bar_hidden = 0 98 set showmode ruler laststatus=2 showcmd 99 endif 100 endfunction 101 nnoremap <leader>b :call ToggleBar()<CR>