Skip to content

Instantly share code, notes, and snippets.

@corei8
Created April 27, 2022 13:54
Show Gist options
  • Save corei8/cf026bb9b858f06ab63a35a3b7478e32 to your computer and use it in GitHub Desktop.
Save corei8/cf026bb9b858f06ab63a35a3b7478e32 to your computer and use it in GitHub Desktop.
NeoVim Settings File
" corei8.github@gmail.com neovim configuration
set tabstop=4 softtabstop=4
set shiftwidth=4
set expandtab
set smartindent
set exrc
set guicursor=i:block
set nu
set relativenumber
set nohlsearch
set hidden
set noerrorbells
set nowrap
set noswapfile
set nobackup
set undofile
set incsearch
set termguicolors
set scrolloff=8
set noshowmode
set colorcolumn=79
set signcolumn=yes
set clipboard=unnamedplus
set completeopt=menuone,noinsert,noselect
autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
call plug#begin('~/.vim/plugged')
Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
Plug 'ryanoasis/vim-devicons'
Plug 'Xuyuanp/nerdtree-git-plugin'
Plug 'tpope/vim-fugitive'
Plug 'chriskempson/base16-vim'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'nvim-telescope/telescope.nvim'
Plug 'nvim-lua/plenary.nvim'
Plug 'scrooloose/nerdcommenter'
Plug 'gruvbox-community/gruvbox'
Plug 'joshdick/onedark.vim'
Plug 'jbgutierrez/vim-better-comments'
Plug 'sheerun/vim-polyglot'
Pug 'tpope/vim-surround'
Plug 'Yggdroot/indentLine'
Plug 'w0rp/ale'
" Autocomplete
"function! BuildYCM(info)
"if a:info.status == 'installed' || a:info.force
"!./install.py
"endif
"endfunction
"Plug 'valloric/youcompleteme', { 'do': function('BuildYCM') }
"Plug 'aca/completion-tabnine', { 'do': './install.sh' }
Plug 'Chiel92/vim-autoformat'
Plug 'ahmedkhalf/project.nvim'
call plug#end()
set termguicolors
highlight Normal guibg=none
let g:onedark_italic=1
colorscheme onedark
set background=dark
hi Normal guibg=NONE ctermbg=NONE
let g:terminal_ansi_colors = [
\ '#282828', '#cc241d', '#98971a', '#d79921',
\ '#458588', '#b16286', '#689d6a', '#a89984',
\ '#928374', '#fb4934', '#b8bb26', '#fabd2f',
\ '#83a598', '#d3869b', '#8ec07c', '#ebdbb2',
\]
let mapleader = " "
" Vim Fugitive
nmap <leader>gh :diffget //3<CR>
nmap <leader>gu :diffget //3<CR>
nmap <leader>gs :G<CR>
" NerdTree
nnoremap <leader>n :NERDTreeToggle<CR>
nnoremap <silent> <Leader>v :NERDTreeFind<CR>
autocmd VimEnter * NERDTree
autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif
let NERDTreeRespectWildIgnore=1
let NERDTreeShowHidden=1
let g:NERDTreeGitStatusUseNerdFonts = 1
let NERDTreeQuitOnOpen = 1
let NERDTreeQuitOnOpen = 1
let NERDTreeAutoDeleteBuffer = 2
let NERDTreeMinimalUI = 1
let NERDTreeDirArrows = 1
let g:NERDTreeGitStatusIndicatorMapCustom = {
\ 'Modified' :'',
\ 'Staged' :'',
\ 'Untracked' :'',
\ 'Renamed' :'',
\ 'Unmerged' :'',
\ 'Deleted' :'',
\ 'Dirty' :'',
\ 'Ignored' :'',
\ 'Clean' :'✔︎',
\ 'Unknown' :'?',
\ }
" AirLine
" Note that I have added spaces to some of the symbols
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#formatter = 'unique_tail'
let g:airline_theme='onedark'
if !exists('g:airline_symbols')
let g:airline_symbols = {}
endif
let g:airline_left_sep = ''
let g:airline_left_alt_sep = ''
let g:airline_right_sep = ''
let g:airline_right_alt_sep = ''
let g:airline_symbols.branch = ''
let g:airline_symbols.readonly = ''
let g:airline_symbols.linenr = ''
let g:airline_symbols.maxlinenr = ''
let g:airline_symbols.dirty=''
" Python
augroup python_files
autocmd!
autocmd FileType python setlocal noexpandtab
autocmd FileType python set tabstop=4
autocmd FileType python set shiftwidth=4
augroup END
filetype plugin indent on
" vim-autoformat
noremap <F3> :Autoformat<CR>
" Ale
let g:ale_lint_on_enter = 0
let g:ale_lint_on_text_changed = 'never'
let g:ale_echo_msg_error_str = 'E'
let g:ale_echo_msg_warning_str = 'W'
let g:ale_echo_msg_format = '[%linter%] %s [%severity%]'
let g:ale_linters = {'python': ['flake8']}
" Telescope
nnoremap <leader>ff <cmd>Telescope find_files<cr>
nnoremap <leader>fg <cmd>Telescope live_grep<cr>
nnoremap <leader>fb <cmd>Telescope buffers<cr>
nnoremap <leader>fh <cmd>Telescope help_tags<cr>
" Project.vim
lua << EOF
require("project_nvim").setup {
patterns = { ".git", "_darcs", ".hg", ".bzr", ".svn", "Makefile", "package.json" },
show_hidden = false,
}
EOF
" Use homebrew's clangd
"let g:ycm_clangd_binary_path = trim(system('brew --prefix llvm')).'/bin/clangd'
"! Commands for vim-plug:
" PlugInstall
" PlugUpdate
" PlugStatus
" PlugClean
" PlugUpgrade
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment