117 lines
2.5 KiB
VimL
117 lines
2.5 KiB
VimL
set encoding=utf-8
|
|
scriptencoding 'utf-8'
|
|
|
|
" Set leader to space
|
|
let g:mapleader = ' '
|
|
|
|
if has('autocmd')
|
|
filetype plugin indent on
|
|
endif
|
|
if has('syntax') && !exists('g:syntax_on')
|
|
syntax enable
|
|
endif
|
|
|
|
" Append work config to runtimepath and packpath.
|
|
set runtimepath+=~/.config/work
|
|
set packpath+=~/.config/work
|
|
|
|
" Disable unused providers
|
|
let g:loaded_node_provider = 0
|
|
let g:loaded_perl_provider = 0
|
|
let g:loaded_ruby_provider = 0
|
|
|
|
" Markdown fenced code block languages
|
|
let g:markdown_fenced_languages =
|
|
\ ['cpp', 'c', 'cmake', 'console', 'sh', 'vim', 'python', 'yaml']
|
|
|
|
" reStructedText enable code styles
|
|
let g:rst_style = 1
|
|
" reStructuredText code block languages
|
|
let g:rst_syntax_code_list = {
|
|
\ 'vim': ['vim'],
|
|
\ 'java': ['java'],
|
|
\ 'c': ['c'],
|
|
\ 'cpp': ['cpp', 'c++'],
|
|
\ 'console': ['console'],
|
|
\ 'python': ['python']
|
|
\ }
|
|
|
|
" Enable builtin syntax folding
|
|
let g:xml_syntax_folding = 1
|
|
let g:sh_fold_enabled = 1
|
|
|
|
if wsl#isDetected()
|
|
" Make gx work in WSL
|
|
let g:netrw_browsex_viewer='cmd.exe /C start'
|
|
endif
|
|
|
|
if tmux#inSession()
|
|
" Seemless vim/tmux pane navigation
|
|
packadd vim-tmux-navigator
|
|
let g:tmux_navigator_no_mappings = 1
|
|
" Enable focus events when in tmux session
|
|
packadd vim-tmux-focus-events
|
|
endif
|
|
|
|
" coc.nvim
|
|
let g:coc_global_extensions = [
|
|
\ 'coc-clangd',
|
|
\ 'coc-cmake',
|
|
\ 'coc-css',
|
|
\ 'coc-docker',
|
|
\ 'coc-html',
|
|
\ 'coc-jedi',
|
|
\ 'coc-json',
|
|
\ 'coc-marketplace',
|
|
\ 'coc-pyright',
|
|
\ 'coc-snippets',
|
|
\ 'coc-vimlsp',
|
|
\ 'coc-yaml',
|
|
\]
|
|
if has("win32")
|
|
let g:coc_global_extensions += [
|
|
\ 'coc-powershell'
|
|
\]
|
|
endif
|
|
let g:coc_default_semantic_highlight_groups = 0
|
|
|
|
" vim-signify
|
|
let g:signify_sign_change = '~'
|
|
|
|
" vim-textobj-entire
|
|
let g:textobj_entire_no_default_key_mappings = 1
|
|
xmap a% <Plug>(textobj-entire-a)
|
|
omap a% <Plug>(textobj-entire-a)
|
|
xmap i% <Plug>(textobj-entire-i)
|
|
omap i% <Plug>(textobj-entire-i)
|
|
" vim-textobj-comment
|
|
omap a/ <Plug>(textobj-comment-a)
|
|
xmap a/ <Plug>(textobj-comment-a)
|
|
omap i/ <Plug>(textobj-comment-i)
|
|
xmap i/ <Plug>(textobj-comment-i)
|
|
|
|
" fzf.vim
|
|
let g:fzf_action = {
|
|
\ 'ctrl-t': 'tab split',
|
|
\ 'ctrl-s': 'split',
|
|
\ 'ctrl-v': 'vsplit'
|
|
\ }
|
|
|
|
" note.vim
|
|
let g:note_directory = '~/Sync/Notes'
|
|
|
|
" vim-matchit
|
|
let g:matchup_matchparen_offscreen = {'method': 'status_manual'}
|
|
|
|
" vim-table-mode
|
|
let g:table_mode_map_prefix = '<leader>t'
|
|
let g:table_mode_toggle_map = 'M'
|
|
|
|
" DoxygenToolkit.vim
|
|
let g:DoxygenToolkit_commentType = 'C++'
|
|
|
|
" vim-spirv
|
|
let g:spirv_enable_current_id = 0
|
|
let g:spirv_enable_extinst_error = 0
|
|
let g:spirv_current_id_highlight = 'ctermbg=234, guibg=#1c1c1c'
|