Skip to content

Instantly share code, notes, and snippets.

@romannmk
Last active March 14, 2022 20:39
Show Gist options
  • Save romannmk/8697b3478468ba91b5e33d47abae9989 to your computer and use it in GitHub Desktop.
Save romannmk/8697b3478468ba91b5e33d47abae9989 to your computer and use it in GitHub Desktop.
Simple vimrc configuration
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