Last active
December 1, 2020 11:01
-
-
Save griimick/afba7d79743287db98c72db3333005bf to your computer and use it in GitHub Desktop.
Vim configurations
This file contains 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
set nocompatible | |
filetype off | |
" | |
" Vim Vundle configurations and package list | |
" | |
set rtp+=~/.vim/bundle/Vundle.vim | |
call vundle#begin() | |
Plugin 'gmarik/Vundle.vim' | |
Plugin 'scrooloose/nerdtree' | |
Plugin 'pangloss/vim-javascript' | |
Plugin 'vim-airline/vim-airline' | |
Plugin 'jelera/vim-javascript-syntax' | |
Plugin 'Raimondi/delimitMate' | |
Plugin 'tpope/vim-fugitive' | |
Plugin 'heavenshell/vim-jsdoc' | |
Plugin 'mxw/vim-jsx' | |
Plugin 'digitaltoad/vim-pug' | |
Plugin 'dense-analysis/ale' | |
Plugin 'morhetz/gruvbox' | |
call vundle#end() | |
" | |
" Vim Airline configurations | |
" | |
set ttimeoutlen=50 | |
let g:airline#extensions#tabline#enabled = 1 | |
let g:airline#extensions#ale#enabled = 1 | |
let g:airline#extensions#hunks#enabled=0 | |
let g:airline#extensions#branch#enabled=1 | |
if !exists('g:airline_symbols') | |
let g:airline_symbols = {} | |
endif | |
let g:airline_symbols.space = "\ua0" | |
let g:airline_powerline_fonts=0 | |
" | |
" Vim Preferences | |
" | |
filetype plugin indent on | |
colorscheme gruvbox | |
"Must have options, highly recommended by community | |
set hidden | |
set wildmenu | |
set showcmd | |
set hlsearch | |
set incsearch | |
set tabstop=4 | |
set shiftwidth=4 | |
set t_Co=256 | |
syntax on | |
set mouse=a | |
set bg=dark | |
set laststatus=2 | |
set ruler | |
"Vim will store undo externally, so after closing and reopening file you can undo changes | |
"set undofile | |
set pastetoggle=<F3> | |
set ignorecase | |
set smartcase | |
set backspace=indent,eol,start | |
set smarttab autoindent | |
" | |
" Set relevant filetypes | |
" | |
autocmd BufRead,BufNewFile *.md set filetype=markdown | |
autocmd BufRead,BufNewFile *.hbs set filetype=html | |
autocmd BufRead,BufNewFile *.ejs set filetype=html | |
autocmd BufRead,BufNewFile *.njk set filetype=html | |
" | |
" Ale configurations | |
" | |
let g:ale_javascript_eslint_executable = 'eslint_d' | |
let g:ale_javascript_eslint_use_global = 1 | |
let g:ale_linters = {'javascript.jsx': ['eslint'] } | |
let g:ale_sign_error = '>>' " Less aggressive than the default '>>' | |
let g:ale_sign_warning = '--' | |
let g:ale_lint_on_enter = 1 " Less distracting when opening a new file | |
let g:ale_lint_on_insert_leave = 1 | |
let b:ale_fixers = {'javascript': ['eslint']} | |
let g:ale_fix_on_save = 1 | |
" | |
" mxw/vim-jsx | |
" | |
let g:jsx_ext_required = 0 | |
" | |
" Set number lines (relative hybrid) | |
" | |
set number relativenumber | |
augroup numbertoggle | |
autocmd! | |
autocmd BufEnter,FocusGained,InsertLeave * set relativenumber | |
autocmd BufLeave,FocusLost,InsertEnter * set norelativenumber | |
augroup END | |
" | |
" Normal mode | |
nnoremap <C-j> :m .+1<CR>== | |
nnoremap <C-k> :m .-2<CR>== | |
" Insert mode | |
inoremap <C-j> <ESC>:m .+1<CR>==gi | |
inoremap <C-k> <ESC>:m .-2<CR>==gi | |
" Visual mode | |
vnoremap <C-j> :m '>+1<CR>gv=gv | |
vnoremap <C-k> :m '<-2<CR>gv=gv |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment