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