nvim configs...
This commit is contained in:
parent
18ed19d93f
commit
fa5fa1b74f
|
|
@ -0,0 +1,89 @@
|
||||||
|
{
|
||||||
|
"coc.preferences.colorSupport": true,
|
||||||
|
"diagnostic.refreshOnInsertMode": true,
|
||||||
|
"diagnostic.hintSign": "ღ",
|
||||||
|
"diagnostic.infoSign": "ʘ",
|
||||||
|
"diagnostic.errorSign": "",
|
||||||
|
"diagnostic.warningSign": "",
|
||||||
|
"diagnostic.enable": true,
|
||||||
|
"diagnostic.signOffset": 9999999,
|
||||||
|
"diagnostic.highlightOffset": 9999999,
|
||||||
|
"diagnostic.virtualText": true,
|
||||||
|
"diagnostic.virtualTextPrefix": " ❯❯❯ ",
|
||||||
|
|
||||||
|
//CocList
|
||||||
|
"list.source.files.defaultOptions": ["--auto-preview"],
|
||||||
|
"list.source.outline.defaultOptions": ["--auto-preview"],
|
||||||
|
//prettier
|
||||||
|
"coc.preferences.formatOnSaveFiletypes": ["css","markdown"],
|
||||||
|
"prettier.statusItemText": "★ ",
|
||||||
|
"prettier.eslintIntegration": true,
|
||||||
|
"prettier.tslintIntegration": true,
|
||||||
|
"prettier.stylelintIntegration": true,
|
||||||
|
//git
|
||||||
|
"git.enableGutters": true,
|
||||||
|
"git.branchCharacter":"\uf408",
|
||||||
|
"git.addGBlameToBufferVar": true,
|
||||||
|
"git.addGBlameToVirtualText": false,
|
||||||
|
"git.virtualTextPrefix": " ❯❯❯ ",
|
||||||
|
"git.addedSign.hlGroup": "GitGutterAdd",
|
||||||
|
"git.changedSign.hlGroup": "GitGutterChange",
|
||||||
|
"git.removedSign.hlGroup": "GitGutterDelete",
|
||||||
|
"git.topRemovedSign.hlGroup": "GitGutterDelete",
|
||||||
|
"git.changeRemovedSign.hlGroup": "GitGutterChangeDelete",
|
||||||
|
|
||||||
|
"suggest.completionItemKindLabels": {
|
||||||
|
"function": "\uf794",
|
||||||
|
"method": "\uf6a6",
|
||||||
|
"variable": "\uf71b",
|
||||||
|
"constant": "\uf8ff",
|
||||||
|
"struct": "\ufb44",
|
||||||
|
"class": "\uf0e8",
|
||||||
|
"interface": "\ufa52",
|
||||||
|
"text": "\ue612",
|
||||||
|
"enum": "\uf435",
|
||||||
|
"enumMember": "\uf02b",
|
||||||
|
"module": "\uf668",
|
||||||
|
"color": "\ue22b",
|
||||||
|
"property": "\ufab6",
|
||||||
|
"field": "\uf93d",
|
||||||
|
"unit": "\uf475",
|
||||||
|
"file": "\uf471",
|
||||||
|
"value": "\uf8a3",
|
||||||
|
"event": "\ufacd",
|
||||||
|
"folder": "\uf115",
|
||||||
|
"keyword": "\uf893",
|
||||||
|
"snippet": "\uf64d",
|
||||||
|
"operator": "\uf915",
|
||||||
|
"reference": "\uf87a",
|
||||||
|
"typeParameter": "\uf278",
|
||||||
|
"default": "\uf29c"
|
||||||
|
},
|
||||||
|
|
||||||
|
"java.home": "/usr/lib/jvm/java-13-openjdk/",
|
||||||
|
"eslint.trace.server": "verbose",
|
||||||
|
"languageserver": {
|
||||||
|
"ccls": {
|
||||||
|
"command": "ccls",
|
||||||
|
"filetypes": [
|
||||||
|
"c",
|
||||||
|
"cpp",
|
||||||
|
"objc",
|
||||||
|
"objcpp"],
|
||||||
|
"rootPatterns": [
|
||||||
|
".ccls",
|
||||||
|
"compile_commands.json",
|
||||||
|
".vim/",
|
||||||
|
".git/",
|
||||||
|
".hg/"],
|
||||||
|
"initializationOptions": {
|
||||||
|
"cache": {
|
||||||
|
"directory": "/tmp/ccls"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"java.errors.incompleteClasspath.severity": "ignore",
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,150 @@
|
||||||
|
"***********************************************************************************
|
||||||
|
" __ ___ _ ____ __ __ _
|
||||||
|
" / |/ / ___ _ (_) ___ / __/ ___ / /_ / /_ (_) ___ ___ _ ___
|
||||||
|
" / /|_/ / / _ `/ / / / _ \ _\ \ / -_)/ __// __/ / / / _ \ / _ `/ (_-<
|
||||||
|
"/_/ /_/ \_,_/ /_/ /_//_/ /___/ \__/ \__/ \__/ /_/ /_//_/ \_, / /___/
|
||||||
|
" /___/
|
||||||
|
"
|
||||||
|
"***********************************************************************************
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
" Colorscheme
|
||||||
|
colorscheme nord
|
||||||
|
|
||||||
|
augroup specify_filetype
|
||||||
|
autocmd!
|
||||||
|
autocmd BufRead,BufNewFile *.md set filetype=markdown
|
||||||
|
autocmd BufRead,BufNewFile *.txt set filetype=text
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
|
||||||
|
" Longer leader key timeout
|
||||||
|
set timeout timeoutlen=1500
|
||||||
|
|
||||||
|
" Enable spell-checking for certain files
|
||||||
|
autocmd FileType text,markdown setlocal spell
|
||||||
|
|
||||||
|
" Limit line length for text files
|
||||||
|
autocmd FileType text,markdown,tex setlocal textwidth=180
|
||||||
|
|
||||||
|
" Don't automatically collapse markdown
|
||||||
|
set conceallevel=0
|
||||||
|
|
||||||
|
" Don't display mode in command line (airline already shows it)
|
||||||
|
set noshowmode
|
||||||
|
|
||||||
|
" Automatically re-read file if a change was detected outside of vim
|
||||||
|
set autoread
|
||||||
|
|
||||||
|
" no case-sensitive search unless uppercase is present
|
||||||
|
set ignorecase
|
||||||
|
set smartcase
|
||||||
|
|
||||||
|
" Enable mouse scroll
|
||||||
|
set mouse=a
|
||||||
|
|
||||||
|
" Allow a new buffer to be opened without saving current
|
||||||
|
set hidden
|
||||||
|
|
||||||
|
" Statusline Config
|
||||||
|
set statusline+=%F
|
||||||
|
set cmdheight=1
|
||||||
|
|
||||||
|
" Tab Settings
|
||||||
|
set expandtab
|
||||||
|
set tabstop=2
|
||||||
|
set softtabstop=2
|
||||||
|
set shiftwidth=2
|
||||||
|
set smarttab
|
||||||
|
set autoindent
|
||||||
|
set smartindent
|
||||||
|
set shiftround
|
||||||
|
|
||||||
|
" Enable syntax highlighting
|
||||||
|
syntax on
|
||||||
|
|
||||||
|
" Print syntax highlighting.
|
||||||
|
set printoptions+=syntax:y
|
||||||
|
|
||||||
|
" Matching braces/tags
|
||||||
|
set showmatch
|
||||||
|
|
||||||
|
" Keep a backup file.
|
||||||
|
"set backup
|
||||||
|
|
||||||
|
" Save undo tree.
|
||||||
|
"set undofile
|
||||||
|
|
||||||
|
" Do not back up temporary files.
|
||||||
|
set backupskip=/tmp/*,/private/tmp/*"
|
||||||
|
|
||||||
|
" Store backup files in one place.
|
||||||
|
set backupdir^=$HOME/.config/nvim//storage/backups//
|
||||||
|
|
||||||
|
" Store swap files in one place.
|
||||||
|
set dir^=$HOME/.config/nvim//storage/swaps//
|
||||||
|
|
||||||
|
" Store undo files in one place.
|
||||||
|
set undodir^=$HOME/.config/nvim/storage/undos//
|
||||||
|
|
||||||
|
" No line wrapping
|
||||||
|
set nowrap
|
||||||
|
|
||||||
|
" Turns on detection for fyletypes, indentation files and plugin files
|
||||||
|
filetype plugin indent on
|
||||||
|
|
||||||
|
" Split window appears right the current one.
|
||||||
|
set splitright
|
||||||
|
|
||||||
|
" Make sure compatible mode is disabled
|
||||||
|
set nocompatible
|
||||||
|
|
||||||
|
" Share yank buffer with system clipboard
|
||||||
|
set clipboard=unnamedplus
|
||||||
|
|
||||||
|
" Show next 3 lines while scrolling.
|
||||||
|
if !&scrolloff
|
||||||
|
set scrolloff=3
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Show next 5 columns while side-scrolling.
|
||||||
|
if !&sidescrolloff
|
||||||
|
set sidescrolloff=5
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Jump to the last known position when reopening a file.
|
||||||
|
if has("autocmd")
|
||||||
|
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
|
||||||
|
\| exe "normal! g'\"" | endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Relative line numbers
|
||||||
|
set number
|
||||||
|
augroup numbertoggle
|
||||||
|
autocmd!
|
||||||
|
autocmd BufEnter,FocusGained,InsertLeave * set relativenumber
|
||||||
|
autocmd BufLeave,FocusLost,InsertEnter * set norelativenumber
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
|
||||||
|
" Subscript digraphs for maths
|
||||||
|
"alphsubs ---------------------- {{{
|
||||||
|
execute "digraphs ks " . 0x2096
|
||||||
|
execute "digraphs as " . 0x2090
|
||||||
|
execute "digraphs es " . 0x2091
|
||||||
|
execute "digraphs hs " . 0x2095
|
||||||
|
execute "digraphs is " . 0x1D62
|
||||||
|
execute "digraphs ks " . 0x2096
|
||||||
|
execute "digraphs ls " . 0x2097
|
||||||
|
execute "digraphs ms " . 0x2098
|
||||||
|
execute "digraphs ns " . 0x2099
|
||||||
|
execute "digraphs os " . 0x2092
|
||||||
|
execute "digraphs ps " . 0x209A
|
||||||
|
execute "digraphs rs " . 0x1D63
|
||||||
|
execute "digraphs ss " . 0x209B
|
||||||
|
execute "digraphs ts " . 0x209C
|
||||||
|
execute "digraphs us " . 0x1D64
|
||||||
|
execute "digraphs vs " . 0x1D65
|
||||||
|
execute "digraphs xs " . 0x2093
|
||||||
|
"}}}
|
||||||
|
|
@ -0,0 +1,119 @@
|
||||||
|
"###################################################################################
|
||||||
|
" __ ___ _
|
||||||
|
" / |/ /____ _ ____ ____ (_)____ ____ _ _____
|
||||||
|
" / /|_/ // __ `// __ \ / __ \ / // __ \ / __ `// ___/
|
||||||
|
" / / / // /_/ // /_/ // /_/ // // / / // /_/ /(__ )
|
||||||
|
" /_/ /_/ \__,_// .___// .___//_//_/ /_/ \__, //____/
|
||||||
|
" /_/ /_/ /____/
|
||||||
|
"
|
||||||
|
"###################################################################################
|
||||||
|
|
||||||
|
"***********************************************************************************
|
||||||
|
|
||||||
|
" Main Vim Keybinds
|
||||||
|
|
||||||
|
"***********************************************************************************
|
||||||
|
|
||||||
|
|
||||||
|
" Set leader to space bar
|
||||||
|
let mapleader = " "
|
||||||
|
let maplocalleader = " "
|
||||||
|
|
||||||
|
" Window Navigation
|
||||||
|
" Navigate to left window.
|
||||||
|
nnoremap <C-h> <C-w>h
|
||||||
|
" Navigate to down window.
|
||||||
|
nnoremap <C-j> <C-w>j
|
||||||
|
" Navigate to top window.
|
||||||
|
nnoremap <C-k> <C-w>k
|
||||||
|
" Navigate to right window.
|
||||||
|
nnoremap <C-l> <C-w>l
|
||||||
|
" Horizontal split then move to bottom window.
|
||||||
|
nnoremap <Leader>- <C-w>s
|
||||||
|
" Vertical split then move to right window.
|
||||||
|
nnoremap <Leader>\| <C-w>v<C-w>l
|
||||||
|
" Cycle tabs with Tab and Shift+Tab
|
||||||
|
nnoremap<silent> <Tab> :bnext<CR>
|
||||||
|
nnoremap<silent> <S-Tab> :bprevious<CR>
|
||||||
|
" Kill buffer with Space+bk
|
||||||
|
nnoremap<silent> <Space>bk :bdelete<CR>
|
||||||
|
|
||||||
|
"Faster ESC.
|
||||||
|
inoremap jk <ESC>
|
||||||
|
inoremap kj <ESC>
|
||||||
|
|
||||||
|
" Indent controls
|
||||||
|
" Reselect text ater indent/unindent.
|
||||||
|
vnoremap < <gv
|
||||||
|
vnoremap > >gv
|
||||||
|
" Tab to indent in visual mode.
|
||||||
|
vnoremap <Tab> >gv
|
||||||
|
" Shift+Tab to unindent in visual mode.
|
||||||
|
vnoremap <S-Tab> <gv
|
||||||
|
|
||||||
|
" Text alignment
|
||||||
|
nnoremap <Leader>Al :left<CR>
|
||||||
|
nnoremap <Leader>Ac :center<CR>
|
||||||
|
nnoremap <Leader>Ar :right<CR>
|
||||||
|
vnoremap <Leader>Al :left<CR>
|
||||||
|
vnoremap <Leader>Ac :center<CR>
|
||||||
|
vnoremap <Leader>Ar :right<CR>
|
||||||
|
|
||||||
|
"***********************************************************************************
|
||||||
|
|
||||||
|
" Plugin specific keybinds
|
||||||
|
|
||||||
|
"***********************************************************************************
|
||||||
|
|
||||||
|
" Git status
|
||||||
|
nnoremap <Leader>gs :Gstatus<cr>
|
||||||
|
" Git diff in split window
|
||||||
|
nnoremap <Leader>gd :Gdiffsplit<cr>
|
||||||
|
" Git commit
|
||||||
|
nnoremap <Leader>gc :Gcommit<cr>
|
||||||
|
" Git push
|
||||||
|
nnoremap <Leader>gP :Gpush<cr>
|
||||||
|
" Git pull
|
||||||
|
nnoremap <Leader>gp :Gpull<cr>
|
||||||
|
" Git move
|
||||||
|
nnoremap <Leader>gm :Gmove<cr>
|
||||||
|
" Git merge
|
||||||
|
nnoremap <Leader>gM :Gmerge<cr>
|
||||||
|
" browse current file on web
|
||||||
|
nnoremap <Leader>gb :Gbrowse<cr>
|
||||||
|
" browse current line on web
|
||||||
|
nnoremap <Leader>gbl :CocCommand git.browserOpen<cr>
|
||||||
|
" View chunk information in preview window.
|
||||||
|
nnoremap <Leader>gh :CocCommand git.chunkInfo<cr>
|
||||||
|
" View commit information in preview window.
|
||||||
|
nnoremap <Leader>gsc :CocCommand git.showCommit<cr>
|
||||||
|
" Toggle git gutter sign columns
|
||||||
|
nnoremap <Leader>gg :CocCommand git.toggleGutters<cr>
|
||||||
|
|
||||||
|
|
||||||
|
" NERD Commenter
|
||||||
|
" Toggle comments in visual or normal mode
|
||||||
|
nnoremap <leader>n :call NERDComment(0,"toggle")<cr>
|
||||||
|
vnoremap <leader>n :call NERDComment(1,"toggle")<cr>
|
||||||
|
" Toggle a sexy comment
|
||||||
|
nnoremap <leader>ns :call NERDComment(0,"sexy")<cr>
|
||||||
|
vnoremap <leader>ns :call NERDComment(1,"sexy")<cr>
|
||||||
|
" append a comment
|
||||||
|
nnoremap <leader>na :call NERDComment(0,"append")<cr>
|
||||||
|
vnoremap <leader>na :call NERDComment(1,"append")<cr>
|
||||||
|
" uncomment section
|
||||||
|
nnoremap <leader>nu :call NERDComment(0,"uncomment")<cr>
|
||||||
|
vnoremap <leader>nu :call NERDComment(1,"uncomment")<cr>
|
||||||
|
" invert comments
|
||||||
|
nnoremap <leader>ni :call NERDComment(0,"invert")<cr>
|
||||||
|
vnoremap <leader>ni :call NERDComment(1,"invert")<cr>
|
||||||
|
" comment section
|
||||||
|
nnoremap <leader>nc :call NERDComment(0,"comment")<cr>
|
||||||
|
vnoremap <leader>nc :call NERDComment(1,"comment")<cr>
|
||||||
|
"
|
||||||
|
|
||||||
|
" Fuzzy Finding
|
||||||
|
" fuzzy find files
|
||||||
|
nnoremap <silent> <Leader>ff :Files<CR>
|
||||||
|
" fuzzy find tags
|
||||||
|
nnoremap <silent> <Leader>ft :Vista finder ctags<CR>
|
||||||
|
|
@ -0,0 +1,404 @@
|
||||||
|
"*****************************************************************************************
|
||||||
|
" ___ __ _ ____ __ __ _
|
||||||
|
" / _ \ / / __ __ ___ _ (_) ___ / __/ ___ / /_ / /_ (_) ___ ___ _ ___
|
||||||
|
" / ___/ / / / // / / _ `/ / / / _ \ _\ \ / -_)/ __// __/ / / / _ \ / _ `/ (_-<
|
||||||
|
"/_/ /_/ \_,_/ \_, / /_/ /_//_/ /___/ \__/ \__/ \__/ /_/ /_//_/ \_, / /___/
|
||||||
|
" /___/ /___/
|
||||||
|
"
|
||||||
|
"*****************************************************************************************
|
||||||
|
"""""""""""""""
|
||||||
|
" Tmuxline "
|
||||||
|
" """""""""""""
|
||||||
|
let g:tmuxline_preset = {
|
||||||
|
\'a' : '#S',
|
||||||
|
\'b' : '#W',
|
||||||
|
\'c' : ['#(~/.config/Scripts/showip)'],
|
||||||
|
\'win' : ['#I', '#W'],
|
||||||
|
\'cwin' : ['#I', '#W', '#F'],
|
||||||
|
\'y' : ['%R', '%a', '%Y'],
|
||||||
|
\'z' : '#H'}
|
||||||
|
|
||||||
|
""""""""""""""""
|
||||||
|
" Git Gutter "
|
||||||
|
"""""""""""""""
|
||||||
|
let g:gitgutter_enabled = 1
|
||||||
|
let g:gitgutter_grep=''
|
||||||
|
|
||||||
|
"""""""""""
|
||||||
|
" VimTex "
|
||||||
|
"""""""""""
|
||||||
|
let g:latex_view_general_viewer = "zathura"
|
||||||
|
let g:vimtex_view_method = "zathura"
|
||||||
|
let g:tex_flavor = "latex"
|
||||||
|
let g:vimtex_quickfix_open_on_warning = 0
|
||||||
|
let g:vimtex_quickfix_mode = 2
|
||||||
|
let g:vimtex_compiler_method = "latexmk"
|
||||||
|
let g:vimtex_compiler_progname = 'nvr'
|
||||||
|
let g:vimtex_compiler_latexmk = {
|
||||||
|
\ 'background' : 1,
|
||||||
|
\ 'build_dir' : '',
|
||||||
|
\ 'callback' : 1,
|
||||||
|
\ 'continuous' : 1,
|
||||||
|
\ 'executable' : 'latexmk',
|
||||||
|
\ 'options' : [
|
||||||
|
\ '-verbose',
|
||||||
|
\ '-file-line-error',
|
||||||
|
\ '-synctex=1',
|
||||||
|
\ '-interaction=nonstopmode',
|
||||||
|
\ ],
|
||||||
|
\}
|
||||||
|
|
||||||
|
"""""""""""
|
||||||
|
" Goyo "
|
||||||
|
"""""""""""
|
||||||
|
nmap <F6> :Goyo<CR>
|
||||||
|
|
||||||
|
|
||||||
|
"""""""""""
|
||||||
|
" Vista "
|
||||||
|
"""""""""""
|
||||||
|
nmap <F8> :Vista!!<CR>
|
||||||
|
let g:vista_executive_for = {
|
||||||
|
\ 'c': 'coc',
|
||||||
|
\ }
|
||||||
|
nnoremap <silent><leader>vf :Vista finder coc<CR>
|
||||||
|
let g:vista_icon_indent = ["╰─▸ ", "├─▸ "]
|
||||||
|
let g:vista#renderer#enable_icon = 1
|
||||||
|
let g:vista_sidebar_width = 50
|
||||||
|
|
||||||
|
""""""""""""
|
||||||
|
"NerdTree "
|
||||||
|
""""""""""""
|
||||||
|
" if nerdtree is only window, kill nerdtree so buffer can die
|
||||||
|
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | :bdelete | endif
|
||||||
|
map <F7> :NERDTreeToggle<CR>
|
||||||
|
let nerdtreequitonopen = 0
|
||||||
|
let NERDTreeShowHidden=1
|
||||||
|
let nerdchristmastree=1
|
||||||
|
let g:NERDTreeMinimalUI = 1
|
||||||
|
let g:nerdtreewinsize = 25
|
||||||
|
let g:NERDTreeDirArrowExpandable = '▷'
|
||||||
|
let g:NERDTreeDirArrowCollapsible = '▼'
|
||||||
|
let NERDTreeAutoCenter=1
|
||||||
|
let g:NERDTreeIndicatorMapCustom = {
|
||||||
|
\ "modified" : "✹",
|
||||||
|
\ "staged" : "✚",
|
||||||
|
\ "untracked" : "✭",
|
||||||
|
\ "renamed" : "➜",
|
||||||
|
\ "unmerged" : "═",
|
||||||
|
\ "deleted" : "✖",
|
||||||
|
\ "dirty" : "✗",
|
||||||
|
\ "clean" : "✔︎",
|
||||||
|
\ 'ignored' : '☒',
|
||||||
|
\ "unknown" : "?"
|
||||||
|
\ }
|
||||||
|
|
||||||
|
|
||||||
|
""""""""""""
|
||||||
|
"Airline "
|
||||||
|
""""""""""""
|
||||||
|
"main settings
|
||||||
|
let g:airline_theme='nord'
|
||||||
|
let g:airline_powerline_fonts = 1
|
||||||
|
let g:airline_symbols = {}
|
||||||
|
let g:airline_skip_empty_sections = 1
|
||||||
|
let g:airline_left_sep = ''
|
||||||
|
let g:airline_left_alt_sep = ''
|
||||||
|
let g:airline_right_sep = ''
|
||||||
|
let g:airline_right_alt_sep = ''
|
||||||
|
let g:airline_symbols_branch = ''
|
||||||
|
let g:airline_powerline_fonts = 1
|
||||||
|
let g:airline_symbols.crypt = ''
|
||||||
|
let g:airline_symbols.linenr = '☰'
|
||||||
|
let g:airline_symbols.linenr = '␊'
|
||||||
|
let g:airline_symbols.linenr = ''
|
||||||
|
let g:airline_symbols.linenr = '¶'
|
||||||
|
let g:airline_symbols.maxlinenr = ''
|
||||||
|
let g:airline_symbols.paste = 'ρ'
|
||||||
|
let g:airline_symbols.paste = 'Þ'
|
||||||
|
let g:airline_symbols.paste = '∥'
|
||||||
|
let g:airline_symbols.spell = 'Ꞩ'
|
||||||
|
let g:airline_symbols.notexists = 'Ɇ'
|
||||||
|
let g:airline_symbols.whitespace = 'Ξ'
|
||||||
|
let g:airline_symbols.modified = ' '
|
||||||
|
let g:airline_section_error = '%{airline#util#wrap(airline#extensions#coc#get_error(),0)}'
|
||||||
|
let g:airline_section_warning = '%{airline#util#wrap(airline#extensions#coc#get_warning(),0)}'
|
||||||
|
"extensions
|
||||||
|
let g:airline#extensions#tabline#enabled = 1
|
||||||
|
let g:airline#extensions#ale#enabled = 1
|
||||||
|
let g:airline#extensions#coc#enabled = 1
|
||||||
|
let g:airline#extensions#unicode#enabled = 1
|
||||||
|
let g:airline#extensions#branch#enabled = 1
|
||||||
|
let g:airline#extensions#vista#enabled = 1
|
||||||
|
let g:airline#extensions#hunks#enabled = 1
|
||||||
|
"extension settings
|
||||||
|
let airline#extensions#coc#stl_format_err = '%E{[%e(#%fe)]}'
|
||||||
|
let airline#extensions#coc#stl_format_warn = '%W{[%w(#%fw)]}'
|
||||||
|
let airline#extensions#coc#warning_symbol = ':'
|
||||||
|
let airline#extensions#coc#error_symbol = ':'
|
||||||
|
let g:airline#extensions#hunks#hunk_symbols = [':', ':', ':']
|
||||||
|
let g:airline#extensions#branch#format = 2
|
||||||
|
|
||||||
|
|
||||||
|
"""""""""""""
|
||||||
|
"Devicons "
|
||||||
|
"""""""""""""
|
||||||
|
let g:webdevicons_enable = 1
|
||||||
|
let g:webdevicons_enable_unite = 1
|
||||||
|
let g:webdevicons_enable_denite = 1
|
||||||
|
let g:webdevicons_enable_nerdtree = 1
|
||||||
|
let g:webdevicons_enable_airline_tabline = 1
|
||||||
|
let g:webdevicons_enable_vimfiler = 1
|
||||||
|
let g:WebDevIconsUnicodeDecorateFileNodes = 1
|
||||||
|
let g:WebDevIconsUnicodeDecorateFolderNodes = 1
|
||||||
|
let g:WebDevIconsUnicodeGlyphDoubleWidth = 1
|
||||||
|
let g:webdevicons_enable_airline_statusline = 1
|
||||||
|
let g:WebDevIconsNerdTreeGitPluginForceVAlign = 1
|
||||||
|
let g:WebDevIconsUnicodeGlyphDoubleWidth = 1
|
||||||
|
let g:WebDevIconsUnicodeDecorateFolderNodesDefaultSymbol = ''
|
||||||
|
let g:DevIconsDefaultFolderOpenSymbol = ''
|
||||||
|
|
||||||
|
"""""""""""""""""
|
||||||
|
"Comfy-Scroll "
|
||||||
|
"""""""""""""""""
|
||||||
|
noremap <silent> <ScrollWheelDown> :call comfortable_motion#flick(40)<CR>
|
||||||
|
noremap <silent> <ScrollWheelUp> :call comfortable_motion#flick(-40)<CR>
|
||||||
|
let g:comfortable_motion_friction = 50.0
|
||||||
|
let g:comfortable_motion_air_drag = 1.0
|
||||||
|
|
||||||
|
""""""""""
|
||||||
|
" Emoji "
|
||||||
|
""""""""""
|
||||||
|
set completefunc=emoji#complete
|
||||||
|
|
||||||
|
|
||||||
|
"""""""""""""""""
|
||||||
|
"Indent Guides "
|
||||||
|
"""""""""""""""""
|
||||||
|
"let g:indentLine_char = '▏'
|
||||||
|
let g:indentLine_char_list = ['|', '¦', '┆', '┊']
|
||||||
|
|
||||||
|
let g:indent_guides_auto_colors = 1
|
||||||
|
let g:indentLine_fileTypeExclude = [
|
||||||
|
\'defx',
|
||||||
|
\'markdown',
|
||||||
|
\'denite',
|
||||||
|
\'startify',
|
||||||
|
\'tagbar',
|
||||||
|
\'vista_kind',
|
||||||
|
\'vista'
|
||||||
|
\]
|
||||||
|
|
||||||
|
"""""""""""""
|
||||||
|
"Autopairs "
|
||||||
|
"""""""""""""
|
||||||
|
let g:AutoPairsFlyMode = 1
|
||||||
|
|
||||||
|
"""""""""""""
|
||||||
|
"Ultinsips "
|
||||||
|
"""""""""""""
|
||||||
|
" These were interfering with coc.nvims completion keybinds
|
||||||
|
"let g:UltiSnipsExpandTrigger="<tab>"
|
||||||
|
"let g:UltiSnipsJumpForwardTrigger="<c-b>"
|
||||||
|
"let g:UltiSnipsJumpBackwardTrigger="<c-z>"
|
||||||
|
"let g:UltiSnipsListSnippets="<c-tab>"
|
||||||
|
|
||||||
|
""""""""""""
|
||||||
|
"Startify "
|
||||||
|
""""""""""""
|
||||||
|
function! s:center(lines) abort
|
||||||
|
let longest_line = max(map(copy(a:lines), 'strwidth(v:val)'))
|
||||||
|
let centered_lines = map(copy(a:lines),
|
||||||
|
\ 'repeat(" ", (&columns / 2) - (longest_line / 2)) . v:val')
|
||||||
|
return centered_lines
|
||||||
|
endfunction
|
||||||
|
let s:header= [
|
||||||
|
\"▄▀▀▄ ▄▀▀▄ ▄▀▀█▀▄ ▄▀▀▄ ▄▀▄ ▄▀▀▄▀▀▀▄ ▄▀▀█▄▄▄▄ ▄▀▀█▄ ▄▀▀▄▀▀▀▄ ▄▀▀█▄▄▄▄ ▄▀▀▄▀▀▀▄ ",
|
||||||
|
\"█ █ █ █ █ █ █ █ ▀ █ █ █ █ ▐ ▄▀ ▐ ▐ ▄▀ ▀▄ █ █ █ ▐ ▄▀ ▐ █ █ █ ",
|
||||||
|
\"▐ █ █ ▐ █ ▐ ▐ █ █ ▐ █▀▀█▀ █▄▄▄▄▄ █▄▄▄█ ▐ █▀▀▀▀ █▄▄▄▄▄ ▐ █▀▀█▀ ",
|
||||||
|
\" █ ▄▀ █ █ █ ▄▀ █ █ ▌ ▄▀ █ █ █ ▌ ▄▀ █ ",
|
||||||
|
\" ▀▄▀ ▄▀▀▀▀▀▄ ▄▀ ▄▀ █ █ ▄▀▄▄▄▄ █ ▄▀ ▄▀ ▄▀▄▄▄▄ █ █ ",
|
||||||
|
\" █ █ █ █ ▐ ▐ █ ▐ ▐ ▐ █ █ ▐ ▐ ▐ ",
|
||||||
|
\" ▐ ▐ ▐ ▐ ▐ ▐ ▐ ",
|
||||||
|
\"",
|
||||||
|
\"",
|
||||||
|
\" ;::::;",
|
||||||
|
\" ;::::; :;",
|
||||||
|
\" ;:::::' :;",
|
||||||
|
\" ;:::::; ;.",
|
||||||
|
\" ,:::::' ; OOO\ ",
|
||||||
|
\" ::::::; ; OOOOO\ ",
|
||||||
|
\" ;:::::; ; OOOOOOOO",
|
||||||
|
\" ,;::::::; ;' / OOOOOOO",
|
||||||
|
\" ;:::::::::`. ,,,;. / / DOOOOOO",
|
||||||
|
\" .';:::::::::::::::::;, / / DOOOO",
|
||||||
|
\" ,::::::;::::::;;;;::::;, / / DOOO",
|
||||||
|
\" ;`::::::`'::::::;;;::::: ,#/ / DOOO",
|
||||||
|
\" :`:::::::`;::::::;;::: ;::# / DOOO",
|
||||||
|
\" ::`:::::::`;:::::::: ;::::# / DOO",
|
||||||
|
\" `:`:::::::`;:::::: ;::::::#/ DOO",
|
||||||
|
\" :::`:::::::`;; ;:::::::::## OO",
|
||||||
|
\" ::::`:::::::`;::::::::;:::# OO",
|
||||||
|
\" `:::::`::::::::::::;'`:;::# O",
|
||||||
|
\" `:::::`::::::::;' / / `:#",
|
||||||
|
\" ::::::`:::::;' / / `#",
|
||||||
|
\]
|
||||||
|
|
||||||
|
let g:startify_change_to_dir = 1
|
||||||
|
let g:startify_custom_header = s:center(s:header)
|
||||||
|
" Optionally create and use footer
|
||||||
|
"let s:header= []
|
||||||
|
"let g:startify_custom_footer = s:center(s:footer)
|
||||||
|
|
||||||
|
"""""""
|
||||||
|
"COC "
|
||||||
|
"""""""
|
||||||
|
|
||||||
|
" Define Error Symbols and colors
|
||||||
|
let g:coc_status_warning_sign = ''
|
||||||
|
let g:coc_status_error_sign = ''
|
||||||
|
hi CocWarningSign ctermfg=blue
|
||||||
|
hi CocErrorSign ctermfg=red
|
||||||
|
hi CocInfoSign ctermfg=yellow
|
||||||
|
hi CocHintSign ctermfg=green
|
||||||
|
|
||||||
|
" Transparent popup window
|
||||||
|
hi! Pmenu ctermbg=black
|
||||||
|
hi! PmenuSel ctermfg=2
|
||||||
|
hi! PmenuSel ctermbg=0
|
||||||
|
|
||||||
|
" Brighter line numbers
|
||||||
|
hi! LineNr ctermfg=NONE guibg=NONE
|
||||||
|
|
||||||
|
" KEY REMAPS ""
|
||||||
|
set updatetime=300
|
||||||
|
let g:ycm_server_python_interpreter = '/usr/bin/python3'
|
||||||
|
let g:coc_snippet_next = '<TAB>'
|
||||||
|
let g:coc_snippet_prev = '<S-TAB>'
|
||||||
|
|
||||||
|
" Extensions. Some need configuration.
|
||||||
|
" coc-java needs a valid JVM filepath defined in coc-settings
|
||||||
|
" coc-ccls needs ccls (available on aur)
|
||||||
|
" coc-eslint needs eslint npm package installed globally
|
||||||
|
let g:coc_global_extensions = [
|
||||||
|
\'coc-html',
|
||||||
|
\'coc-xml',
|
||||||
|
\'coc-java',
|
||||||
|
\'coc-ccls',
|
||||||
|
\'coc-powershell',
|
||||||
|
\'coc-r-lsp',
|
||||||
|
\'coc-vimlsp',
|
||||||
|
\'coc-lua',
|
||||||
|
\'coc-sql',
|
||||||
|
\'coc-go',
|
||||||
|
\'coc-css',
|
||||||
|
\'coc-sh',
|
||||||
|
\'coc-snippets',
|
||||||
|
\'coc-prettier',
|
||||||
|
\'coc-eslint',
|
||||||
|
\'coc-emmet',
|
||||||
|
\'coc-tsserver',
|
||||||
|
\'coc-translator',
|
||||||
|
\'coc-fish',
|
||||||
|
\'coc-docker',
|
||||||
|
\'coc-pairs',
|
||||||
|
\'coc-json',
|
||||||
|
\'coc-python',
|
||||||
|
\'coc-imselect',
|
||||||
|
\'coc-highlight',
|
||||||
|
\'coc-git',
|
||||||
|
\'coc-github',
|
||||||
|
\'coc-gitignore',
|
||||||
|
\'coc-emoji',
|
||||||
|
\'coc-lists',
|
||||||
|
\'coc-post',
|
||||||
|
\'coc-stylelint',
|
||||||
|
\'coc-yaml',
|
||||||
|
\'coc-template',
|
||||||
|
\'coc-tabnine',
|
||||||
|
\'coc-utils'
|
||||||
|
\]
|
||||||
|
|
||||||
|
" Remap keys for gotos
|
||||||
|
nmap <silent> gd <Plug>(coc-definition)
|
||||||
|
nmap <silent> gy <Plug>(coc-type-definition)
|
||||||
|
nmap <silent> gi <Plug>(coc-implementation)
|
||||||
|
nmap <silent> gr <Plug>(coc-references)
|
||||||
|
inoremap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>"
|
||||||
|
" Remap for rename current word
|
||||||
|
nmap <leader>rn <Plug>(coc-rename)
|
||||||
|
|
||||||
|
" Remap for format selected region
|
||||||
|
xmap <leader>f <Plug>(coc-format-selected)
|
||||||
|
nmap <leader>f <Plug>(coc-format-selected)
|
||||||
|
|
||||||
|
" Fix autofix problem of current line
|
||||||
|
nmap <leader>qf <Plug>(coc-fix-current)
|
||||||
|
|
||||||
|
augroup MyAutoCmd
|
||||||
|
autocmd!
|
||||||
|
" Setup formatexpr specified filetype(s).
|
||||||
|
autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected')
|
||||||
|
" Update signature help on jump placeholder
|
||||||
|
autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp')
|
||||||
|
augroup end
|
||||||
|
|
||||||
|
" Highlight symbol under cursor on CursorHold
|
||||||
|
"autocmd CursorHold * silent call CocActionAsync('highlight')
|
||||||
|
|
||||||
|
" map <tab> to trigger completion and navigate to the next item
|
||||||
|
inoremap <silent><expr> <TAB>
|
||||||
|
\ pumvisible() ? "\<C-n>" :
|
||||||
|
\ <SID>check_back_space() ? "\<TAB>" :
|
||||||
|
\ coc#refresh()
|
||||||
|
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
|
||||||
|
|
||||||
|
function! s:check_back_space() abort
|
||||||
|
let col = col('.') - 1
|
||||||
|
return !col || getline('.')[col - 1] =~# '\s'
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
"""""""""""""""""
|
||||||
|
"Nerd Commenter "
|
||||||
|
"""""""""""""""""
|
||||||
|
" Add spaces after comment delimiters by default
|
||||||
|
let g:NERDSpaceDelims = 1
|
||||||
|
" Use compact syntax for prettified multi-line comments
|
||||||
|
let g:NERDCompactSexyComs = 1
|
||||||
|
" Allow commenting and inverting empty lines (useful when commenting a region)
|
||||||
|
"
|
||||||
|
|
||||||
|
|
||||||
|
"""""""""""""""""
|
||||||
|
" Fuzzy Finding "
|
||||||
|
"""""""""""""""""
|
||||||
|
let g:fzf_colors =
|
||||||
|
\ { 'fg': ['bg', 'Normal'],
|
||||||
|
\ 'bg': ['bg', 'Normal'],
|
||||||
|
\ 'hl': ['fg', 'Comment'],
|
||||||
|
\ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'],
|
||||||
|
\ 'bg+': ['fg', 'CursorLine', 'CursorColumn'],
|
||||||
|
\ 'hl+': ['fg', 'Statement'],
|
||||||
|
\ 'info': ['fg', 'PreProc'],
|
||||||
|
\ 'border': ['fg', 'Ignore'],
|
||||||
|
\ 'prompt': ['fg', 'Conditional'],
|
||||||
|
\ 'pointer': ['fg', 'Exception'],
|
||||||
|
\ 'marker': ['fg', 'Keyword'],
|
||||||
|
\ 'spinner': ['fg', 'Label'],
|
||||||
|
\ 'header': ['fg', 'Comment'] }
|
||||||
|
|
||||||
|
" Hide status bar while using fzf commands
|
||||||
|
if has('nvim') || has('gui_running')
|
||||||
|
autocmd! FileType fzf
|
||||||
|
autocmd FileType fzf set laststatus=0 | autocmd WinLeave <buffer> set laststatus=2
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
"""""""""""""""""
|
||||||
|
" Autosaving "
|
||||||
|
"""""""""""""""""
|
||||||
|
let g:auto_save = 1
|
||||||
|
let g:auto_save_silent = 1
|
||||||
|
let g:auto_save_events = ["InsertLeave", "TextChanged", "FocusLost"]
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,92 @@
|
||||||
|
|
||||||
|
"#####################################################################################################
|
||||||
|
" ____ __ _
|
||||||
|
" / __ \ / / __ __ ____ _ (_) ____ _____
|
||||||
|
" / /_/ / / / / / / / / __ `/ / / / __ \ / ___/
|
||||||
|
" / ____/ / / / /_/ / / /_/ / / / / / / / (__ )
|
||||||
|
" /_/ /_/ \__,_/ \__, / /_/ /_/ /_/ /____/
|
||||||
|
" /____/
|
||||||
|
"######################################################################################################
|
||||||
|
|
||||||
|
" Install vim-plugged if not already installed
|
||||||
|
if empty(glob('~/.local/share/nvim/site/autoload/plug.vim'))
|
||||||
|
silent !curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs
|
||||||
|
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
||||||
|
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
|
||||||
|
endif
|
||||||
|
call plug#begin('~/.vim/plugged')
|
||||||
|
|
||||||
|
" Intellisense engine for neovim
|
||||||
|
Plug 'neoclide/coc.nvim', {'branch': 'release'}
|
||||||
|
|
||||||
|
" Git wrapper
|
||||||
|
Plug 'tpope/vim-fugitive'
|
||||||
|
Plug 'airblade/vim-gitgutter'
|
||||||
|
Plug 'tpope/vim-rhubarb'
|
||||||
|
|
||||||
|
" Nerd Commenter
|
||||||
|
Plug 'scrooloose/nerdcommenter'
|
||||||
|
|
||||||
|
" Autosaving
|
||||||
|
Plug '907th/vim-auto-save'
|
||||||
|
|
||||||
|
" Vim Surround
|
||||||
|
Plug 'tpope/vim-surround'
|
||||||
|
|
||||||
|
" Auto pairs
|
||||||
|
Plug 'jiangmiao/auto-pairs'
|
||||||
|
|
||||||
|
" Multiple Cursors
|
||||||
|
Plug 'terryma/vim-multiple-cursors'
|
||||||
|
|
||||||
|
" Fuzzy finding
|
||||||
|
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --no-bash' }
|
||||||
|
Plug 'junegunn/fzf.vim'
|
||||||
|
|
||||||
|
" i3 syntax
|
||||||
|
Plug 'PotatoesMaster/i3-vim-syntax'
|
||||||
|
|
||||||
|
" Tmuxline
|
||||||
|
Plug 'edkolev/tmuxline.vim'
|
||||||
|
|
||||||
|
" Custom start page
|
||||||
|
Plug 'mhinz/vim-startify'
|
||||||
|
|
||||||
|
" Status bar
|
||||||
|
Plug 'vim-airline/vim-airline'
|
||||||
|
Plug 'vim-airline/vim-airline-themes'
|
||||||
|
|
||||||
|
" Tabular auto-align
|
||||||
|
Plug 'godlygeek/tabular'
|
||||||
|
|
||||||
|
" Comfy scroll
|
||||||
|
Plug 'yuttie/comfortable-motion.vim'
|
||||||
|
|
||||||
|
" Add DevIcons
|
||||||
|
Plug 'ryanoasis/vim-devicons'
|
||||||
|
|
||||||
|
" Tagbar
|
||||||
|
Plug 'liuchengxu/vista.vim'
|
||||||
|
|
||||||
|
" NERDTree
|
||||||
|
Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
|
||||||
|
Plug 'Xuyuanp/nerdtree-git-plugin'
|
||||||
|
Plug 'tiagofumo/vim-nerdtree-syntax-highlight'
|
||||||
|
|
||||||
|
" goyo distraction free mode
|
||||||
|
Plug 'junegunn/goyo.vim'
|
||||||
|
|
||||||
|
" Wal theme
|
||||||
|
Plug 'dylanaraps/wal.vim'
|
||||||
|
Plug 'deviantfero/wpgtk.vim'
|
||||||
|
|
||||||
|
" Colorschemes
|
||||||
|
Plug 'chase/focuspoint-vim'
|
||||||
|
Plug 'liuchengxu/space-vim-theme'
|
||||||
|
Plug 'kadekillary/Turtles'
|
||||||
|
Plug 'arcticicestudio/nord-vim'
|
||||||
|
Plug 'whatyouhide/vim-gotham'
|
||||||
|
Plug 'itchyny/landscape.vim'
|
||||||
|
Plug 'nanotech/jellybeans.vim'
|
||||||
|
Plug 'cocopon/iceberg.vim'
|
||||||
|
call plug#end()
|
||||||
Loading…
Reference in New Issue