Skip to content

Instantly share code, notes, and snippets.

@sdressler
Created June 1, 2021 08:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sdressler/7dbdada6cfcf7087a7d1d8a611aedbf7 to your computer and use it in GitHub Desktop.
Save sdressler/7dbdada6cfcf7087a7d1d8a611aedbf7 to your computer and use it in GitHub Desktop.
My NeoVim initrc
" True color support
let $NVIM_TUI_ENABLE_TRUE_COLOR=1
let mapleader=","
let g:ale_disable_lsp = 1
" Specify a directory for plugins (for Neovim: ~/.local/share/nvim/plugged)
call plug#begin('~/.vim/plugged')
Plug 'ctrlpvim/ctrlp.vim'
Plug 'vim-airline/vim-airline'
Plug 'ervandew/supertab'
Plug 'dense-analysis/ale'
Plug 'bronson/vim-trailing-whitespace'
Plug 'tpope/vim-fugitive'
Plug 'airblade/vim-gitgutter'
Plug 'posva/vim-vue'
Plug 'tpope/vim-dadbod'
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'yggdroot/indentline'
Plug 'arcticicestudio/nord-vim'
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
" Initialize plugin system
call plug#end()
let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
set termguicolors
colorscheme nord
set number
set nocompatible
set expandtab tabstop=4 shiftwidth=4
let &colorcolumn=join(range(120,999),",")
autocmd BufNewFile,BufRead *.cpp,*.c,*.hpp let &colorcolumn=join(range(120,999),",")
autocmd BufNewFile,BufRead *.py,*.md,*.sql let &colorcolumn=join(range(80,999),",")
" Add fzf
let $FZF_DEFAULT_COMMAND='rg -L --hidden --files'
function! RipgrepFzf(query, fullscreen)
let command_fmt = 'rg --column --line-number --no-heading --color=always --smart-case -- %s || true'
let initial_command = printf(command_fmt, shellescape(a:query))
let reload_command = printf(command_fmt, '{q}')
let spec = {'options': ['--phony', '--query', a:query, '--bind', 'change:reload:'.reload_command]}
call fzf#vim#grep(initial_command, 1, fzf#vim#with_preview(spec), a:fullscreen)
endfunction
command! -nargs=* -bang RG call RipgrepFzf(<q-args>, <bang>0)
nnoremap <leader>t :FZF<CR>
nnoremap <leader>be :CtrlPBuffer<CR>
highlight LineNr ctermfg=grey
let pyxversion=3
set so=999
let g:python3_host_prog = '/home/nethomes/sebastian/ENV/bin/python3'
set list
" Forward cycle with tab
let g:SuperTabDefaultCompletionType = "<c-n>"
let g:go_fmt_autosave = 1
autocmd BufNewFile,BufRead *.go,*.cpp,*.c setlocal expandtab shiftwidth=4 tabstop=4
autocmd BufNewFile,BufRead *.js,*.vue,*.sql,*.lua setlocal expandtab shiftwidth=2 tabstop=2
nmap <C-a> <Home>
nmap <C-e> <End>
imap <C-a> <Home>
imap <C-e> <End>
" Window split settings
set splitbelow
set splitright
" Terminal settings
tnoremap <Leader><ESC> <C-\><C-n>
" Move around with Ctrl + Arrow
tnoremap <C-Left> <C-\><C-N><C-w>h
tnoremap <C-Right> <C-\><C-N><C-w>l
tnoremap <C-Up> <C-\><C-N><C-w>k
tnoremap <C-Down> <C-\><C-N><C-w>j
inoremap <C-Left> <C-\><C-N><C-w>h
inoremap <C-Right> <C-\><C-N><C-w>l
inoremap <C-Up> <C-\><C-N><C-w>k
inoremap <C-Down> <C-\><C-N><C-w>j
nnoremap <C-Left> <C-w>h
nnoremap <C-Right> <C-w>l
nnoremap <C-Up> <C-w>k
nnoremap <C-Down> <C-w>j
" Go straight to insert mode when entering a terminal
autocmd BufWinEnter,WinEnter term://* startinsert
" Disable SQL omni complete
let g:ftplugin_sql_omni_key = '<Plug>DisableSqlOmni'
let g:loaded_sql_completion=0
let g:omni_sql_no_default_maps=1
" PGSQL plugin
let g:sql_type_default = 'pgsql'
tnoremap <Esc> <C-\><C-n>
function SetMarkdownOptions()
let g:indentLine_enabled = 0
set filetype=markdown
set conceallevel=0
endfunction
autocmd BufEnter,BufRead,BufNewFile *.md call SetMarkdownOptions()
let g:ale_sign_column_always = 1
function SetSqlOptions()
set tw=77
set formatoptions+=w
endfunction
autocmd BufEnter,BufRead,BufNewFile *.sql call SetSqlOptions()
" Markdown
" let g:vim_markdown_folding_level = 1
" let g:vim_markdown_conceal = 0
" let g:vim_markdown_conceal_code_blocks = 0
let g:markdown_folding = 1
let g:markdown_fenced_languages = ['python', 'sql', 'bash=sh', 'sh', 'yaml']
" vim-dadbod
nmap <expr> <leader>r db#op_exec()
xmap <expr> <leader>r db#op_exec()
autocmd BufReadPost *.dbout setf sql
" Load directory-local .vimrc
set exrc
let g:UltiSnipsEditSplit="tabdo"
set hidden
let g:airline_highlighting_cache = 1
highlight WhitespaceEOL ctermbg=240 guibg=red
match WhitespaceEOL /\s\+$/
lua <<EOF
require'nvim-treesitter.configs'.setup {
ensure_installed = "maintained",
highlight = {
enable = true,
},
}
EOF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment