X-Git-Url: https://git.josue.xyz/?p=dotfiles%2F.git;a=blobdiff_plain;f=.config%2Fnvim%2Finit.vim;h=52fc40f7d3ffd20e3adcf5e10e0bc0c711e0cc21;hp=e8c6c9ab2f9873707afa1243e88cd50cca2c899b;hb=220a77e6921e026149fdf04dbbbec1429633a6fb;hpb=a134b9a25cfc017f54f077eea78a9e7b1eba48a1 diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim index e8c6c9ab..52fc40f7 100644 --- a/.config/nvim/init.vim +++ b/.config/nvim/init.vim @@ -1,4 +1,3 @@ - " Specify a directory for plugins call plug#begin('~/.config/nvim/plugins/plugged') @@ -9,7 +8,6 @@ Plug 'Xuyuanp/nerdtree-git-plugin' Plug 'tiagofumo/vim-nerdtree-syntax-highlight' Plug 'ryanoasis/vim-devicons' Plug 'airblade/vim-gitgutter' -Plug 'ctrlpvim/ctrlp.vim' " fuzzy find files Plug 'scrooloose/nerdcommenter' "This is a linter for python Plug 'metakirby5/codi.vim' @@ -17,12 +15,16 @@ Plug 'christoomey/vim-tmux-navigator' Plug 'morhetz/gruvbox' Plug 'dracula/vim',{'as':'dracula'} Plug 'HerringtonDarkholme/yats.vim' " TS Syntax - " Initialize plugin system call plug#end() +colorscheme gruvbox +"colors: +syntax on "Remaps: +"remap the leader to space +"let mapleader = " " "jk in insert mode takes you back to normal mode inoremap jk "Ctrl-n activates nerd toggle @@ -32,234 +34,7 @@ nmap :w "++ in vmap or nmap coments vmap ++ NERDCommenterToggle nmap ++ NERDCommenterToggle - - -"Personalizado: -"espera dos segundos para el completado de comandos -set timeout timeoutlen=2000 -"Tabs and indents -set tabstop=4 softtabstop=4 -set shiftwidth=4 -set smarttab -set expandtab -set smartindent -"accept colorscheme -set termguicolors -"numbers -set number -set relativenumber -"cases -set ignorecase -set smartcase -"colorscheme dracula -colorscheme gruvbox - - -"Random_useful_stuff: -"executing any .vimrc that is in the current directory for project specific -"configurations that i might need: -set exrc -"No highligt search plus incremental search: -set nohlsearch -set incsearch -"keep buffers arround while open: -set hidden -"No random sound: -set noerrorbells -"Extra space on the bottom -set scrolloff=8 -"colors: -syntax on -"A bar on the side: -set signcolumn=yes " j/k will move virtual lines (lines that wrap) noremap j (v:count == 0 ? 'gj' : 'j') noremap k (v:count == 0 ? 'gk' : 'k') -"Better look for messages -set cmdheight=2 -"300ms without activity to write to disk the swapfile -set updatetime=300 -" don't give |ins-completion-menu| messages. -set shortmess+=c - - -"Codi: -" Change the color -highlight CodiVirtualText guifg=cyan -"The indicator for codi -let g:codi#virtual_text_prefix = "❯ " -let g:codi#aliases = { - \ 'javascript.jsx': 'javascript', - \ } - - -"Ctrlp: -let g:ctrlp_user_command = ['.git/', 'git --git-dir=%s/.git ls-files -oc --exclude-standard'] - - -"Vim_prettier: -"let g:prettier#quickfix_enabled = 0 -"let g:prettier#quickfix_auto_focus = 0 -" prettier command for coc -command! -nargs=0 Prettier :CocCommand prettier.formatFile -" run prettier on save -"let g:prettier#autoformat = 0 -"autocmd BufWritePre *.js,*.jsx,*.mjs,*.ts,*.tsx,*.css,*.less,*.scss,*.json,*.graphql,*.md,*.vue,*.yaml,*.html PrettierAsync - - -"NERDTree: -let g:NERDTreeGitStatusWithFlags = 1 -let g:WebDevIconsUnicodeDecorateFolderNodes = 1 -let g:NERDTreeGitStatusNodeColorization = 1 -let g:NERDTreeColorMapCustom = { - \ "Staged" : "#0ee375", - \ "Modified" : "#d9bf91", - \ "Renamed" : "#51C9FC", - \ "Untracked" : "#FCE77C", - \ "Unmerged" : "#FC51E6", - \ "Dirty" : "#FFBD61", - \ "Clean" : "#87939A", - \ "Ignored" : "#808080" - \ } -let g:NERDTreeIgnore = ['^node_modules$'] -" sync open file with NERDTree -" " Check if NERDTree is open or active -function! IsNERDTreeOpen() - return exists("t:NERDTreeBufName") && (bufwinnr(t:NERDTreeBufName) != -1) -endfunction -" Call NERDTreeFind iff NERDTree is active, current window contains a modifiable -" file, and we're not in vimdiff -function! SyncTree() - if &modifiable && IsNERDTreeOpen() && strlen(expand('%')) > 0 && !&diff - NERDTreeFind - wincmd p - endif -endfunction -" Highlight currently open buffer in NERDTree -autocmd BufEnter * call SyncTree() - - -"Coc: -let g:coc_global_extensions = [ - \ 'coc-snippets', - \ 'coc-pairs', - \ 'coc-tsserver', - \ 'coc-eslint', - \ 'coc-prettier', - \ 'coc-json', - \ 'coc-clangd', - \ 'coc-css', - \ 'coc-html', - \ 'coc-markdownlint', - \ 'coc-python', - \ ] - -" Use tab for trigger completion with characters ahead and navigate. -" Use command ':verbose imap ' to make sure tab is not mapped by other plugin. -inoremap - \ pumvisible() ? "\" : - \ check_back_space() ? "\" : - \ coc#refresh() -inoremap pumvisible() ? "\" : "\" - -function! s:check_back_space() abort - let col = col('.') - 1 - return !col || getline('.')[col - 1] =~# '\s' -endfunction - -" Use to trigger completion. -inoremap coc#refresh() - -" Use to confirm completion, `u` means break undo chain at current position. -" Coc only does snippet and additional edit on confirm. -inoremap pumvisible() ? "\" : "\u\" -" Or use `complete_info` if your vim support it, like: -" inoremap complete_info()["selected"] != "-1" ? "\" : "\u\" - -" Use `[g` and `]g` to navigate diagnostics -nmap [g (coc-diagnostic-prev) -nmap ]g (coc-diagnostic-next) - -" Remap keys for gotos -nmap gd (coc-definition) -nmap gy (coc-type-definition) -nmap gi (coc-implementation) -nmap gr (coc-references) - -" Use K to show documentation in preview window -nnoremap K :call show_documentation() - -function! s:show_documentation() - if (index(['vim','help'], &filetype) >= 0) - execute 'h '.expand('') - else - call CocAction('doHover') - endif -endfunction - -" Highlight symbol under cursor on CursorHold -autocmd CursorHold * silent call CocActionAsync('highlight') - -" Remap for rename current word -nmap (coc-rename) - -" Remap for format selected region -xmap f (coc-format-selected) -nmap f (coc-format-selected) - -augroup mygroup - autocmd! - " Setup formatexpr specified filetype(s). - autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected') - " Update signature help on jump placeholder - autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp') -augroup end - -" Remap for do codeAction of selected region, ex: `aap` for current paragraph -xmap a (coc-codeaction-selected) -nmap a (coc-codeaction-selected) - -" Remap for do codeAction of current line -nmap ac (coc-codeaction) -" Fix autofix problem of current line -nmap qf (coc-fix-current) - -" Create mappings for function text object, requires document symbols feature of languageserver. -xmap if (coc-funcobj-i) -xmap af (coc-funcobj-a) -omap if (coc-funcobj-i) -omap af (coc-funcobj-a) - -" Use for select selections ranges, needs server support, like: coc-tsserver, coc-python -nmap (coc-range-select) -xmap (coc-range-select) - -" Use `:Format` to format current buffer -command! -nargs=0 Format :call CocAction('format') - -" Use `:Fold` to fold current buffer -command! -nargs=? Fold :call CocAction('fold', ) - -" use `:OR` for organize import of current buffer -command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport') - -" Add status line support, for integration with other plugin, checkout `:h coc-status` -set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')} -" Using CocList -" Show all diagnostics -nnoremap a :CocList diagnostics -" Manage extensions -nnoremap e :CocList extensions -" Show commands -nnoremap c :CocList commands -" Find symbol of current document -nnoremap o :CocList outline -" Search workspace symbols -nnoremap s :CocList -I symbols -" Do default action for next item. -nnoremap j :CocNext -" Do default action for previous item. -nnoremap k :CocPrev -" Resume latest coc list -nnoremap p :CocListResume