Skip to content

Instantly share code, notes, and snippets.

@n3rio
Last active June 6, 2021 18:47
Show Gist options
  • Select an option

  • Save n3rio/550aebab501ca5223a92bc1cbbc424a2 to your computer and use it in GitHub Desktop.

Select an option

Save n3rio/550aebab501ca5223a92bc1cbbc424a2 to your computer and use it in GitHub Desktop.
Neovim dotfile init.vim
" 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