" React Shop Vim Configuration " Basic settings set nocompatible set encoding=utf-8 set number set ruler set autoindent set smartindent set expandtab set tabstop=2 set shiftwidth=2 set softtabstop=2 set smarttab set backspace=indent,eol,start set incsearch set hlsearch set ignorecase set smartcase set showmatch set wildmenu set wildmode=list:longest,full set laststatus=2 set title set scrolloff=3 set sidescrolloff=5 set wrap set linebreak set mouse=a set clipboard=unnamed set history=1000 set undolevels=1000 set showcmd set showmode set hidden set ttyfast set lazyredraw set updatetime=300 " JavaScript & React specific settings syntax enable filetype plugin indent on let g:jsx_ext_required = 0 " Allow JSX in .js files autocmd FileType javascript setlocal ts=2 sts=2 sw=2 autocmd FileType javascriptreact setlocal ts=2 sts=2 sw=2 autocmd FileType typescript setlocal ts=2 sts=2 sw=2 autocmd FileType typescriptreact setlocal ts=2 sts=2 sw=2 " Better highlighting for JSX autocmd BufRead,BufNewFile *.jsx set filetype=javascriptreact autocmd BufRead,BufNewFile *.tsx set filetype=typescriptreact " Set 2 space indentation for JSON files autocmd FileType json setlocal ts=2 sts=2 sw=2 " Highlight trailing whitespace highlight ExtraWhitespace ctermbg=red guibg=red match ExtraWhitespace /\s\+$/ autocmd BufWinEnter * match ExtraWhitespace /\s\+$/ autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@ :NERDTreeToggle " let NERDTreeShowHidden=1 " Custom keybindings nnoremap :m +1 nnoremap :m -2