-
-
Save n3rio/550aebab501ca5223a92bc1cbbc424a2 to your computer and use it in GitHub Desktop.
Neovim dotfile init.vim
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 characters
| " Basic config | |
| set encoding=utf-8 | |
| syntax enable | |
| set noswapfile | |
| set scrolloff=7 | |
| filetype plugin on | |
| let mapleader = "," | |
| " Basic config - Python specific | |
| set tabstop=4 | |
| set softtabstop=4 | |
| set shiftwidth=4 | |
| set expandtab | |
| set autoindent | |
| set fileformat=unix | |
| " Plugins | |
| call plug#begin('~/.vim/plugged') | |
| " Pairs completion | |
| Plug 'jiangmiao/auto-pairs' | |
| " Look and feel | |
| Plug 'preservim/nerdtree' | |
| Plug 'PhilRunninger/nerdtree-visual-selection' | |
| Plug 'ryanoasis/vim-devicons' | |
| Plug 'Xuyuanp/nerdtree-git-plugin' | |
| Plug 'vim-airline/vim-airline' | |
| Plug 'vim-airline/vim-airline-themes' | |
| Plug 'arcticicestudio/nord-vim' | |
| " Commenter | |
| Plug 'preservim/nerdcommenter' | |
| " COC | |
| Plug 'neoclide/coc.nvim', {'branch': 'release'} | |
| " fzf | |
| Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } | |
| Plug 'junegunn/fzf.vim' | |
| " Folding | |
| Plug 'tmhedberg/SimpylFold' | |
| call plug#end() | |
| colorscheme nord | |
| " Airline | |
| let g:airline#extensions#tabline#enabled = 1 | |
| let g:airline#extensions#tabline#left_sep = ' ' | |
| let g:airline#extensions#tabline#left_alt_sep = '|' | |
| " NerdTree config | |
| let g:NERDTreeGitStatusUseNerdFonts = 1 | |
| let g:NERDTreeGitStatusShowIgnored = 1 | |
| let g:NERDTreeGitStatusConcealBrackets = 1 | |
| " Nerdcommenter | |
| let g:NERDSpaceDelims = 1 | |
| let g:NERDCommentEmptyLines = 1 | |
| let g:NERDTrimTrailingWhitespace = 1 | |
| let g:NERDToggleCheckAllLines = 1 | |
| nmap <leader>c <plug>NERDCommenterToggle | |
| xmap <leader>c <plug>NERDCommenterToggle | |
| " COC config & keybinds | |
| "" 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) | |
| autocmd FileType python let b:coc_root_patterns = ['apps/', 'app/', '.git', '.env'] | |
| " NerdTree | |
| nmap <silent><F3> :NERDTreeToggle<cr> | |
| " FZF config | |
| nnoremap <silent> <leader>f :FZF<cr> | |
| nnoremap <silent> <leader>F :FZF ~<cr> | |
| " Terminal Function | |
| let g:term_buf = 0 | |
| let g:term_win = 0 | |
| function! TermToggle(height) | |
| if win_gotoid(g:term_win) | |
| hide | |
| else | |
| botright new | |
| exec "resize " . a:height | |
| try | |
| exec "buffer " . g:term_buf | |
| catch | |
| call termopen($SHELL, {"detach": 0}) | |
| let g:term_buf = bufnr("") | |
| set nonumber | |
| set norelativenumber | |
| set signcolumn=no | |
| endtry | |
| startinsert! | |
| let g:term_win = win_getid() | |
| endif | |
| endfunction | |
| " Toggle terminal on/off (neovim) | |
| nnoremap <A-t> :call TermToggle(12)<CR> | |
| inoremap <A-t> <Esc>:call TermToggle(12)<CR> | |
| tnoremap <A-t> <C-\><C-n>:call TermToggle(12)<CR> | |
| " Terminal go back to normal mode | |
| tnoremap <Esc> <C-\><C-n> | |
| tnoremap :q! <C-\><C-n>:q!<CR> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment