254 lines
8.0 KiB
VimL
254 lines
8.0 KiB
VimL
call plug#begin('~/.local/share/nvim/site/plugged')
|
|
Plug 'junegunn/goyo.vim'
|
|
Plug 'rktjmp/lush.nvim'
|
|
Plug 'tpope/vim-sensible'
|
|
Plug '~/Dotfiles/nvim/theme/cyberqueer.nvim'
|
|
Plug 'arecarn/vim-crunch'
|
|
Plug 'preservim/nerdtree'
|
|
Plug 'ryanoasis/vim-devicons'
|
|
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
|
|
Plug 'junegunn/fzf.vim'
|
|
Plug 'vim-airline/vim-airline'
|
|
Plug 'vim-airline/vim-airline-themes'
|
|
Plug 'voldikss/vim-floaterm'
|
|
Plug 'rust-lang/rust.vim'
|
|
Plug 'norcalli/nvim-colorizer.lua'
|
|
Plug 'neoclide/coc.nvim', {'branch': 'release'}
|
|
Plug 'mg979/vim-visual-multi', {'branch': 'master'}
|
|
Plug 'SirVer/ultisnips'
|
|
Plug 'honza/vim-snippets'
|
|
Plug 'mfussenegger/nvim-dap'
|
|
Plug 'elihunter173/dirbuf.nvim'
|
|
call plug#end()
|
|
colorscheme cyberqueer
|
|
let g:airline_powerline_fonts = 1
|
|
let g:airline_theme='cyberqueer'
|
|
|
|
" Trigger configuration. You need to change this to something other than <tab> if you use one of the following:
|
|
" - https://github.com/Valloric/YouCompleteMe
|
|
" - https://github.com/nvim-lua/completion-nvim
|
|
let g:UltiSnipsExpandTrigger="<C-tab>"
|
|
let g:UltiSnipsJumpForwardTrigger="<c-b>"
|
|
let g:UltiSnipsJumpBackwardTrigger="<c-z>"
|
|
|
|
" If you want :UltiSnipsEdit to split your window.
|
|
let g:UltiSnipsEditSplit="vertical"
|
|
|
|
syntax on
|
|
filetype on
|
|
set number
|
|
set cursorline
|
|
set cursorcolumn
|
|
|
|
syntax enable
|
|
filetype plugin indent on
|
|
|
|
" Set shift width to 4 spaces.
|
|
set shiftwidth=4
|
|
|
|
" Do not let cursor scroll below or above N number of lines when scrolling.
|
|
set scrolloff=5
|
|
|
|
" Do not wrap lines. Allow long lines to extend as far as the line goes.
|
|
set nowrap
|
|
|
|
" While searching though a file incrementally highlight matching characters as you type.
|
|
set incsearch
|
|
|
|
" Ignore capital letters during search.
|
|
set ignorecase
|
|
|
|
" Override the ignorecase option if searching for capital letters.
|
|
" This will allow you to search specifically for capital letters.
|
|
set smartcase
|
|
|
|
" Show partial command you type in the last line of the screen.
|
|
set showcmd
|
|
|
|
" Show matching words during a search.
|
|
set showmatch
|
|
|
|
" Use highlighting when doing a search.
|
|
set hlsearch
|
|
|
|
" Set the commands to save in history default number is 20.
|
|
set history=1000
|
|
|
|
set relativenumber
|
|
|
|
" Enable auto completion menu after pressing TAB.
|
|
set wildmenu
|
|
|
|
" Make wildmenu behave like similar to Bash completion.
|
|
set wildmode=list:longest
|
|
|
|
let time=system('date "+%H:%M:%S|%d.%m.%Y" | tr -d "\n"')
|
|
let hostname=system('hostname -s | tr -d "\n"')
|
|
let ipaddr=system('hostname -i | tr -d "\n"')
|
|
let g:airline_section_x = 'IP:%{ipaddr} DNS:%{hostname}'
|
|
|
|
nnoremap <C-l> <C-w>w
|
|
nnoremap <C-h> <C-w>h
|
|
nnoremap <C-j> <C-w>j
|
|
nnoremap <C-k> <C-w>k
|
|
|
|
:nnoremap t :FloatermNew<CR>
|
|
:nnoremap e :NERDTreeToggle<CR><C-W>l
|
|
:nnoremap q :q<CR>
|
|
|
|
:inoremap <TAB> <C-N>
|
|
:inoremap <S-TAB> <TAB>
|
|
|
|
" :inoremap <TAB> <C-N>
|
|
" :inoremap <S-TAB> <TAB>
|
|
"
|
|
" #####################################################
|
|
let g:coc_global_extensions=[ 'coc-snippets', 'coc-powershell', 'coc-sh', 'coc-omnisharp', 'coc-clangd', 'coc-json', 'coc-css', 'coc-git', 'coc-pyright' ]
|
|
|
|
" Use <C-l> for trigger snippet expand.
|
|
imap <C-l> <Plug>(coc-snippets-expand)
|
|
|
|
" Use <C-j> for select text for visual placeholder of snippet.
|
|
vmap <C-j> <Plug>(coc-snippets-select)
|
|
|
|
" Use <C-j> for jump to next placeholder, it's default of coc.nvim
|
|
let g:coc_snippet_next = '<c-j>'
|
|
|
|
" Use <C-k> for jump to previous placeholder, it's default of coc.nvim
|
|
let g:coc_snippet_prev = '<c-k>'
|
|
|
|
" Use <C-j> for both expand and jump (make expand higher priority.)
|
|
imap <C-j> <Plug>(coc-snippets-expand-jump)
|
|
|
|
" Use <leader>x for convert visual selected code to snippet
|
|
xmap <leader>x <Plug>(coc-convert-snippet)
|
|
|
|
" #####################################################
|
|
|
|
function! s:check_back_space() abort
|
|
let col = col('.') - 1
|
|
return !col || getline('.')[col - 1] =~ '\s'
|
|
endfunction
|
|
|
|
inoremap <expr> <Tab> coc#pum#visible() ? coc#pum#next(1) : "\<Tab>"
|
|
inoremap <expr> <S-Tab> coc#pum#visible() ? coc#pum#prev(1) : "\<S-Tab>"
|
|
" Save as sudo
|
|
ca w!! w !sudo tee "%"
|
|
|
|
" <CR>: confirm completion, or insert <CR>
|
|
inoremap <expr> <CR> pumvisible() ? "\<C-Y>" : "\<CR>"
|
|
command! Vb normal! <C-v>
|
|
" vim-airline template by danrneal (http://github.com/danrneal)
|
|
" cyberqueer by Tai Groot
|
|
|
|
let g:airline#themes#cyberqueer#palette = {}
|
|
|
|
" Define the true colors
|
|
let s:AQUA = '#E40046'
|
|
let s:BEIGE = '#d6abab'
|
|
let s:BLACK = '#2c2c2c'
|
|
let s:BLUE = '#E40046'
|
|
let s:DGREY = '#2c2c2c'
|
|
let s:GREEN = '#f50505'
|
|
let s:LGREY = '#666666'
|
|
let s:LIME = '#87F025'
|
|
let s:MAGENTA = '#E40046'
|
|
let s:PINK = '#E40046'
|
|
let s:PURPLE = '#5018dd'
|
|
let s:RED = '#f50505'
|
|
let s:WHITE = '#d6abab'
|
|
let s:YELLOW = '#5018dd'
|
|
|
|
" Define the 256-color fallbacks
|
|
let s:TERM_AQUA = 14
|
|
let s:BEIGE = 224
|
|
let s:TERM_BLACK = 233
|
|
let s:TERM_BLUE = 75
|
|
let s:TERM_DGREY = 240
|
|
let s:TERM_GREEN = 70
|
|
let s:TERM_LGREY = 246
|
|
let s:TERM_LIME = 82
|
|
let s:TERM_MAGENTA = 90
|
|
let s:TERM_PINK = 199
|
|
let s:TERM_PURPLE = 54
|
|
let s:TERM_RED = 9
|
|
let s:TERM_WHITE = 231
|
|
let s:TERM_YELLOW = 226
|
|
|
|
" Some default text colors for readability
|
|
let s:GREY0 = s:WHITE
|
|
let s:GREY1 = s:LGREY
|
|
let s:GREY2 = s:DGREY
|
|
let s:BG = s:BLACK
|
|
|
|
" 256-color fallbacks for text
|
|
let s:TERM_GREY0 = s:TERM_WHITE
|
|
let s:TERM_GREY1 = s:TERM_LGREY
|
|
let s:TERM_GREY2 = s:TERM_DGREY
|
|
let s:TERM_BG = s:TERM_BLACK
|
|
|
|
let s:unmodified = [ s:GREY1, s:GREY2, s:TERM_GREY1, s:TERM_GREY2 ]
|
|
let s:modified = {
|
|
\ 'airline_b': [ s:AQUA, s:BG, s:TERM_AQUA, s:TERM_BG, '' ],
|
|
\ 'airline_y': [ s:AQUA, s:BG, s:TERM_AQUA, s:TERM_BG, '' ],
|
|
\ }
|
|
|
|
let s:W = [ s:LIME, s:PURPLE, s:TERM_LIME, s:TERM_PURPLE ]
|
|
let s:E = [ s:RED, s:PURPLE, s:TERM_RED, s:TERM_PURPLE ]
|
|
|
|
let s:modified.airline_warning = s:W
|
|
let s:modified.airline_error = s:E
|
|
|
|
" Normal mode settings
|
|
let s:N1 = [ s:BLUE, s:YELLOW, s:TERM_YELLOW, s:TERM_BLUE ]
|
|
let s:N2 = s:unmodified
|
|
let s:N3 = s:N1
|
|
let g:airline#themes#cyberqueer#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3)
|
|
let g:airline#themes#cyberqueer#palette.normal.airline_warning = s:W
|
|
let g:airline#themes#cyberqueer#palette.normal.airline_error = s:E
|
|
let g:airline#themes#cyberqueer#palette.normal_modified = s:modified
|
|
|
|
" Insert mode settings
|
|
let s:I1 = [ s:YELLOW, s:BLUE, s:TERM_BLUE, s:TERM_YELLOW ]
|
|
let s:I2 = s:unmodified
|
|
let s:I3 = s:I1
|
|
let g:airline#themes#cyberqueer#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3)
|
|
let g:airline#themes#cyberqueer#palette.insert.airline_warning = s:W
|
|
let g:airline#themes#cyberqueer#palette.insert.airline_error = s:E
|
|
let g:airline#themes#cyberqueer#palette.insert_modified = s:modified
|
|
|
|
" Replace mode settings
|
|
let s:R1 = [ s:BG, s:RED, s:TERM_BG, s:TERM_RED ]
|
|
let s:R2 = s:unmodified
|
|
let s:R3 = s:R1
|
|
let g:airline#themes#cyberqueer#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3)
|
|
let g:airline#themes#cyberqueer#palette.replace.airline_warning = s:W
|
|
let g:airline#themes#cyberqueer#palette.replace.airline_error = s:E
|
|
let g:airline#themes#cyberqueer#palette.replace_modified = s:modified
|
|
|
|
" Commandline mode settings
|
|
let s:C1 = [ s:BG, s:RED, s:TERM_BG, s:TERM_RED ]
|
|
let s:C2 = s:unmodified
|
|
let s:C3 = s:C1
|
|
let g:airline#themes#cyberqueer#palette.commandline = airline#themes#generate_color_map(s:C1, s:C2, s:C3)
|
|
let g:airline#themes#cyberqueer#palette.commandline.airline_warning = s:W
|
|
let g:airline#themes#cyberqueer#palette.commandline.airline_error = s:E
|
|
let g:airline#themes#cyberqueer#palette.commandline_modified = s:modified
|
|
|
|
" Visual mode settings
|
|
let s:V1 = [ s:BG, s:GREEN, s:TERM_BG, s:TERM_GREEN ]
|
|
let s:V2 = s:unmodified
|
|
let s:V3 = s:V1
|
|
let g:airline#themes#cyberqueer#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3)
|
|
let g:airline#themes#cyberqueer#palette.visual.airline_warning = s:W
|
|
let g:airline#themes#cyberqueer#palette.visual.airline_error = s:E
|
|
let g:airline#themes#cyberqueer#palette.visual_modified = s:modified
|
|
|
|
" Inactive settings
|
|
let s:IA1 = [ s:BG, s:GREY2, s:TERM_BG, s:TERM_GREY2 ]
|
|
let s:IA2 = s:unmodified
|
|
let s:IA3 = [ s:GREY2, s:BG, s:TERM_GREY2, s:TERM_BG ]
|
|
let g:airline#themes#cyberqueer#palette.inactive = airline#themes#generate_color_map(s:IA1, s:IA2, s:IA3)
|
|
let g:airline#themes#cyberqueer#palette.inactive_modified = s:modified
|
|
|