dotfiles
1set nocompatible
2filetype off
3set number
4syntax on
5
6set background=dark
7
8set tabstop=4
9set shiftwidth=4
10set expandtab
11
12set fillchars=vert:\|
13
14" Exit noob mode, enter the void
15noremap <Up> <Nop>
16noremap <Down> <Nop>
17noremap <Left> <Nop>
18noremap <Right> <Nop>
19
20set rtp^=~/.vim/bundle/ctrlp.vim
21set rtp+=~/.vim/bundle/Vundle.vim
22
23" Plugin management
24call vundle#begin()
25Plugin 'VundleVim/Vundle.vim'
26
27" functional stuff
28Plugin 'fpob/nette.vim'
29Plugin 'jparise/vim-graphql'
30Plugin 'leafgarland/typescript-vim'
31Plugin 'mattn/vim-lsp-settings'
32Plugin 'maxmellon/vim-jsx-pretty'
33Plugin 'pangloss/vim-javascript'
34Plugin 'prabirshrestha/vim-lsp'
35Plugin 'prettier/vim-prettier'
36Plugin 'scrooloose/nerdtree'
37Plugin 'tpope/vim-fugitive'
38Plugin 'tpope/vim-rhubarb'
39Plugin 'ctrlpvim/ctrlp.vim'
40Plugin 'ycm-core/YouCompleteMe'
41Plugin 'eslint/eslint'
42Plugin 'prisma/vim-prisma'
43Plugin 'github/copilot.vim'
44
45" colorschemes and themes
46Plugin 'AlessandroYorba/Alduin'
47Plugin 'arcticicestudio/nord-vim'
48Plugin 'danilo-augusto/vim-afterglow'
49Plugin 'jaredgorski/SpaceCamp'
50Plugin 'morhetz/gruvbox'
51Plugin 'rakr/vim-two-firewatch'
52Plugin 'ryanoasis/vim-devicons'
53Plugin 'junegunn/fzf', { 'do': { -> fzf#install() } }
54Plugin 'junegunn/fzf.vim'
55Plugin 'kadekillary/Turtles'
56
57call vundle#end()
58filetype plugin indent on
59
60let g:jsx_ext_required = 0
61
62let mapleader = " "
63
64map <leader><leader> :GitFiles<CR>
65map <leader>m :NERDTreeToggle<CR>
66:inoremap <lt>/ </<C-x><C-o><Esc>==gi
67
68" Disable annoying beeping
69set noerrorbells
70set vb t_vb=
71
72set path+=**
73
74set wildmenu
75
76let g:ctrlp_custom_ignore = 'DS_Store\|git\|tags\|storage'
77
78set clipboard=unnamed
79
80" colorscheme flags
81let g:alduin_Shout_Become_Ethereal = 1
82let g:two_firewatch_italics=1
83
84colorscheme gruvbox
85
86" Prettier
87let g:prettier#quickfix_auto_focus = 0
88" let g:prettier#autoformat = 0
89" autocmd BufWritePre *.js,*.jsx,*.ts,*.tsx,*.css,*.less,*.scss,*.graphql,*.md,*.yaml PrettierAsync
90
91hi Normal guibg=NONE ctermbg=NONE
92hi! Normal ctermbg=NONE ctermfg=NONE guifg=NONE guibg=NONE
93hi! LineNr ctermbg=NONE ctermfg=NONE guifg=NONE guibg=NONE
94
95hi NonText ctermbg=none
96hi Normal guibg=NONE ctermbg=NONE
97hi EndOfBuffer ctermfg=black
98
99" Ctags
100set tags=tags;/
101nnoremap <C-]> g<C-]>
102
103" PHP Syntax Folding
104set foldmethod=syntax
105set foldlevelstart=999
106let php_folding=1
107
108" LSP
109map ]] :rightbelow vertical :LspDefinition<CR>
110map [[ :LspHover<CR>
111
112" Fix .gql / .graphql files
113autocmd BufRead,BufNewFile *.{graphql,gql} setlocal filetype=graphql
114
115" Fix prettier
116let g:prettier#config#tab_width = 2
117let g:prettier#config#single_quote = 'false'
118let g:prettier#config#semi = 'true'
119let g:prettier#config#trailing_comma = 'all'
120let g:prettier#config#print_width = 80
121
122au BufRead,BufNewFile *.md setlocal textwidth=80
123
124" Minimalist NERDTree
125let NERDTreeMinimalUI=1
126
127let g:ycm_clangd_binary_path = trim(system('brew --prefix llvm')).'/bin/clangd'