Linting works best when automated; below are instructions for integrating ESLint with your editor/IDE of choice. If yours isn't listed, please make a PR to add it! You can also check out ESLint's guide to editor integration here.
linter-eslint can be installed via $ npm install linter-eslint.
Flycheck is probably your best bet. This tutorial walks you through installation and configuration for ESLint, including great information on Babel.io and React/JSX integration.
SublimeLinter-eslint is maintained and seems to work well (requires SublimeLinter 3).
Syntastic is your best bet. Install it via Pathogen and ensure the following are in your .vimrc:
" Use Pathogen
execute pathogen#infect()
" Settings for Syntastic (https://github.com/scrooloose/syntastic)
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0
let g:syntastic_javascript_checkers = ['eslint']