update settings and plugins

This commit is contained in:
James Dixon 2021-02-02 18:09:40 -05:00
parent ec270117b1
commit c7e64213d6

192
_vimrc
View File

@ -129,45 +129,49 @@ endif
call plug#begin(pluginDir) call plug#begin(pluginDir)
Plug 'junegunn/vim-plug' Plug 'junegunn/vim-plug'
"quality of life " == quality of life ==
Plug 'tpope/vim-surround' "normal mode keybinds
Plug 'tpope/vim-commentary' Plug 'tpope/vim-commentary'
Plug 'tpope/vim-surround'
Plug 'tpope/vim-unimpaired' Plug 'tpope/vim-unimpaired'
"command mode keybinds
Plug 'tpope/vim-rsi' Plug 'tpope/vim-rsi'
Plug 'tpope/vim-eunuch' Plug 'tpope/vim-eunuch'
Plug 'tpope/vim-repeat' Plug 'tpope/vim-repeat'
Plug 'editorconfig/editorconfig-vim'
"browser/url opener " == external tools ==
Plug 'tyru/open-browser.vim'
"git "git
Plug 'tpope/vim-fugitive' Plug 'tpope/vim-fugitive'
"visual Plug 'tpope/vim-rhubarb'
Plug 'flazz/vim-colorschemes' Plug 'tpope/vim-dispatch'
"linting Plug 'airblade/vim-gitgutter'
Plug 'w0rp/ale' "fzf
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'
"javascript/css/html " == language support ==
Plug 'pangloss/vim-javascript'
Plug 'mattn/emmet-vim'
"gdscript
Plug 'calviken/vim-gdscript3'
"go "go
Plug 'fatih/vim-go' Plug 'fatih/vim-go'
"md "ruby
Plug 'godlygeek/tabular' Plug 'vim-ruby/vim-ruby'
"html
Plug 'mattn/emmet-vim'
"markdown
Plug 'plasticboy/vim-markdown' Plug 'plasticboy/vim-markdown'
Plug 'godlygeek/tabular'
"toml "toml
Plug 'cespare/vim-toml' Plug 'cespare/vim-toml'
"linting and lsp
Plug 'w0rp/ale'
" == misc ==
Plug 'flazz/vim-colorschemes'
Plug 'editorconfig/editorconfig-vim'
Plug 'tyru/open-browser.vim'
call plug#end() call plug#end()
"syntax/filetype settings "post plugin settings
"--------------- "--------------------
syntax on
filetype plugin indent on
runtime macros/matchit.vim
"plugin settings
"---------------
"netrw "netrw
let g:netrw_banner = 0 let g:netrw_banner = 0
let g:netrw_winsize = 24 let g:netrw_winsize = 24
@ -177,39 +181,47 @@ let g:netrw_alto = 0
let g:netrw_usetab = 1 let g:netrw_usetab = 1
let g:netrw_browsex_viewer = "xdg-open" let g:netrw_browsex_viewer = "xdg-open"
let g:NetrwIsOpen = 0 "for toggle function let g:NetrwIsOpen = 0 "for toggle function
"replace netrw gx command
let g:netrw_nogx = 1 let g:netrw_nogx = 1
nmap gx <Plug>(openbrowser-smart-search)
vmap gx <Plug>(openbrowser-smart-search)
"ale "ale
let g:ale_linters = { let g:ale_linters = {
\ 'javascript': ['prettier', 'eslint'], \ 'python': ['flake8', 'pylint'],
\ 'javascript': ['eslint'],
\ 'ruby': ['rubocop'],
\ 'markdown': ['mdl', 'write-good'] \ 'markdown': ['mdl', 'write-good']
\} \}
let g:ale_fixers = { let g:ale_fixers = {
\ '*': ['remove_trailing_lines', 'trim_whitespace'], \ '*': ['remove_trailing_lines', 'trim_whitespace'],
\ 'javascript': ['eslint'], \ 'python': ['yapf', 'black'],
\ 'javascript': ['prettier', 'eslint'],
\ 'ruby': ['rubocop'],
\ 'css': ['prettier'],
\ 'scss': ['prettier'],
\ 'html': ['prettier'],
\ 'markdown': ['prettier'] \ 'markdown': ['prettier']
\} \}
let g:ale_sign_error = '->' let g:ale_sign_error = '->'
let g:ale_sign_warning = '--' let g:ale_sign_warning = '--'
let g:ale_lint_on_save = 1 let g:ale_lint_on_save = 1
let g:ale_fix_on_save = 1 let g:ale_fix_on_save_ignore = 1
highlight clear SignColumn
"vim-markdown "vim-markdown
let g:vim_markdown_folding_disabled = 1 let g:vim_markdown_folding_disabled = 1
let g:vim_markdown_no_default_key_mappings = 1
let g:vim_markdown_toc_autofit = 1 let g:vim_markdown_toc_autofit = 1
let g:vim_markdown_conceal = 0
let g:vim_markdown_frontmatter = 1
"vim-emmet
let g:user_emmet_install_global = 0
" colorschemes " colorschemes
" {{{ " colorscheme adventurous
" colorscheme 1989 " colorscheme 1989
" colorscheme PaperColor " colorscheme PaperColor
colorscheme gruvbox " colorscheme gruvbox
" colorscheme jellybeans " colorscheme jellybeans
" colorscheme molokai " colorscheme molokai
" colorscheme Benokai " colorscheme Benokai
@ -220,7 +232,7 @@ colorscheme gruvbox
" colorscheme wargrey " colorscheme wargrey
" colorscheme Tomorrow-Night-Bright " colorscheme Tomorrow-Night-Bright
" colorscheme monokai-phoenix " colorscheme monokai-phoenix
" }}} colorscheme solarized8_dark
"leader key "leader key
let mapleader=' ' let mapleader=' '
@ -313,40 +325,41 @@ function! ToggleNetrw() "make netrw toggleable <https://vi.stackexchange.com/que
endif endif
endfunction endfunction
"autogroup filetype functions
"------------------
function BashSettings()
set syntax=sh
endfunction
function PythonSettings()
xnoremap <leader>r <esc>:'<,'>:w !python3<CR>
endfunction
function GoSettings()
set noexpandtab
let g:go_auto_type_info = 1
let g:go_imports_autosave = 1
endfunction
function HtmlSettings()
syntax sync fromstart
endfunction
"autogroup group functions
"-------------------------
function SpellSettings()
setlocal spell
endfunction
function HalftabSettings()
setlocal ts=2 sts=2 sw=2 expandtab
endfunction
"auto commands
"-------------
if has("autocmd") if has("autocmd")
"global "filetype functions
"------------------
function FT_halftab()
setlocal expandtab
setlocal tabstop=2
setlocal softtabstop=2
setlocal shiftwidth=2
endfunction
function FT_python()
setlocal autoindent
setlocal formatprg=yapf
iabbr false False
iabbr true True
xnoremap <leader>r <esc>:'<,'>:w !python3<CR>
endfunction
function FT_go()
set noexpandtab
let g:go_auto_type_info = 1
let g:go_imports_autosave = 1
endfunction
function FT_html()
syntax sync fromstart
endfunction
function FT_markdown()
setlocal spell
endfunction
"global autocmds
"-----------------
augroup global augroup global
autocmd! autocmd!
"keep equal proportions when windows resized "keep equal proportions when windows resized
@ -356,28 +369,37 @@ if has("autocmd")
\ <= line("$") | exe "normal! g'\"" | endif \ <= line("$") | exe "normal! g'\"" | endif
augroup END augroup END
"general filetype autocmds
augroup filetype_bash "-------------------------
autocmd! BufNewFile,BufRead *.bash call BashSettings() augroup emmet_group
autocmd!
autocmd FileType html,css EmmetInstall
augroup END augroup END
augroup filetype_python augroup prettier_format_group
autocmd! FileType python call PythonSettings() autocmd!
autocmd FileType javascript setlocal formatprg=prettier
autocmd FileType typescript setlocal formatprg=prettier\ --parser\ typescript
autocmd FileType vue setlocal formatprg=prettier\ --parser\ vue
autocmd FileType html setlocal formatprg=prettier\ --parser\ html
autocmd FileType css setlocal formatprg=prettier\ --parser\ css
autocmd FileType scss setlocal formatprg=prettier\ --parser\ scss
autocmd FileType markdown setlocal formatprg=prettier\ --parser\ markdown
autocmd FileType json setlocal formatprg=prettier\ --parser\ json
autocmd FileType yaml setlocal formatprg=prettier\ --parser\ yaml
augroup END augroup END
augroup filetype_go augroup halftab_indent_group
autocmd! FileType go call GoSettings() autocmd!
autocmd FileType sh,bash,html,css,scss,javascript,json,toml,yaml call FT_halftab()
augroup END augroup END
augroup filetype_html "language specific autocmds
autocmd! FileType html call HtmlSettings() "--------------------------
augroup END augroup language_group
autocmd FileType python call FT_python()
augroup filetype_spell autocmd FileType go call FT_go()
autocmd! FileType markdown call SpellSettings() autocmd FileType html call FT_html()
augroup END autocmd FileType markdown call FT_markdown()
augroup filetype_halftab
autocmd! FileType html,javascript,css,json,yaml,sh call HalftabSettings()
augroup END augroup END
endif endif