Last active
March 14, 2022 20:39
-
-
Save romannmk/8697b3478468ba91b5e33d47abae9989 to your computer and use it in GitHub Desktop.
Simple vimrc configuration
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 " be iMproved, required | |
filetype off " required | |
" set the runtime path to include Vundle and initialize | |
set rtp+=~/.vim/bundle/Vundle.vim | |
call vundle#begin() | |
Plugin 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' } | |
Plugin 'pangloss/vim-javascript', { 'for': ['javascript', 'javascript.jsx'] } | |
Plugin 'mxw/vim-jsx', { 'for': ['javascript', 'javascript.jsx'] } | |
Plugin 'prettier/vim-prettier', { | |
\ 'do': 'yarn install', | |
\ 'for': ['javascript', 'css', 'scss', 'json', 'graphql'] } | |
Plugin 'junegunn/limelight.vim' | |
Plugin 'junegunn/goyo.vim' | |
Plugin 'w0rp/ale' | |
Plugin 'kien/ctrlp.vim' | |
Plugin 'SirVer/ultisnips' | |
Plugin 'ap/vim-css-color' | |
Plugin 'tomtom/tcomment_vim' | |
Plugin 'romannmk/ambiance-vim' | |
Plugin 'rking/ag.vim' | |
Plugin 'jiangmiao/auto-pairs' | |
Plugin 'leafgarland/typescript-vim' | |
call vundle#end() | |
filetype plugin indent on | |
filetype plugin on | |
"basic settings | |
set encoding=utf8 | |
set hlsearch | |
set incsearch | |
set expandtab | |
set shiftround | |
set shiftwidth=2 | |
set softtabstop=2 | |
set tabstop=2 | |
set cursorline | |
set number | |
set autoindent | |
set smartindent | |
set cindent | |
set wildignore+=**/node_modules/** | |
set ignorecase | |
set smartcase | |
set numberwidth=1 | |
set undofile | |
set undodir=~/.vim/undodir | |
set autoread | |
set shell=/bin/bash | |
set laststatus=2 | |
set statusline= | |
set statusline+=%#PmenuSel# | |
set statusline+=%#LineNr# | |
set statusline+=\ %f | |
set statusline+=%m | |
set statusline+=%= | |
set statusline+=\ %p%% | |
set statusline+=\ %l:%c | |
"javascript settings | |
let g:jsx_ext_required = 0 | |
let g:javascript_plugin_jsdoc = 1 | |
let g:javascript_plugin_flow = 1 | |
let g:used_javascript_libs = 'react' | |
"ctrlp settings | |
let g:ctrlp_root_directory = "./" | |
let g:ctrlp_custom_ignore = { | |
\ 'dir': '\v[\/]\.(git|hg|svn)$', | |
\ 'file': '\v\.(exe|so|dll)$', | |
\ 'link': 'SOME_BAD_SYMBOLIC_LINKS', | |
\ } | |
let g:ctrlp_show_hidden = 1 | |
let g:ctrlp_dont_split = 'nerdtree' | |
"Goyo settings | |
let g:goyo_height= '100%' | |
let g:goyo_margin_top = 0 | |
let g:goyo_margin_bottom = 0 | |
if !exists('*s:goyo_leave') | |
function! s:goyo_enter() | |
set noshowmode | |
set noshowcmd | |
set wrap | |
set scrolloff=999 | |
endfunction | |
function! s:goyo_leave() | |
set showmode | |
set showcmd | |
set nowrap | |
set scrolloff=5 | |
source ~/.vimrc | |
endfunction | |
autocmd! User GoyoEnter nested call <SID>goyo_enter() | |
autocmd! User GoyoLeave nested call <SID>goyo_leave() | |
endif | |
autocmd! User GoyoEnter Limelight | |
autocmd! User GoyoLeave Limelight! | |
let g:limelight_conceal_ctermfg = 240 | |
"ESLint settings | |
"Ale settings | |
let g:ale_sign_error = '•' | |
let g:ale_sign_warning = '•' | |
let g:ale_linters = {'jsx': ['stylelint', 'eslint']} | |
let g:ale_fixers = {} | |
let g:ale_fixers = ['prettier'] | |
let g:ale_fix_on_save = 1 | |
let g:ale_javascript_prettier_use_local_config = 1 | |
let g:ale_sign_column_always = 1 | |
"NERDTree settings | |
let NERDTreeQuitOnOpen=1 | |
let g:NERDTreeWinSize = 40 | |
let g:NERDTreeMouseMode = 3 | |
"Ag settings | |
let g:ackprg = 'ag --vimgrep' | |
let g:ag_working_path_mode="r" | |
"Syntax and color settings | |
syntax on | |
colorscheme ambiance | |
runtime syntax/diff.vim | |
syntax match gitDiffStatLine /^ .\{-}\zs[+-]\+$/ contains=gitDiffStatAdd,gitDiffStatDelete | |
syntax match gitDiffStatAdd /+/ contained | |
syntax match gitDiffStatDelete /-/ contained | |
highlight gitDiffStatAdd ctermfg=2 | |
highlight gitDiffStatDelete ctermfg=5 | |
highlight EndOfBuffer ctermfg=0 | |
"key mapping | |
map <C-z> :Goyo<CR> | |
map <C-n> :NERDTreeToggle<CR> | |
map <C-f> :NERDTreeFind<CR> | |
map <C-s> :source ~/.vimrc<CR> | |
map <C-k> :m .-2<CR>== | |
map <C-j> :m .+1<CR>== |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment