20 set list listchars=tab:\ \ ,trail:ยท
29 set wildmode=list:longest,list:full
30 set wildignore+=*.o,*.obj,.git,*.rbc,*.class,.svn,vendor/gems/*
35 " allow backspacing over everything in insert mode
36 set backspace=indent,eol,start
38 " Show (partial) command in the status line
41 " Remember last location in file
43 au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
44 \| exe "normal g'\"" | endif
52 au FileType make set noexpandtab
54 " Thorfile, Rakefile, Vagrantfile and Gemfile are Ruby
55 au BufRead,BufNewFile {Gemfile,Rakefile,Vagrantfile,Thorfile,config.ru} set ft=ruby
57 " make Python follow PEP8 ( http://www.python.org/dev/peps/pep-0008/ )
58 au FileType python set softtabstop=4 tabstop=4 shiftwidth=4 textwidth=79
60 " snes syntax highlighting
61 au BufNewFile,BufRead *.asm,*.s set filetype=snes"
63 " load the plugin and indent settings for the detected filetype
64 filetype plugin indent on
67 " Directories for swp files
68 set backupdir=~/.vim/.backup
69 set directory=~/.vim/.backup
72 if filereadable(expand("~/.vimrc.local"))
81 map <Leader>rt :!ctags --extra=+f -R *<CR><CR>
84 " Opens an edit command with the path of the currently edited file filled in
85 " Normal mode: <Leader>e
86 map <Leader>e :e <C-R>=expand("%:p:h") . "/" <CR>
88 " Opens a tab edit command with the path of the currently edited file filled in
89 " Normal mode: <Leader>t
90 map <Leader>te :tabe <C-R>=expand("%:p:h") . "/" <CR>
92 " % to bounce from do to end etc.
93 runtime! macros/matchit.vim
96 highlight Keyword cterm=italic
99 set rtp+=/usr/local/opt/fzf
101 " Inserts the path of the currently edited file into a command
102 noremap <C-P> :FZF <CR>
104 let g:fzf_layout = { 'down': '40%' }
107 let g:AutoPairsMultilineClose = 0
110 let g:ale_linter_aliases = {'svelte': ['css', 'javascript']}
111 let g:ale_linters = {
112 \'javascript': ['eslint'],
113 \'svelte': ['stylelint', 'eslint']
116 \'javascript': ['eslint'],
117 \'svelte': ['eslint']
119 let g:ale_fix_on_save = 1
122 let g:deoplete#enable_at_startup = 1
123 inoremap <expr><tab> pumvisible() ? "\<c-n>" : "\<tab>"
124 inoremap <expr><S-tab> pumvisible() ? "\<c-p>" : "\<tab>"
127 " A E S T H E T I C S
131 let &colorcolumn="80,150"
133 " Default color scheme
137 " Map colors to vim colors
139 \ { 'fg': ['fg', 'Normal'],
140 \ 'bg': ['bg', 'Normal'],
141 \ 'hl': ['fg', 'Comment'],
142 \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'],
143 \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'],
144 \ 'hl+': ['fg', 'Statement'],
145 \ 'info': ['fg', 'PreProc'],
146 \ 'border': ['fg', 'Ignore'],
147 \ 'prompt': ['fg', 'Conditional'],
148 \ 'pointer': ['fg', 'Exception'],
149 \ 'marker': ['fg', 'Keyword'],
150 \ 'spinner': ['fg', 'Label'],
151 \ 'header': ['fg', 'Comment'] }
158 set foldmethod=syntax
164 autocmd FocusLost * :set norelativenumber
165 autocmd InsertEnter * :set norelativenumber
166 autocmd InsertLeave * :set relativenumber
167 autocmd CursorMoved * :set relativenumber
169 function! NumberToggle()
170 if(&relativenumber == 1)
177 nnoremap <C-n> :call NumberToggle()<cr>
180 " Move things up and down using Ctrl + Shift
181 nnoremap <C-S-j> :m .+1<CR>==
182 nnoremap <C-S-k> :m .-2<CR>==
183 inoremap <C-S-j> <Esc>:m .+1<CR>==gi
184 inoremap <C-S-k> <Esc>:m .-2<CR>==gi
185 vnoremap <C-S-j> :m '>+1<CR>gv=gv
186 vnoremap <C-S-k> :m '<-2<CR>gv=gv
192 call plug#begin('~/.vim/plugged')
195 Plug 'https://gitlab.com/rbdr/api-notation.vim.git'
197 Plug 'mustache/vim-mode'
198 Plug 'othree/yajs.vim'
199 Plug 'ARM9/snes-syntax-vim'
201 Plug 'leafOfTree/vim-svelte-plugin'
202 Plug 'bumaociyuan/vim-swift'
203 Plug 'udalov/kotlin-vim'
204 Plug 'tikhomirov/vim-glsl'
207 Plug 'jiangmiao/auto-pairs'
208 Plug 'tpope/vim-endwise'
209 Plug 'michaeljsmith/vim-indent-object'
212 Plug 'editorconfig/editorconfig-vim'
213 Plug 'dense-analysis/ale'
215 Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
217 Plug 'Shougo/deoplete.nvim'
218 Plug 'roxma/nvim-yarp'
219 Plug 'roxma/vim-hug-neovim-rpc'
221 Plug 'vim-scripts/LargeFile'
222 Plug 'tpope/vim-fugitive'
223 Plug 'milkypostman/vim-togglelist'
224 Plug 'jremmen/vim-ripgrep'
226 Plug 'jparise/vim-graphql'
228 " List ends here. Plugins become visible to Vim after this call.