Last active
June 28, 2024 21:49
-
-
Save claeusdev/656a70d9a9d4a87a9e12ed166088a4af to your computer and use it in GitHub Desktop.
Revisions
-
claeusdev revised this gist
Jun 28, 2024 . 1 changed file with 203 additions and 6 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -4,10 +4,39 @@ set termguicolors set nobackup set nowritebackup set encoding=utf-8 set nocompatible filetype off filetype plugin indent on set encoding=utf-8 " Set default encoding to UTF-8 set autoread " Automatically reread changed files without asking me anything set autoindent set hlsearch " Highlight found searches set mouse=a "Enable mouse mode set noerrorbells " No beeps set showcmd " Show me what I'm typing set noswapfile " Don't use swapfile set nobackup " Don't create annoying backup files set splitright " Split vertical windows right to the current windows set splitbelow " Split horizontal windows below to the current windows set autowrite " Automatically save before :next, :make etc. set hidden set fileformats=unix,dos,mac " Prefer Unix over Windows over OS 9 formats set noshowmode " We show the mode with airline or lightline set ignorecase " Search case insensitive... set smartcase " ... but not it begins with upper case set completeopt=menu,menuone set nocursorcolumn " speed up syntax highlighting set nocursorline set updatetime=300 set pumheight=10 " Completion window max size " " increase max memory to show syntax highlighting for large files set maxmempattern=20000 " color syntax enable let mapleader = " " @@ -49,23 +78,191 @@ Plug 'tpope/vim-commentary' Plug 'tpope/vim-rails' Plug 'tpope/vim-endwise' Plug 'tpope/vim-bundler' Plug 'vim-ruby/vim-ruby' " GIT " Plug 'tpope/vim-fugitive' " themes " " Plug 'chriskempson/base16-vim' " LSP settings" Plug 'w0rp/ale' " Emmet Plug 'mattn/emmet-vim' Plug 'tpope/vim-eunuch' " Filetree Plug 'preservim/nerdtree' " Call plug#end to update &runtimepath and initialize the plugin system. " - It automatically executes `filetype plugin indent on` and `syntax enable` call plug#end() " You can revert the settings after the call like so: " filetype indent off " Disable file-type-specific indentation " syntax off " Disable syntax highlighting colorscheme delek let g:ale_linters = { 'rust': ['analyzer'], 'ruby': ['rubocop', 'ruby'], 'javascript': ['prettier', 'eslint'] } let b:ale_fixers = {'javascript': ['prettier', 'eslint']} " Set this variable to 1 to fix files when you save them. let g:ale_ruby_rubocop_auto_correct_all = 1 let g:ale_fix_on_save = 1 " Always show the signcolumn, otherwise it would shift the text each time " diagnostics appear/become resolved set signcolumn=yes " Use tab for trigger completion with characters ahead and navigate " NOTE: There's always complete item selected by default, you may want to enable " no select by `"suggest.noselect": true` in your configuration file " NOTE: Use command ':verbose imap <tab>' to make sure tab is not mapped by " other plugin before putting this into your config inoremap <silent><expr> <TAB> \ coc#pum#visible() ? coc#pum#next(1) : \ CheckBackspace() ? "\<Tab>" : \ coc#refresh() inoremap <expr><S-TAB> coc#pum#visible() ? coc#pum#prev(1) : "\<C-h>" " Make <CR> to accept selected completion item or notify coc.nvim to format " <C-g>u breaks current undo, please make your own choice inoremap <silent><expr> <CR> coc#pum#visible() ? coc#pum#confirm() \: "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>" function! CheckBackspace() abort let col = col('.') - 1 return !col || getline('.')[col - 1] =~# '\s' endfunction " Use <c-space> to trigger completion if has('nvim') inoremap <silent><expr> <c-space> coc#refresh() else inoremap <silent><expr> <c-@> coc#refresh() endif " Use `[g` and `]g` to navigate diagnostics " Use `:CocDiagnostics` to get all diagnostics of current buffer in location list nmap <silent> [g <Plug>(coc-diagnostic-prev) nmap <silent> ]g <Plug>(coc-diagnostic-next) " GoTo code navigation nmap <silent> gd <Plug>(coc-definition) nmap <silent> gy <Plug>(coc-type-definition) nmap <silent> gi <Plug>(coc-implementation) nmap <silent> gr <Plug>(coc-references) " Use K to show documentation in preview window nnoremap <silent> K :call ShowDocumentation()<CR> function! ShowDocumentation() if CocAction('hasProvider', 'hover') call CocActionAsync('doHover') else call feedkeys('K', 'in') endif endfunction " Highlight the symbol and its references when holding the cursor autocmd CursorHold * silent call CocActionAsync('highlight') " Symbol renaming nmap <leader>rn <Plug>(coc-rename) " Formatting selected code xmap <leader>f <Plug>(coc-format-selected) nmap <leader>f <Plug>(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 " Applying code actions to the selected code block " Example: `<leader>aap` for current paragraph xmap <leader>a <Plug>(coc-codeaction-selected) nmap <leader>a <Plug>(coc-codeaction-selected) " Remap keys for applying code actions at the cursor position nmap <leader>ac <Plug>(coc-codeaction-cursor) " Remap keys for apply code actions affect whole buffer nmap <leader>as <Plug>(coc-codeaction-source) " Apply the most preferred quickfix action to fix diagnostic on the current line nmap <leader>qf <Plug>(coc-fix-current) " Remap keys for applying refactor code actions nmap <silent> <leader>re <Plug>(coc-codeaction-refactor) xmap <silent> <leader>r <Plug>(coc-codeaction-refactor-selected) nmap <silent> <leader>r <Plug>(coc-codeaction-refactor-selected) " Run the Code Lens action on the current line nmap <leader>cl <Plug>(coc-codelens-action) " Map function and class text objects " NOTE: Requires 'textDocument.documentSymbol' support from the language server xmap if <Plug>(coc-funcobj-i) omap if <Plug>(coc-funcobj-i) xmap af <Plug>(coc-funcobj-a) omap af <Plug>(coc-funcobj-a) xmap ic <Plug>(coc-classobj-i) omap ic <Plug>(coc-classobj-i) xmap ac <Plug>(coc-classobj-a) omap ac <Plug>(coc-classobj-a) " Remap <C-f> and <C-b> to scroll float windows/popups if has('nvim-0.4.0') || has('patch-8.2.0750') nnoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#scroll(1) : "\<C-f>" nnoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "\<C-b>" inoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? "\<c-r>=coc#float#scroll(1)\<cr>" : "\<Right>" inoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? "\<c-r>=coc#float#scroll(0)\<cr>" : "\<Left>" vnoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#scroll(1) : "\<C-f>" vnoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "\<C-b>" endif " Use CTRL-S for selections ranges " Requires 'textDocument/selectionRange' support of language server nmap <silent> <C-s> <Plug>(coc-range-select) xmap <silent> <C-s> <Plug>(coc-range-select) " Add `:Format` command to format current buffer command! -nargs=0 Format :call CocActionAsync('format') " Add `:Fold` command to fold current buffer command! -nargs=? Fold :call CocAction('fold', <f-args>) " Add `:OR` command for organize imports of the current buffer command! -nargs=0 OR :call CocActionAsync('runCommand', 'editor.action.organizeImport') " Add (Neo)Vim's native statusline support " NOTE: Please see `:h coc-status` for integrations with external plugins that " provide custom statusline: lightline.vim, vim-airline set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')} " Mappings for CoCList " Show all diagnostics nnoremap <silent><nowait> <space>a :<C-u>CocList diagnostics<cr> " Manage extensions nnoremap <silent><nowait> <space>e :<C-u>CocList extensions<cr> " Show commands nnoremap <silent><nowait> <space>c :<C-u>CocList commands<cr> " Find symbol of current document nnoremap <silent><nowait> <space>o :<C-u>CocList outline<cr> " Search workspace symbols nnoremap <silent><nowait> <space>s :<C-u>CocList -I symbols<cr> " Do default action for next item nnoremap <silent><nowait> <space>j :<C-u>CocNext<CR> " Do default action for previous item nnoremap <silent><nowait> <space>k :<C-u>CocPrev<CR> " Resume latest coc list nnoremap <silent><nowait> <space>p :<C-u>CocListResume<CR> " NERDTree config nnoremap <leader>n :NERDTreeFocus<CR> nnoremap <C-n> :NERDTree<CR> nnoremap <C-t> :NERDTreeToggle<CR> nnoremap <C-f> :NERDTreeFind<CR> set rtp+=/opt/homebrew/opt/fzf -
claeusdev created this gist
May 17, 2024 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,71 @@ set relativenumber set tabstop=4 set termguicolors set nobackup set nowritebackup set encoding=utf-8 set updatetime=300 set signcolumn=yes let base16colorspace=256 let mapleader = " " call plug#begin() " The default plugin directory will be as follows: " - Vim (Linux/macOS): '~/.vim/plugged' " - Vim (Windows): '~/vimfiles/plugged' " - Neovim (Linux/macOS/Windows): stdpath('data') . '/plugged' " You can specify a custom plugin directory by passing it as the argument " - e.g. `call plug#begin('~/.vim/plugged')` " - Avoid using standard Vim directory names like 'plugin' " Make sure you use single quotes " Shorthand notation for GitHub; translates to https://github.com/junegunn/vim-easy-align Plug 'junegunn/vim-easy-align' " Using a tagged release; wildcard allowed (requires git 1.9.2 or above) Plug 'fatih/vim-go', { 'tag': '*' } " Using a non-default branch Plug 'neoclide/coc.nvim', { 'branch': 'release' } " Post-update hook can be a lambda expression Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } " If the vim plugin is in a subdirectory, use 'rtp' option to specify its path Plug 'nsf/gocode', { 'rtp': 'vim' } "default settings" Plug 'tpope/vim-surround' Plug 'vim-airline/vim-airline' Plug 'mattn/emmet-vim' Plug 'airblade/vim-gitgutter' Plug 'valloric/youcompleteme' Plug 'tpope/vim-commentary' " Ruby/Rails " Plug 'tpope/vim-rails' Plug 'tpope/vim-endwise' Plug 'tpope/vim-bundler' " GIT " Plug 'tpope/vim-fugitive' " themes " Plug 'chriskempson/base16-vim' " LSP settings" Plug 'w0rp/ale' " Call plug#end to update &runtimepath and initialize the plugin system. " - It automatically executes `filetype plugin indent on` and `syntax enable` call plug#end() " You can revert the settings after the call like so: " filetype indent off " Disable file-type-specific indentation " syntax off " Disable syntax highlighting colorscheme base16-monokai let g:ale_linters = { 'rust': ['analyzer'] }