if &shell =~# 'fish$' set shell=sh endif filetype plugin on syntax on call plug#begin('~/.vim/plugged') Plug 'mileszs/ack.vim' Plug 'w0rp/ale' Plug 'dart-lang/dart-vim-plugin' Plug 'morhetz/gruvbox' Plug 'itchyny/lightline.vim' Plug 'scrooloose/nerdtree' Plug 'edkolev/tmuxline.vim' Plug 'leafgarland/typescript-vim' Plug 'elixir-editors/vim-elixir' Plug 'tpope/vim-endwise' Plug 'dag/vim-fish' Plug 'airblade/vim-gitgutter' Plug 'fatih/vim-go' Plug 'jparise/vim-graphql' Plug 'pangloss/vim-javascript' Plug 'reedes/vim-pencil' Plug 'vim-ruby/vim-ruby' Plug 'tpope/vim-surround' Plug 'cespare/vim-toml' Plug 'OmniSharp/omnisharp-vim' Plug 'HerringtonDarkholme/yats.vim' Plug 'MaxMEllon/vim-jsx-pretty' Plug 'junegunn/goyo.vim' Plug 'junegunn/limelight.vim' Plug 'vimwiki/vimwiki' Plug 'fsharp/vim-fsharp' Plug 'hashivim/vim-terraform' Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } call plug#end() set t_Co=256 set colorcolumn=100 set autoindent set showcmd set cursorline set wildmenu set showmatch set lazyredraw set incsearch set hlsearch set laststatus=2 set mouse=a set nowrap set number set textwidth=100 set noshowmode set background=dark set tabstop=2 set shiftwidth=2 set expandtab if exists('$TMUX') let &t_SI = "\Ptmux;\\]50;CursorShape=1\x7\\\" let &t_EI = "\Ptmux;\\]50;CursorShape=0\x7\\\" else let &t_SI = "\]50;CursorShape=1\x7" let &t_EI = "\]50;CursorShape=0\x7" endif nnoremap :FZF let mapleader = 'j' inoremap j let mapleader = ',' nnoremap n :NERDTree nnoremap p :FZF nnoremap g :ALEGoToDefinition nnoremap r :ALEFindReferences nnoremap d :ALEDetail nnoremap h :ALEHover nnoremap a :Ack nnoremap we :VimwikiAll2HTML nnoremap z :Goyo 110x100% nnoremap Z :Goyo " next line is necessary to prevent background rendering bug with kitty term let &t_ut='' let g:gruvbox_italic=1 colorscheme gruvbox let g:ackprg = 'ag --nogroup --nocolor --column' let g:lightline = { \ 'colorscheme': 'gruvbox', \} let g:ale_linters = { \ 'javascript': ['tsserver', 'eslint', 'stylelint'], \ 'go': ['golint', 'go vet', 'gopls'], \ 'typescript': ['tslint', 'tsserver', 'typecheck', 'stylelint'], \ 'make': ['checkmake'], \ 'proto': ['protoc-gen-lint'], \ 'dockerfile': ['hadolint'], \ 'dart': ['language_server', 'dartanalyzer'], \ 'fish': ['fish'], \ 'vim': ['vint'], \ 'elixir': ['credo', 'elixir-ls'], \ 'cs': ['OmniSharp'], \ 'terraform': ['terraform', 'tflint'], \} let g:ale_fixers = { \ 'go': ['goimports', 'remove_trailing_lines', 'trim_whitespace'], \ 'graphql': ['prettier'], \ 'javascript': ['prettier'], \ 'typescript': ['prettier'], \ 'css': ['prettier'], \ 'yaml': ['prettier'], \ 'json': ['prettier'], \ 'dart': ['dartfmt'], \ 'html': ['prettier'], \ 'make': ['remove_trailing_lines', 'trim_whitespace'], \ 'elixir': ['mix_format'], \ 'terraform': ['terraform'], \} let g:ale_fix_on_save = 1 let g:ale_linters_explicit = 1 let g:ale_completion_enabled = 1 let g:ale_completion_delay = 100 let g:ale_elixir_elixir_ls_release = expand('~/Documents/elixir-ls/bin') let g:OmniSharp_server_stdio = 1 let g:vimwiki_list = [{'path': '/keybase/private/mjfs/wiki'}] augroup js_ft au! autocmd BufNewFile,BufRead *.jsx set ft=javascript autocmd BufNewFile,BufRead *.tsx set ft=typescript augroup END