Fix link
This commit is contained in:
@@ -0,0 +1,281 @@
|
||||
set nocompatible " be iMproved, required
|
||||
filetype off " required
|
||||
let mapleader = ";"
|
||||
let install = 0
|
||||
|
||||
if empty(glob("~/.vim/autoload/plug.vim"))
|
||||
silent execute '!mkdir -p ~/.vim/autoload'
|
||||
silent execute '!mkdir -p ~/.vim/undodir'
|
||||
silent execute '!mkdir -p ~/.vim/swapdir'
|
||||
silent execute '!curl -fLo ~/.vim/autoload/plug.vim https://raw.github.com/junegunn/vim-plug/master/plug.vim'
|
||||
let install = 1
|
||||
endif
|
||||
|
||||
call plug#begin()
|
||||
|
||||
Plug 'tpope/vim-fugitive'
|
||||
Plug 'puremourning/vimspector'
|
||||
Plug 'vim-scripts/DrawIt'
|
||||
Plug 'Bercio/vim-inkscape-insert'
|
||||
Plug 'rstacruz/sparkup', {'rtp': 'vim/'}
|
||||
|
||||
Plug 'vim-pandoc/vim-pandoc'
|
||||
Plug 'vim-pandoc/vim-pandoc-syntax'
|
||||
|
||||
Plug 'MarcWeber/vim-addon-mw-utils'
|
||||
Plug 'tomtom/tlib_vim'
|
||||
Plug 'cespare/vim-toml'
|
||||
Plug 'SirVer/ultisnips'
|
||||
Plug 'honza/vim-snippets'
|
||||
|
||||
Plug 'mhartington/oceanic-next'
|
||||
|
||||
Plug 'preservim/nerdtree'
|
||||
|
||||
Plug 'farmergreg/vim-lastplace'
|
||||
|
||||
Plug 'sk1418/HowMuch'
|
||||
|
||||
Plug 'godlygeek/tabular'
|
||||
Plug 'vim-crystal/vim-crystal'
|
||||
Plug 'stephpy/vim-yaml'
|
||||
Plug 'MaxMEllon/vim-jsx-pretty'
|
||||
Plug 'arrufat/vala.vim'
|
||||
Plug 'chaimleib/vim-renpy'
|
||||
Plug 'vhda/verilog_systemverilog.vim'
|
||||
Plug 'gregkh/kernel-coding-style'
|
||||
|
||||
Plug 'dense-analysis/ale'
|
||||
Plug 'PenguinOwl/lsp'
|
||||
Plug 'editorconfig/editorconfig-vim'
|
||||
|
||||
Plug '907th/vim-auto-save'
|
||||
|
||||
call plug#end() " required
|
||||
|
||||
if install
|
||||
set number
|
||||
PlugInstall
|
||||
q
|
||||
endif
|
||||
|
||||
filetype plugin indent on " required
|
||||
|
||||
set number
|
||||
set tabstop=2 shiftwidth=2 expandtab
|
||||
set ai
|
||||
nnoremap <expr> gp '`[' . strpart(getregtype(), 0, 1) . '`]'
|
||||
" tnoremap <ESC> <C-\><C-n>
|
||||
tnoremap <Esc> <C-W>N
|
||||
tnoremap <Esc><Esc> <C-W>N
|
||||
set timeout timeoutlen=500 " Default
|
||||
set ttimeout ttimeoutlen=100 " Set by defaults.vim
|
||||
set undofile
|
||||
set undodir=~/.vim/undodir
|
||||
set directory=~/.vim/swapdir
|
||||
set ignorecase
|
||||
set smartcase
|
||||
set nomodeline
|
||||
set exrc
|
||||
set secure
|
||||
set cursorline
|
||||
set wildmode=longest,list
|
||||
set wildmenu
|
||||
|
||||
let g:solarized_termcolors=256
|
||||
|
||||
let g:pandoc#folding#fold_yaml=1
|
||||
let g:pandoc#folding#mode = ['manual']
|
||||
let g:pandoc#folding#fdc = 0
|
||||
let g:pandoc#syntax#conceal#use=0
|
||||
let g:UltiSnipsExpandTrigger="<c-s>"
|
||||
let g:UltiSnipsJumpForwardTrigger="<c-s>"
|
||||
let g:UltiSnipsJumpBackwardTrigger="<c-z>"
|
||||
let g:UltiSnipsListSnippets="<c-a>"
|
||||
if (has("termguicolors"))
|
||||
set termguicolors
|
||||
endif
|
||||
|
||||
" Theme
|
||||
syntax enable
|
||||
colorscheme OceanicNext
|
||||
let g:airine_theme='oceanicnext'
|
||||
let g:airline_powerline_fonts = 1
|
||||
autocmd FileType help setlocal nospell
|
||||
|
||||
set laststatus=2
|
||||
set statusline=%m\ %F\ %y\ %{&fileencoding?&fileencoding:&encoding}\ %=%(C:%c\ L:%l\ %P%)
|
||||
|
||||
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree")
|
||||
\ && b:NERDTree.isTabTree()) | q | endif
|
||||
autocmd FileType gitcommit setlocal spell
|
||||
|
||||
set viminfo='20,<1000,s1000
|
||||
|
||||
hi CursorLineNr term=bold cterm=bold ctermfg=012 gui=bold
|
||||
hi EndOfBuffer ctermfg=bg guifg=#404950
|
||||
hi ALEError ctermbg=DarkRed
|
||||
hi ALEWarning ctermbg=DarkBlue
|
||||
hi SpellBad ctermbg=88
|
||||
hi SpellCap ctermbg=97 guibg=#c65d34
|
||||
hi SpellRare ctermbg=52
|
||||
hi SpellLocal ctermbg=19
|
||||
hi Pmenu ctermfg=145 ctermbg=233 guifg=#a7adba guibg=#263956
|
||||
hi PmenuSel ctermfg=145 ctermbg=233 guifg=#ffffff guibg=#0d6221
|
||||
hi Search ctermfg=243 ctermbg=221 guifg=#dfdd99 guibg=#715910
|
||||
hi! def link DiffAdded DiffAdd
|
||||
hi! def link DiffRemoved DiffDelete
|
||||
hi! def link ALEError SpellBad
|
||||
hi! def link ALEWarning SpellCap
|
||||
|
||||
inoremap <expr> <TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
|
||||
inoremap <expr> <S-TAB> pumvisible() ? "\<C-p>" : "\<TAB>"
|
||||
|
||||
noremap <leader>= :Tab /^[^=]\zs=*<return>
|
||||
noremap <leader>p <C-w><up>
|
||||
noremap <leader>; <C-w><down>
|
||||
noremap <leader>l <C-w><left>
|
||||
noremap <leader>' <C-w><right>
|
||||
noremap <leader>t :NERDTree %<return>
|
||||
noremap <leader>2 :botright terminal<return><C-w>10_
|
||||
noremap <leader>q :qa<return>
|
||||
noremap <leader>Q :qa!<return>
|
||||
noremap <leader>a :xa<return>
|
||||
noremap <leader>r :w<return>:!%:p<return>
|
||||
noremap <leader>9 :%!xxd<return>
|
||||
noremap <leader>0 :%!xxd -r<return>
|
||||
noremap <leader>e :diffput RE<return>]c
|
||||
noremap <leader>r :diffg RE<return>]c
|
||||
noremap <leader>f :ALEFix<return>
|
||||
noremap <leader>i :ALEImport<return>
|
||||
noremap <leader>x :LspCodeAction<return>
|
||||
noremap <leader>d :LspGotoDefinition<return>
|
||||
noremap <leader>D :LspGotoDeclaration<return>
|
||||
noremap <leader>w :LspShowReferences<return>
|
||||
noremap <leader>z :LspRename<return>
|
||||
noremap <leader>s :ALEDetail<return>
|
||||
noremap ]e :ALENext<return>
|
||||
noremap [e :ALEPrevious<return>
|
||||
noremap <leader>kb <Plug>VimspectorToggleBreakpoint
|
||||
noremap <leader>kr <Plug>VimspectorRestart
|
||||
noremap <leader>kc <Plug>VimspectorContinue
|
||||
noremap <leader>ks <Plug>VimspectorStepInto
|
||||
noremap <leader>kd <Plug>VimspectorStepOver
|
||||
noremap <leader>ka <Plug>VimspectorStepOut
|
||||
noremap <leader>kw <Plug>VimspectorBalloonEval
|
||||
noremap <leader>kx :VimspectorReset<return>
|
||||
noremap <leader><tab> :tab split<return>
|
||||
|
||||
let g:vimspector_sidebar_width = 40
|
||||
let g:vimspector_bottombar_height = 3
|
||||
let g:vimspector_code_minwidth = 120
|
||||
"let g:vimspector_terminal_maxwidth = 80
|
||||
"let g:vimspector_terminal_minwidth = 10
|
||||
|
||||
set mouse=a
|
||||
|
||||
set foldmethod=indent
|
||||
set foldlevel=1
|
||||
set foldclose=all
|
||||
set nofoldenable
|
||||
set foldlevel=99
|
||||
set scrolloff=7
|
||||
set noballoonevalterm
|
||||
|
||||
let g:ale_linters = #{
|
||||
\ cs: [],
|
||||
\ c: [],
|
||||
\ ruby: []
|
||||
\ }
|
||||
|
||||
let g:ale_fixers = #{
|
||||
\ python: [
|
||||
\ 'remove_trailing_lines',
|
||||
\ 'trim_whitespace',
|
||||
\ 'autoimport',
|
||||
\ 'autoflake',
|
||||
\ 'isort',
|
||||
\ 'black',
|
||||
\ ],
|
||||
\ crystal: ['crystal'],
|
||||
\ javascript: ['prettier', 'eslint'],
|
||||
\ typescript: ['prettier', 'eslint'],
|
||||
\ javascriptreact: ['prettier', 'eslint'],
|
||||
\ typescriptreact: ['prettier', 'eslint'],
|
||||
\ c: ['clang-format'],
|
||||
\ }
|
||||
|
||||
function SetupALEBuffer()
|
||||
if wordcount().chars > 50000
|
||||
let g:ale_enabled=0
|
||||
else
|
||||
let g:ale_enabled=1
|
||||
endif
|
||||
endfunction
|
||||
|
||||
set pumheight=10
|
||||
let lang_server_path = $VIRTUAL_ENV.'/bin/pyright-langserver'
|
||||
let lspOpts = #{
|
||||
\ aleSupport: 1,
|
||||
\ snippetSupport: 1,
|
||||
\ }
|
||||
let lsp_configs = [#{name: 'pyright',
|
||||
\ filetype: ['python'],
|
||||
\ path: lang_server_path,
|
||||
\ args: ['--stdio'],
|
||||
\ workspaceConfig: #{
|
||||
\ python: #{
|
||||
\ pythonPath: $VIRTUAL_ENV.'/bin/python'
|
||||
\ }}
|
||||
\ },
|
||||
\ #{name: 'tsserver',
|
||||
\ filetype: ['javascript', 'typescript', 'javascriptreact', 'typescriptreact'],
|
||||
\ path: '/usr/bin/typescript-language-server',
|
||||
\ args: ['--stdio']
|
||||
\ },
|
||||
\ #{name: 'vscode-css',
|
||||
\ filetype: ['css', 'scss', 'less'],
|
||||
\ path: 'vscode-css-language-server',
|
||||
\ args: ['--stdio'],
|
||||
\ initializationOptions: #{
|
||||
\ provideFormatter: 0
|
||||
\ }
|
||||
\ },
|
||||
\ #{name: 'omnisharp',
|
||||
\ filetype: ['cs'],
|
||||
\ path: '/usr/lib/omnisharp/OmniSharp',
|
||||
\ args: ['-z', '--languageserver', '--encoding', 'utf-8']
|
||||
\ },
|
||||
\ #{name: 'crystalline',
|
||||
\ filetype: ['crystal'],
|
||||
\ path: '/usr/bin/crystalline',
|
||||
\ args: ['--stdio'],
|
||||
\ rootSearch: ['shard.yml', '.git']
|
||||
\ },
|
||||
\ #{name: 'ruby-lsp',
|
||||
\ filetype: ['ruby'],
|
||||
\ path: '/usr/bin/ruby-lsp',
|
||||
\ rootSearch: ['Gemfile', '.git']
|
||||
\ },
|
||||
\ #{name: 'clangd',
|
||||
\ filetype: ['c', 'cpp'],
|
||||
\ path: '/usr/bin/clangd',
|
||||
\ args: ['--background-index', '--clang-tidy']
|
||||
\ }
|
||||
\ ]
|
||||
|
||||
let lsp_list = []
|
||||
|
||||
for config in lsp_configs
|
||||
if executable(config["path"])
|
||||
let lsp_list = add(lsp_list, config)
|
||||
endif
|
||||
endfor
|
||||
|
||||
autocmd BufEnter * call SetupALEBuffer()
|
||||
autocmd BufEnter *.log setlocal autoread
|
||||
autocmd User LspSetup call LspAddServer(lsp_list)
|
||||
autocmd User LspSetup call LspOptionsSet(lspOpts)
|
||||
autocmd User LspAttached let b:ale_disable_lsp = 1
|
||||
"autocmd BufEnter *.jsx call UltiSnipsAddFiletypes(["html", "javascript"])
|
||||
|
||||
Reference in New Issue
Block a user