aboutsummaryrefslogtreecommitdiffstats
path: root/init.vim
diff options
context:
space:
mode:
authorterminaldweller <thabogre@gmail.com>2022-04-02 16:32:31 +0000
committerterminaldweller <thabogre@gmail.com>2022-04-02 16:32:31 +0000
commit616ec0eeb48cd5d15d3f2bb754f0bfd1184869d7 (patch)
tree7ff0eac56883a5d9b339d12225a35d9c12f94fd5 /init.vim
parentadded cert-fp authentication for libera as well (diff)
downloadscripts-616ec0eeb48cd5d15d3f2bb754f0bfd1184869d7.tar.gz
scripts-616ec0eeb48cd5d15d3f2bb754f0bfd1184869d7.zip
update
Diffstat (limited to 'init.vim')
-rw-r--r--init.vim493
1 files changed, 304 insertions, 189 deletions
diff --git a/init.vim b/init.vim
index 3f3d737..644a145 100644
--- a/init.vim
+++ b/init.vim
@@ -1,189 +1,304 @@
-
-let mapleader = " "
-call plug#begin('~/AppData/Local/nvim/plugged')
-Plug 'glacambre/firenvim', { 'do': { _ -> firenvim#install(0) } }
-Plug 'vim-airline/vim-airline'
-Plug 'vim-airline/vim-airline-themes'
-Plug 'rhysd/vim-gfm-syntax'
-Plug 'unblevable/quick-scope'
-Plug 'tpope/vim-commentary'
-Plug 'ctrlpvim/ctrlp.vim'
-Plug 'unblevable/quick-scope'
-Plug 'mbbill/undotree'
-Plug 'adelarsq/vim-matchit'
-Plug 'easymotion/vim-easymotion'
-Plug 'tpope/vim-surround'
-Plug 'tpope/vim-repeat'
-Plug 'nanotech/jellybeans.vim'
-Plug 'fatih/vim-go'
-Plug 'plasticboy/vim-markdown'
-Plug 'scrooloose/nerdtree'
-Plug 'ryanoasis/vim-devicons'
-Plug 'sheerun/vim-polyglot'
-call plug#end()
-
-set encoding=UTF-8
-set linebreak
-set breakindent
-let &showbreak = '↪ '
-set secure
-set list
-set wrap
-set showmatch
-set number
-set relativenumber
-set expandtab
-set noerrorbells
-set foldmethod=manual
-set nofoldenable
-set numberwidth=5
-set history=1000
-set tabstop=2
-set hidden
-set smarttab
-set autoindent
-set autoread
-set ttyfast
-set ignorecase smartcase
-set magic
-set lazyredraw
-set hlsearch
-set scrolloff=0
-set tagbsearch
-set wildmenu
-set noerrorbells
-set novisualbell
-
-let g:gfm_syntax_enable_always = 0
-let g:gfm_syntax_enable_filetypes = ['markdown.gfm']
-autocmd BufRead,BufNew,BufNewFile README.md setlocal ft=markdown.gfm
-
-function! OnUIEnter(event)
- let l:ui = nvim_get_chan_info(a:event.chan)
- if has_key(l:ui, 'client') && has_key(l:ui.client, 'name')
- if l:ui.client.name ==# 'Firenvim'
- set guifont=DejaVuSansMono\ NF:h12
- endif
- endif
-endfunction
-" autocmd QueInit UIEnter * call OnUIEnter(deepcopy(v:event))
-
-colo jellybeans
-let g:airline_powerline_fonts = 0
-try
- let g:airline#extensions#tabline#enabled = 1
- let g:airline#extensions#tabline#left_sep = ' '
- let g:airline#extensions#tabline#left_alt_sep = '|'
- let g:airline#extensions#tabline#formatter = 'default'
- let g:airline#extensions#ale#enabled = 1
- let g:airline#extensions#branch#enabled = 1
- " let g:airline#extensions#xkblayout#enabled = 1
-catch
-endtry
-let g:airline_theme = 'jellybeans'
-function! Airline_Custom()
- let l:spc = g:airline_symbols.space
- let g:airline_section_z = airline#section#create([
- \ 'windowswap',
- \ '%3p%%'.l:spc,
- \ 'linenr',
- \ ':%3v'.l:spc,
- \ '%5o',
- \ '[%b][0x%B]'
- \])
-endfunction
-autocmd user AirlineAfterInit call Airline_Custom()
-" let g:XkbSwitchLib = '/usr/local/lib/libxkbswitch.so'
-let g:airline_exclude_preview = 1
-
-"camel and snake case motion
-let g:camelchar = "A-Z0-9.,;:{([`'\"_"
-nnoremap <silent><C-h> :<C-u>call search('\C\<\<Bar>\%(^\<Bar>[^'.g:camelchar.']\@<=\)['.g:camelchar.']\<Bar>['.g:camelchar.']\ze\%([^'.g:camelchar.']\&\>\@!\)\<Bar>\%^','bW')<CR>
-nnoremap <silent><C-l> :<C-u>call search('\C\<\<Bar>\%(^\<Bar>[^'.g:camelchar.']\@<=\)['.g:camelchar.']\<Bar>['.g:camelchar.']\ze\%([^'.g:camelchar.']\&\>\@!\)\<Bar>\%$','W')<CR>
-inoremap <silent><C-h> <C-o>:call search('\C\<\<Bar>\%(^\<Bar>[^'.g:camelchar.']\@<=\)['.g:camelchar.']\<Bar>['.g:camelchar.']\ze\%([^'.g:camelchar.']\&\>\@!\)\<Bar>\%^','bW')<CR>
-inoremap <silent><C-l> <C-o>:call search('\C\<\<Bar>\%(^\<Bar>[^'.g:camelchar.']\@<=\)['.g:camelchar.']\<Bar>['.g:camelchar.']\ze\%([^'.g:camelchar.']\&\>\@!\)\<Bar>\%$','W')<CR>
-vnoremap <silent><C-h> :<C-U>call search('\C\<\<Bar>\%(^\<Bar>[^'.g:camelchar.']\@<=\)['.g:camelchar.']\<Bar>['.g:camelchar.']\ze\%([^'.g:camelchar.']\&\>\@!\)\<Bar>\%^','bW')<CR>v`>o
-vnoremap <silent><C-l> <Esc>`>:<C-U>call search('\C\<\<Bar>\%(^\<Bar>[^'.g:camelchar.']\@<=\)['.g:camelchar.']\<Bar>['.g:camelchar.']\ze\%([^'.g:camelchar.']\&\>\@!\)\<Bar>\%$','W')<CR>v`<o
-
-nmap <Backspace> <Nop>
-nmap <Delete> <Nop>
-nmap <Left> <Nop>
-nmap <Down> <Nop>
-nmap <Up> <Nop>
-nmap <Right> <Nop>
-nmap <PageUp> <Nop>
-nmap <PageDown> <Nop>
-imap <PageUp> <Nop>
-imap <PageDown> <Nop>
-map <F3> :bp<CR>
-map <F4> :bn<CR>
-map <C-e> :q<cr>
-inoremap " ""<left>
-inoremap ' ''<left>
-inoremap ( ()<left>
-inoremap [ []<left>
-inoremap { {}<left>
-inoremap {<CR> {<CR>}<ESC>O
-map <leader>w :w<CR>
-nnoremap <F7> :NERDTreeToggle<CR>
-nnoremap <F12> :UndotreeToggle<CR>
-nnoremap <F10> :vsp<cr>
-nnoremap <S-F10> :sp<cr>
-nnoremap <leader>c :call clearmatches()<CR>
-nnoremap <leader>t :bel term<CR>
-nnoremap <leader>r :!%:p<CR>
-nnoremap <leader>cd :cd %:p:h<cr>
-
-let g:qs_highlight_on_keys = ["f", "F", "t", "T"]
-"
-"netrw
-let g:netrw_sort_by = 'date'
-let g:netrw_sort_direction = 'reverse'
-let g:netrw_banner = 0
-let g:netrw_liststyle = 3
-let g:netrw_browse_split = 1
-let g:netrw_winsize = 15
-let g:netrw_fastbrowse = 1
-let g:netrw_sort_by = 'name'
-let g:netrw_sort_direction = 'normal'
-
-"vim-go
-let g:go_auto_sameids = 1
-let g:go_highlight_functions = 1
-let g:go_highlight_function_calls = 1
-let g:go_highlight_types = 1
-let g:go_highlight_operators = 1
-let g:go_highlight_function_parameters = 1
-" let g:go_highlight_variable_declarations = 1
-" let g:go_highlight_variable_assignments = 1
-let g:go_doc_popup_window = 1
-let g:go_code_completion_enabled = 0
-
-"quickscope
-let g:qs_highlight_on_keys = ["f", "F", "t", "T"]
-
-" undotree
-set undolevels=1000
-if has("persistent_undo")
- set undodir=~/.undodir/
- set undofile
-endif
-let g:undotree_WindowLayout = 4
-
-iab strign string
-iab pritn print
-iab retrun return
-iab return return
-iab fucntion function
-iab funciton function
-iab tehn then
-iab coutn count
-iab accoutn account
-
-au BufEnter github.com_*.txt set filetype=markdown
-nnoremap <Esc><Esc> :call firenvim#focus_page()<CR>
-nnoremap <C-z> :call firenvim#hide_frame()<CR>
-
-"yaml
-autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtab
-let g:indentLine_char = '|'
+
+let mapleader = " "
+call plug#begin('~/AppData/Local/nvim/plugged')
+Plug 'glacambre/firenvim', { 'do': { _ -> firenvim#install(0) } }
+Plug 'vim-airline/vim-airline'
+Plug 'vim-airline/vim-airline-themes'
+Plug 'rhysd/vim-gfm-syntax'
+Plug 'unblevable/quick-scope'
+Plug 'tpope/vim-commentary'
+Plug 'ctrlpvim/ctrlp.vim'
+Plug 'unblevable/quick-scope'
+Plug 'mbbill/undotree'
+Plug 'adelarsq/vim-matchit'
+Plug 'easymotion/vim-easymotion'
+Plug 'tpope/vim-surround'
+Plug 'tpope/vim-repeat'
+Plug 'nanotech/jellybeans.vim'
+Plug 'fatih/vim-go'
+Plug 'plasticboy/vim-markdown'
+Plug 'scrooloose/nerdtree'
+Plug 'ryanoasis/vim-devicons'
+Plug 'sheerun/vim-polyglot'
+Plug 'lifepillar/vim-mucomplete'
+call plug#end()
+
+set encoding=UTF-8
+set linebreak
+set breakindent
+let &showbreak = '↪ '
+set secure
+set list
+set wrap
+set showmatch
+set number
+set relativenumber
+set expandtab
+set noerrorbells
+set foldmethod=manual
+set nofoldenable
+set numberwidth=5
+set history=1000
+set tabstop=2
+set hidden
+set smarttab
+set autoindent
+set autoread
+set ttyfast
+set ignorecase smartcase
+set magic
+set lazyredraw
+set hlsearch
+set scrolloff=0
+set tagbsearch
+set wildmenu
+set noerrorbells
+set novisualbell
+
+" jellybeans
+colo jellybeans
+set background=dark
+let g:jellybeans_overrides = {
+\ 'Todo': { 'guifg': '000000', 'guibg': '00cc00',
+\ 'ctermfg': 'Black', 'ctermbg': 'Blue',
+\ 'attr': 'bold' },
+\ 'Comment': { 'guifg': '339966', 'guibg': '000000' },
+\ 'background': { "guibg": "000000", "ctermbg":"none"},
+\ 'StorageClass': {"guifg": '9966ff' },
+\ 'Exception': {"guifg": "99cc00"},
+\ "Ignore": {"guifg": "336699"},
+\ "SpecialComment": {"guifg": "009900"},
+\ "Macro": {"guifg": "0099cc"}
+\}
+let g:jellybeans_use_term_italics = 1
+
+let g:gfm_syntax_enable_always = 0
+let g:gfm_syntax_enable_filetypes = ['markdown.gfm']
+autocmd BufRead,BufNew,BufNewFile README.md setlocal ft=markdown.gfm
+
+function! OnUIEnter(event)
+ let l:ui = nvim_get_chan_info(a:event.chan)
+ if has_key(l:ui, 'client') && has_key(l:ui.client, 'name')
+ if l:ui.client.name ==# 'Firenvim'
+ set guifont=DejaVuSansMono\ NF:h12
+ endif
+ endif
+endfunction
+" autocmd QueInit UIEnter * call OnUIEnter(deepcopy(v:event))
+
+colo jellybeans
+let g:airline_powerline_fonts = 0
+try
+ let g:airline#extensions#tabline#enabled = 1
+ let g:airline#extensions#tabline#left_sep = ' '
+ let g:airline#extensions#tabline#left_alt_sep = '|'
+ let g:airline#extensions#tabline#formatter = 'default'
+ let g:airline#extensions#ale#enabled = 1
+ let g:airline#extensions#branch#enabled = 1
+ " let g:airline#extensions#xkblayout#enabled = 1
+catch
+endtry
+let g:airline_theme = 'jellybeans'
+function! Airline_Custom()
+ let l:spc = g:airline_symbols.space
+ let g:airline_section_z = airline#section#create([
+ \ 'windowswap',
+ \ '%3p%%'.l:spc,
+ \ 'linenr',
+ \ ':%3v'.l:spc,
+ \ '%5o',
+ \ '[%b][0x%B]'
+ \])
+endfunction
+autocmd user AirlineAfterInit call Airline_Custom()
+" let g:XkbSwitchLib = '/usr/local/lib/libxkbswitch.so'
+let g:airline_exclude_preview = 1
+
+"camel and snake case motion
+let g:camelchar = "A-Z0-9.,;:{([`'\"_"
+nnoremap <silent><C-h> :<C-u>call search('\C\<\<Bar>\%(^\<Bar>[^'.g:camelchar.']\@<=\)['.g:camelchar.']\<Bar>['.g:camelchar.']\ze\%([^'.g:camelchar.']\&\>\@!\)\<Bar>\%^','bW')<CR>
+nnoremap <silent><C-l> :<C-u>call search('\C\<\<Bar>\%(^\<Bar>[^'.g:camelchar.']\@<=\)['.g:camelchar.']\<Bar>['.g:camelchar.']\ze\%([^'.g:camelchar.']\&\>\@!\)\<Bar>\%$','W')<CR>
+inoremap <silent><C-h> <C-o>:call search('\C\<\<Bar>\%(^\<Bar>[^'.g:camelchar.']\@<=\)['.g:camelchar.']\<Bar>['.g:camelchar.']\ze\%([^'.g:camelchar.']\&\>\@!\)\<Bar>\%^','bW')<CR>
+inoremap <silent><C-l> <C-o>:call search('\C\<\<Bar>\%(^\<Bar>[^'.g:camelchar.']\@<=\)['.g:camelchar.']\<Bar>['.g:camelchar.']\ze\%([^'.g:camelchar.']\&\>\@!\)\<Bar>\%$','W')<CR>
+vnoremap <silent><C-h> :<C-U>call search('\C\<\<Bar>\%(^\<Bar>[^'.g:camelchar.']\@<=\)['.g:camelchar.']\<Bar>['.g:camelchar.']\ze\%([^'.g:camelchar.']\&\>\@!\)\<Bar>\%^','bW')<CR>v`>o
+vnoremap <silent><C-l> <Esc>`>:<C-U>call search('\C\<\<Bar>\%(^\<Bar>[^'.g:camelchar.']\@<=\)['.g:camelchar.']\<Bar>['.g:camelchar.']\ze\%([^'.g:camelchar.']\&\>\@!\)\<Bar>\%$','W')<CR>v`<o
+
+nmap <Backspace> <Nop>
+nmap <Delete> <Nop>
+nmap <Left> <Nop>
+nmap <Down> <Nop>
+nmap <Up> <Nop>
+nmap <Right> <Nop>
+nmap <PageUp> <Nop>
+nmap <PageDown> <Nop>
+imap <PageUp> <Nop>
+imap <PageDown> <Nop>
+map <F3> :bp<CR>
+map <F4> :bn<CR>
+map <C-e> :q<cr>
+inoremap " ""<left>
+inoremap ' ''<left>
+inoremap ( ()<left>
+inoremap [ []<left>
+inoremap { {}<left>
+inoremap {<CR> {<CR>}<ESC>O
+map <leader>w :w<CR>
+nnoremap <F7> :NERDTreeToggle<CR>
+nnoremap <F12> :UndotreeToggle<CR>
+nnoremap <F10> :vsp<cr>
+nnoremap <S-F10> :sp<cr>
+nnoremap <leader>c :call clearmatches()<CR>
+nnoremap <leader>t :bel term<CR>
+nnoremap <leader>r :!%:p<CR>
+nnoremap <leader>cd :cd %:p:h<cr>
+inoremap <c-a> <esc>I
+inoremap <c-e> <esc>A
+nnoremap <S-Delete> :bd<CR>
+map <F6> <nop>
+nnoremap <leader>c :call clearmatches()<CR>
+map <leader>w :w<CR>
+nnoremap <leader>t :bel term<CR>
+nnoremap <leader>r :!%:p<CR>
+
+let g:qs_highlight_on_keys = ["f", "F", "t", "T"]
+"
+"netrw
+let g:netrw_sort_by = 'date'
+let g:netrw_sort_direction = 'reverse'
+let g:netrw_banner = 0
+let g:netrw_liststyle = 3
+let g:netrw_browse_split = 1
+let g:netrw_winsize = 15
+let g:netrw_fastbrowse = 1
+let g:netrw_sort_by = 'name'
+let g:netrw_sort_direction = 'normal'
+
+"vim-go
+let g:go_auto_sameids = 1
+let g:go_highlight_functions = 1
+let g:go_highlight_function_calls = 1
+let g:go_highlight_types = 1
+let g:go_highlight_operators = 1
+let g:go_highlight_function_parameters = 1
+" let g:go_highlight_variable_declarations = 1
+" let g:go_highlight_variable_assignments = 1
+let g:go_doc_popup_window = 1
+let g:go_code_completion_enabled = 0
+
+"quickscope
+let g:qs_highlight_on_keys = ["f", "F", "t", "T"]
+
+" undotree
+set undolevels=1000
+if has("persistent_undo")
+ set undodir=~/.undodir/
+ set undofile
+endif
+let g:undotree_WindowLayout = 4
+
+iab adn and
+iab teh the
+iab strign string
+iab pritn print
+iab retrun return
+iab fucntion function
+iab funciton function
+iab tehn then
+iab coutn count
+iab accoutn account
+iab applciation application
+iab cosnt const
+iab ehco echo
+
+au BufEnter github.com_*.txt set filetype=markdown
+nnoremap <Esc><Esc> :call firenvim#focus_page()<CR>
+nnoremap <C-z> :call firenvim#hide_frame()<CR>
+
+"yaml
+autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtab
+let g:indentLine_char = '|'
+
+inoremap " ""<left>
+inoremap ' ''<left>
+inoremap ( ()<left>
+inoremap [ []<left>
+inoremap { {}<left>
+inoremap {<CR> {<CR>}<ESC>O
+
+"camel and snake case motion
+let g:camelchar = "A-Z0-9.,;:{([`'\"_"
+nnoremap <silent><C-h> :<C-u>call search('\C\<\<Bar>\%(^\<Bar>[^'.g:camelchar.']\@<=\)['.g:camelchar.']\<Bar>['.g:camelchar.']\ze\%([^'.g:camelchar.']\&\>\@!\)\<Bar>\%^','bW')<CR>
+nnoremap <silent><C-l> :<C-u>call search('\C\<\<Bar>\%(^\<Bar>[^'.g:camelchar.']\@<=\)['.g:camelchar.']\<Bar>['.g:camelchar.']\ze\%([^'.g:camelchar.']\&\>\@!\)\<Bar>\%$','W')<CR>
+inoremap <silent><C-h> <C-o>:call search('\C\<\<Bar>\%(^\<Bar>[^'.g:camelchar.']\@<=\)['.g:camelchar.']\<Bar>['.g:camelchar.']\ze\%([^'.g:camelchar.']\&\>\@!\)\<Bar>\%^','bW')<CR>
+inoremap <silent><C-l> <C-o>:call search('\C\<\<Bar>\%(^\<Bar>[^'.g:camelchar.']\@<=\)['.g:camelchar.']\<Bar>['.g:camelchar.']\ze\%([^'.g:camelchar.']\&\>\@!\)\<Bar>\%$','W')<CR>
+vnoremap <silent><C-h> :<C-U>call search('\C\<\<Bar>\%(^\<Bar>[^'.g:camelchar.']\@<=\)['.g:camelchar.']\<Bar>['.g:camelchar.']\ze\%([^'.g:camelchar.']\&\>\@!\)\<Bar>\%^','bW')<CR>v`>o
+vnoremap <silent><C-l> <Esc>`>:<C-U>call search('\C\<\<Bar>\%(^\<Bar>[^'.g:camelchar.']\@<=\)['.g:camelchar.']\<Bar>['.g:camelchar.']\ze\%([^'.g:camelchar.']\&\>\@!\)\<Bar>\%$','W')<CR>v`<o
+
+" highlight groups
+hi def InterestingWord1 ctermfg=16 ctermbg=214 guifg=#000000 guibg=#ffaf00
+hi def InterestingWord2 ctermfg=16 ctermbg=154 guifg=#000000 guibg=#afff00
+hi def InterestingWord3 ctermfg=16 ctermbg=121 guifg=#000000 guibg=#87ffaf
+hi def InterestingWord4 ctermfg=16 ctermbg=137 guifg=#000000 guibg=#af875f
+hi def InterestingWord5 ctermfg=16 ctermbg=211 guifg=#000000 guibg=#ff87af
+hi def InterestingWord6 ctermfg=16 ctermbg=195 guifg=#000000 guibg=#d7ffff
+hi def InterestingWord7 ctermfg=16 ctermbg=99 guifg=#000000 guibg=#875fff
+hi def InterestingWord8 ctermfg=16 ctermbg=35 guifg=#000000 guibg=#00af5f
+hi def InterestingWord9 ctermfg=16 ctermbg=209 guifg=#000000 guibg=#ff875f
+hi def InterestingWord0 ctermfg=16 ctermbg=39 guifg=#000000 guibg=#00afff
+
+" Steve Losh's highlight function
+function HighInterestingWord(n)
+ normal! mz
+ normal! "zyiw
+ let mid = 88888 + a:n
+ silent! call matchdelete(mid)
+ let pat = '\V\<' . escape(@z, '\') . '\>'
+ call matchadd("InterestingWord".a:n, pat, 1, mid)
+ normal! `z
+endfunction
+
+" multiple highlights
+nnoremap <silent> <leader>1 :call HighInterestingWord(1)<cr>
+nnoremap <silent> <leader>2 :call HighInterestingWord(2)<cr>
+nnoremap <silent> <leader>3 :call HighInterestingWord(3)<cr>
+nnoremap <silent> <leader>4 :call HighInterestingWord(4)<cr>
+nnoremap <silent> <leader>5 :call HighInterestingWord(5)<cr>
+nnoremap <silent> <leader>6 :call HighInterestingWord(6)<cr>
+nnoremap <silent> <leader>7 :call HighInterestingWord(7)<cr>
+nnoremap <silent> <leader>8 :call HighInterestingWord(8)<cr>
+nnoremap <silent> <leader>9 :call HighInterestingWord(9)<cr>
+nnoremap <silent> <leader>0 :call HighInterestingWord(0)<cr>
+
+"copy and paste between different Vim sessions
+nmap _Y :!echo ""> ~/.vi_tmp<CR><CR>:w! ~/.vi_tmp<CR>
+vmap _Y :w! ~/.vi_tmp<CR>
+nmap _P :r ~/.vi_tmp<CR>
+
+"mucomplete
+set completeopt+=menuone
+let g:mucomplete#enable_auto_at_startup = 1
+let g:mucomplete#completion_delay = 1
+
+" firenvim write changes automatically, throttle writes
+let g:timer_started = v:false
+function! My_Write(timer) abort
+ let g:timer_started = v:false
+ write
+endfunction
+
+function! Delay_My_Write() abort
+ if g:timer_started
+ return
+ end
+ let g:timer_started = v:true
+ call timer_start(10000, 'My_Write')
+endfunction
+
+au TextChanged * ++nested call Delay_My_Write()
+au TextChangedI * ++nested call Delay_My_Write()
+
+let g:firenvim_config = {
+ \ 'globalSettings': {
+ \ 'cmdlineTimeout': 3000,
+ \ }
+\ }