diff --git a/UltiSnips/css.snippets b/UltiSnips/css.snippets index 000989f..f0595d6 100644 --- a/UltiSnips/css.snippets +++ b/UltiSnips/css.snippets @@ -253,10 +253,7 @@ endsnippet snippet pabs "Position: absolute ..." position: absolute; -width: 100%; -height: 100%; -top: 0; -left: 0; +inset: 0; endsnippet snippet v "var(--...)" diff --git a/init.full.vim b/init.full.vim new file mode 100644 index 0000000..e9a2f07 --- /dev/null +++ b/init.full.vim @@ -0,0 +1,432 @@ +" set ruby program to global one. Need to investigate if this will cause +" problems if I ever use ruby virtual environments or RVM or similar. +let g:ruby_host_prog = '~/.gem/ruby/2.7.0/bin/neovim-ruby-host' + +source ~/.config/nvim/init.plugins.vim +source ~/.config/nvim/init.tabline.vim +source ~/.config/nvim/init.auto-window.vim +source ~/.config/nvim/init.fold-text.vim +source ~/.config/nvim/init.commands.vim +" +" require lua init modules +lua <SynStack()"{{{ + if !exists('*synstack') + return + endif + echo map(synstack(line('.'), col('.')), 'synIDattr(v:val,"name")') '-> ' . synIDattr(synIDtrans(synID(line('.'),col('.'),1)), 'name' ) +endfunc +" nmap pp :call SynStack() +nmap pp :TSHighlightCapturesUnderCursor +"}}} +function! s:RunShellCommand(cmdline) abort"{{{ + " Shell command + " http://vim.wikia.com/wiki/VimTip1599 + + let l:expanded_cmdline = a:cmdline + for l:part in split(a:cmdline, ' ') + if l:part[0] =~ '\v[%#<]' + let l:expanded_part = fnameescape(expand(l:part)) + let l:expanded_cmdline = substitute(l:expanded_cmdline, l:part, l:expanded_part, '') + endif + endfor + + if g:shell_scratch_buffer_nr > -1 + let l:win_nr = bufwinnr(g:shell_scratch_buffer_nr) + if l:win_nr < 0 + execute 'bdelete' g:shell_scratch_buffer_nr + top new + let g:shell_scratch_buffer_nr = bufnr('%') + else + execute l:win_nr. ' wincmd w' + setlocal modifiable + %delete _ + endif + else + top new + let g:shell_scratch_buffer_nr = bufnr('%') + endif + + setlocal buftype=nofile bufhidden=wipe nobuflisted noswapfile nowrap + nnoremap q :bdelete + augroup ResetShellBufferNr + autocmd! * + autocmd BufUnload let g:shell_scratch_buffer_nr = -1 + augroup END + + " call setline(1, 'You entered: ' . a:cmdline) + " call setline(2, 'Expanded Form: ' .l:expanded_cmdline) + " call setline(3,substitute(getline(2),'.','=','g')) + execute '$read !'. l:expanded_cmdline + 1 + + setlocal nomodifiable + if !exists('b:shell_line_count') + let b:shell_line_count = line('$') + if b:shell_line_count > 25 + let b:shell_line_count = 20 + endif + execute 'resize' b:shell_line_count + 1 + endif + + wincmd p +endfunction + +command! -complete=shellcmd -nargs=+ Shell call s:RunShellCommand() +let g:shell_scratch_buffer_nr = -1 + +"}}} +function! SaveAndExecute(ex_command) abort "{{{ + " https://stackoverflow.com/a/40195855 + " ex_command: command to run to execute file + " SOURCE [reusable window]: https://github.com/fatih/vim-go/blob/master/autoload/go/ui.vim + + " save and reload current file + silent execute 'update | edit' + + " get file path of current file + let s:current_buffer_file_path = expand('%') + + let s:output_buffer_name = 'Output' + let s:output_buffer_filetype = 'output' + + " reuse existing buffer window if it exists otherwise create a new one + if !exists('c:buf_nr') || !bufexists(s:buf_nr) || bufwinnr(s:buf_nr) == -1 + silent execute 'top new ' . s:output_buffer_name + let s:buf_nr = bufnr('%') + elseif bufwinnr(s:buf_nr) != bufwinnr('%') + silent execute bufwinnr(s:buf_nr) . 'wincmd w' + endif + + silent execute 'setlocal filetype=' . s:output_buffer_filetype + setlocal bufhidden=delete + setlocal buftype=nofile + setlocal noswapfile + setlocal nobuflisted + setlocal winfixheight + setlocal cursorline " make it easy to distinguish + " setlocal nonumber + " setlocal norelativenumber + setlocal showbreak="" + + nnoremap q :bdelete!'.zz + + " clear the buffer + setlocal noreadonly + " setlocal modifiable + %delete _ + + " add the console output + silent execute '.!'. a:ex_command . ' ' . shellescape(s:current_buffer_file_path, 1) + + " resize window to content length + " Note: This is annoying because if you print a lot of lines then your code buffer is forced to a height of one line every time you run this function. + " However without this line the buffer starts off as a default size and if you resize the buffer then it keeps that custom size after repeated runs of this function. + " But if you close the output buffer then it returns to using the default size when its recreated + "execute 'resize' . line('$') + + " make the buffer non modifiable + setlocal readonly + " setlocal nomodifiable +endfunction + +"}}} +function! JsIncludeExpr(file)"{{{ + " substitute(substitute(v:fname,'^[\\~@]\/','./',''),'^[\\~@]','./node_modules/','') + return substitute(substitute(a:file,'^[\\~@]\/','./',''),'^[\\~@]','./node_modules/','') + +endfunction + +"}}} +function! Redir(cmd) "{{{ + for win in range(1, winnr('$')) + if getwinvar(win, 'scratch') + execute win . 'windo close' + endif + endfor + if a:cmd =~ '^!' + let output = system(matchstr(a:cmd, '^!\zs.*')) + else + redir => output + execute a:cmd + redir END + endif + vnew + let w:scratch = 1 + setlocal buftype=nofile bufhidden=wipe nobuflisted noswapfile + call setline(1, split(output, "\n")) +endfunction + +command! -nargs=1 -complete=command Redir silent call Redir() +" Usage: +" :Redir hi ............. show the full output of command ':hi' in a scratch window +" :Redir !ls -al ........ show the full output of command ':!ls -al' in a scratch window +"}}} +"}}} +function! ToggleHighlights() abort "{{{ + if ! exists('b:toggle_highlights_state') + " state 1 is normal, state 0 is faded + let b:toggle_highlights_state = 1 + else + let b:toggle_highlights_state = ! b:toggle_highlights_state + endif + + if b:toggle_highlights_state == 1 + hi! link Comment None + else + hi! link Comment CommentDim + endif +endfunction +"}}} +"----------------------------------------------------------------------------}}} +" #settings {{{ + +scriptencoding utf-8 +set ttyfast + +set dictionary=spell +" set thesaurus+=/usr/share/dict/mthesaur.txt +augroup Dictionary + au! + au FileType markdown,text setlocal dictionary=/usr/share/dict/aspell-dump.txt +augroup END + +" disable background color erase +" https://sunaku.github.io/vim-256color-bce.html +set t_ut= + +syntax on +set fillchars=stl:\ ,stlnc:\ ,vert:\|,fold:\ + +set guioptions-=mTrLb +set guioptions+=c + +if exists('+termguicolors') + let &t_8f = "\[38;2;%lu;%lu;%lum" + let &t_8b = "\[48;2;%lu;%lu;%lum" + set termguicolors +endif + +colorscheme paper-tonic + +set updatetime=100 +set timeoutlen=500 +set lazyredraw + +" https://parceljs.org/hmr.html#safe-write +set backupcopy=yes + +set title + +" the ;/home/* tells vim to stop searching at /home/* (I hope!) +set tags=./.tags,.tags,./tags-external,.tags-external;/home/* + +" persisitent undo file +set undofile +set undodir=~/.config/nvim/undodir +set backupdir=~/.nvim/tmpdir +set directory=~/.nvim/tmpdir + +set viewoptions-=options + +set nosplitbelow nosplitright +set switchbuf=uselast + +set ignorecase +set smartcase + +set wildmenu +set wildmode=longest:full,full +set wildignore+=**/node_modules/**,**/dist/**,**/.git/**,**/build/** + +" Use ag over grep +if executable('ag') + set grepprg=ag\ --nogroup\ --nocolor\ --ignore\ node_modules +endif + +set hidden + +set hlsearch + +set completeopt=menuone,noselect + +set nospell +set spelllang=en_gb + +set diffopt+=vertical + +let g:tex_flavor = 'latex' + +set rnu nu + +set tabstop=2 +set softtabstop=-1 +set shiftwidth=0 +set shiftround +set noexpandtab + +set autoindent +set breakindent +set showbreak=\ \ ↳\ + +set formatoptions=cq +set wrapmargin=0 + +setlocal cursorline + +set foldcolumn=0 +set signcolumn=yes +set colorcolumn=80,120 + +set iskeyword+=- +set scrolloff=4 +set scrolljump=4 +set showcmd + +set incsearch +set inccommand=nosplit + +set laststatus=2 +set shortmess=aoOT +set cmdheight=3 + +set foldnestmax=9 +set foldlevelstart=99 + +set showmode + +set mouse=a + +set listchars=eol:¬,tab:│\ ,trail:~,extends:>,precedes:<,space:· +set fillchars=stl:\ ,stlnc:\ ,vert:┃,fold:\ + +set statusline=\ +" buffer number +set statusline+=[%n]\ \ +" line of total_lines and percentage through file +set statusline+=%-20(%l\ of\ %L\ (%p%%)%) +" column, virtual column +set statusline+=%-10(:%c\ %((%V)%)%) +" separator, highlight color +set statusline+=%=%#StatusLineNC# +" CoC status +if exists('*coc#exists') + set statusline+=%{coc#status()} +endif +" separator +set statusline+=%=%#StatusLine# +set statusline+=%y\ +set statusline+=%r\ %m\ +set statusline+=%{&buftype==''?expand('%f'):''} +set statusline+=\ + +set conceallevel=0 +"----------------------------------------------------------------------------}}} +" #mappings {{{ +let g:mapleader = ' ' +" miscallaneous {{{ +nnoremap l :colorscheme paper-tonic +nnoremap d :colorscheme monotonous-dark +nnoremap 0 ^ +nnoremap cs :let @/="" +nnoremap nh (&hls && v:hlsearch ? ':nohls' : ':set hls')."\n" +" Focus on current fold, close the rest +nnoremap zz zMzvzt +" open quickfix window of TODOs +nnoremap td :grep -RE '(TODO\\|FIXME)' .:botright cwindow:echo len(getqflist()) 'TODOs' +" sync highlighting from start + +"}}} +" location list and quickfix mappings {{{ +nnoremap lo :botright lwindow +nnoremap :lprevzv +nnoremap :lnextzv +nnoremap lc :lclose +nnoremap lh :lhistory +nnoremap lp :lolder +nnoremap ln :lnewer + +nnoremap qo :botright cwindow +nnoremap :cprevzv +nnoremap :cnextzv +nnoremap qc :cclose +nnoremap qh :chistory +nnoremap qp :colder +nnoremap qn :cnewer + +nnoremap qt :tabnew \| cwindow + +"}}} +"----------------------------------------------------------------------------}}} +" #abbreviations {{{ + +iabbrev adn and +iabbrev waht what +iabbrev tehn then +iabbrev functin function +iabbrev positin position + +"----------------------------------------------------------------------------}}} +" #autocommands {{{ + +" template files {{{ +augroup Templates + autocmd! + autocmd BufNewFile *.sh 0read ~/.config/nvim/templates/template.sh | normal G + autocmd BufNewFile *.html 0read ~/.config/nvim/templates/template.html | normal gg + autocmd BufNewFile *.css 0read ~/.config/nvim/templates/template.css | normal G + autocmd BufNewFile *.scss 0read ~/.config/nvim/templates/template.css | normal G +augroup END + +" }}} +" persistent folds {{{ +augroup AutoSaveFolds + autocmd! + autocmd BufWrite ?* mkview + autocmd BufRead ?* silent! loadview +augroup END + +" }}} +" Show trailing whitepace and spaces before a tab: {{{ +augroup ShowWhiteSpaceErrors + autocmd! + autocmd Syntax * syn match ExtraWhitespace /\s\+$\| \+\ze\t/ containedin=ALL +augroup END + +" }}} + +" Automatically reload .vimrc if changed {{{ +augroup ReloadVimrc + autocmd! + autocmd BufWritePost .vimrc,_vimrc,vimrc,.gvimrc,_gvimrc,gvimrc so $MYVIMRC | if has('gui_running') | so $MYGVIMRC | endif +augroup END + +" }}} +" Open quickfix window{{{ +" augroup QuickFixAutoload +" autocmd! +" autocmd QuickFixCmdPost [^l]* nested botright cwindow +" autocmd QuickFixCmdPost l* nested botright lwindow +" augroup END + +augroup OnTerminalOpen + autocmd! + autocmd TermOpen * setlocal nonumber norelativenumber +augroup END + +" }}} + +"----------------------------------------------------------------------------}}} +" +" +" require lua init +lua <SynStack()"{{{ - if !exists('*synstack') - return - endif - echo map(synstack(line('.'), col('.')), 'synIDattr(v:val,"name")') '-> ' . synIDattr(synIDtrans(synID(line('.'),col('.'),1)), 'name' ) -endfunc -" nmap pp :call SynStack() -nmap pp :TSHighlightCapturesUnderCursor -"}}} -function! s:RunShellCommand(cmdline) abort"{{{ - " Shell command - " http://vim.wikia.com/wiki/VimTip1599 - - let l:expanded_cmdline = a:cmdline - for l:part in split(a:cmdline, ' ') - if l:part[0] =~ '\v[%#<]' - let l:expanded_part = fnameescape(expand(l:part)) - let l:expanded_cmdline = substitute(l:expanded_cmdline, l:part, l:expanded_part, '') - endif - endfor - - if g:shell_scratch_buffer_nr > -1 - let l:win_nr = bufwinnr(g:shell_scratch_buffer_nr) - if l:win_nr < 0 - execute 'bdelete' g:shell_scratch_buffer_nr - top new - let g:shell_scratch_buffer_nr = bufnr('%') - else - execute l:win_nr. ' wincmd w' - setlocal modifiable - %delete _ - endif - else - top new - let g:shell_scratch_buffer_nr = bufnr('%') - endif - - setlocal buftype=nofile bufhidden=wipe nobuflisted noswapfile nowrap - nnoremap q :bdelete - augroup ResetShellBufferNr - autocmd! * - autocmd BufUnload let g:shell_scratch_buffer_nr = -1 - augroup END - - " call setline(1, 'You entered: ' . a:cmdline) - " call setline(2, 'Expanded Form: ' .l:expanded_cmdline) - " call setline(3,substitute(getline(2),'.','=','g')) - execute '$read !'. l:expanded_cmdline - 1 - - setlocal nomodifiable - if !exists('b:shell_line_count') - let b:shell_line_count = line('$') - if b:shell_line_count > 25 - let b:shell_line_count = 20 - endif - execute 'resize' b:shell_line_count + 1 - endif - - wincmd p -endfunction - -command! -complete=shellcmd -nargs=+ Shell call s:RunShellCommand() -let g:shell_scratch_buffer_nr = -1 - -"}}} -function! SaveAndExecute(ex_command) abort "{{{ - " https://stackoverflow.com/a/40195855 - " ex_command: command to run to execute file - " SOURCE [reusable window]: https://github.com/fatih/vim-go/blob/master/autoload/go/ui.vim - - " save and reload current file - silent execute 'update | edit' - - " get file path of current file - let s:current_buffer_file_path = expand('%') - - let s:output_buffer_name = 'Output' - let s:output_buffer_filetype = 'output' - - " reuse existing buffer window if it exists otherwise create a new one - if !exists('c:buf_nr') || !bufexists(s:buf_nr) || bufwinnr(s:buf_nr) == -1 - silent execute 'top new ' . s:output_buffer_name - let s:buf_nr = bufnr('%') - elseif bufwinnr(s:buf_nr) != bufwinnr('%') - silent execute bufwinnr(s:buf_nr) . 'wincmd w' - endif - - silent execute 'setlocal filetype=' . s:output_buffer_filetype - setlocal bufhidden=delete - setlocal buftype=nofile - setlocal noswapfile - setlocal nobuflisted - setlocal winfixheight - setlocal cursorline " make it easy to distinguish - " setlocal nonumber - " setlocal norelativenumber - setlocal showbreak="" - - nnoremap q :bdelete!'.zz - - " clear the buffer - setlocal noreadonly - " setlocal modifiable - %delete _ - - " add the console output - silent execute '.!'. a:ex_command . ' ' . shellescape(s:current_buffer_file_path, 1) - - " resize window to content length - " Note: This is annoying because if you print a lot of lines then your code buffer is forced to a height of one line every time you run this function. - " However without this line the buffer starts off as a default size and if you resize the buffer then it keeps that custom size after repeated runs of this function. - " But if you close the output buffer then it returns to using the default size when its recreated - "execute 'resize' . line('$') - - " make the buffer non modifiable - setlocal readonly - " setlocal nomodifiable -endfunction - -"}}} -function! JsIncludeExpr(file)"{{{ - " substitute(substitute(v:fname,'^[\\~@]\/','./',''),'^[\\~@]','./node_modules/','') - return substitute(substitute(a:file,'^[\\~@]\/','./',''),'^[\\~@]','./node_modules/','') - -endfunction - -"}}} -function! Redir(cmd) "{{{ - for win in range(1, winnr('$')) - if getwinvar(win, 'scratch') - execute win . 'windo close' - endif - endfor - if a:cmd =~ '^!' - let output = system(matchstr(a:cmd, '^!\zs.*')) - else - redir => output - execute a:cmd - redir END - endif - vnew - let w:scratch = 1 - setlocal buftype=nofile bufhidden=wipe nobuflisted noswapfile - call setline(1, split(output, "\n")) -endfunction - -command! -nargs=1 -complete=command Redir silent call Redir() -" Usage: -" :Redir hi ............. show the full output of command ':hi' in a scratch window -" :Redir !ls -al ........ show the full output of command ':!ls -al' in a scratch window -"}}} -"}}} -function! ToggleHighlights() abort "{{{ - if ! exists('b:toggle_highlights_state') - " state 1 is normal, state 0 is faded - let b:toggle_highlights_state = 1 - else - let b:toggle_highlights_state = ! b:toggle_highlights_state - endif - - if b:toggle_highlights_state == 1 - hi! link Comment None - else - hi! link Comment CommentDim - endif -endfunction -"}}} -"----------------------------------------------------------------------------}}} -" #settings {{{ - -scriptencoding utf-8 -set ttyfast - -set dictionary=spell -" set thesaurus+=/usr/share/dict/mthesaur.txt -augroup Dictionary - au! - au FileType markdown,text setlocal dictionary=/usr/share/dict/aspell-dump.txt -augroup END - -" disable background color erase -" https://sunaku.github.io/vim-256color-bce.html -set t_ut= - -syntax on -set fillchars=stl:\ ,stlnc:\ ,vert:\|,fold:\ - -set guioptions-=mTrLb -set guioptions+=c - -if exists('+termguicolors') - let &t_8f = "\[38;2;%lu;%lu;%lum" - let &t_8b = "\[48;2;%lu;%lu;%lum" - set termguicolors +if exists('g:vscode') + " VSCode extension + source ~/.config/nvim/init.vscode.vim +else + source ~/.config/nvim/init.full.vim endif - -colorscheme paper-tonic - -set updatetime=100 -set timeoutlen=500 -set lazyredraw - -" https://parceljs.org/hmr.html#safe-write -set backupcopy=yes - -set title - -" the ;/home/* tells vim to stop searching at /home/* (I hope!) -set tags=./.tags,.tags,./tags-external,.tags-external;/home/* - -" persisitent undo file -set undofile -set undodir=~/.config/nvim/undodir -set backupdir=~/.nvim/tmpdir -set directory=~/.nvim/tmpdir - -set viewoptions-=options - -set nosplitbelow nosplitright -set switchbuf=uselast - -set ignorecase -set smartcase - -set wildmenu -set wildmode=longest:full,full -set wildignore+=**/node_modules/**,**/dist/**,**/.git/**,**/build/** - -" Use ag over grep -if executable('ag') - set grepprg=ag\ --nogroup\ --nocolor\ --ignore\ node_modules -endif - -set hidden - -set hlsearch - -set completeopt=menuone,noselect - -set nospell -set spelllang=en_gb - -set diffopt+=vertical - -let g:tex_flavor = 'latex' - -set rnu nu - -set tabstop=2 -set softtabstop=-1 -set shiftwidth=0 -set shiftround -set noexpandtab - -set autoindent -set breakindent -set showbreak=\ \ ↳\ - -set formatoptions=cq -set wrapmargin=0 - -setlocal cursorline - -set foldcolumn=0 -set signcolumn=yes -set colorcolumn=80,120 - -set iskeyword+=- -set scrolloff=4 -set scrolljump=4 -set showcmd - -set incsearch -set inccommand=nosplit - -set laststatus=2 -set shortmess=aoOT -set cmdheight=3 - -set foldnestmax=9 -set foldlevelstart=99 - -set showmode - -set mouse=a - -set listchars=eol:¬,tab:│\ ,trail:~,extends:>,precedes:<,space:· -set fillchars=stl:\ ,stlnc:\ ,vert:┃,fold:\ - -set statusline=\ -" buffer number -set statusline+=[%n]\ \ -" line of total_lines and percentage through file -set statusline+=%-20(%l\ of\ %L\ (%p%%)%) -" column, virtual column -set statusline+=%-10(:%c\ %((%V)%)%) -" separator, highlight color -set statusline+=%=%#StatusLineNC# -" CoC status -if exists('*coc#exists') - set statusline+=%{coc#status()} -endif -" separator -set statusline+=%=%#StatusLine# -set statusline+=%y\ -set statusline+=%r\ %m\ -set statusline+=%{&buftype==''?expand('%f'):''} -set statusline+=\ - -set conceallevel=0 -"----------------------------------------------------------------------------}}} -" #mappings {{{ -let g:mapleader = ' ' -" miscallaneous {{{ -nnoremap l :colorscheme paper-tonic -nnoremap d :colorscheme monotonous-dark -nnoremap 0 ^ -nnoremap cs :let @/="" -nnoremap nh (&hls && v:hlsearch ? ':nohls' : ':set hls')."\n" -" Focus on current fold, close the rest -nnoremap zz zMzvzt -" open quickfix window of TODOs -nnoremap td :grep -RE '(TODO\\|FIXME)' .:botright cwindow:echo len(getqflist()) 'TODOs' -" sync highlighting from start - -"}}} -" location list and quickfix mappings {{{ -nnoremap lo :botright lwindow -nnoremap :lprevzv -nnoremap :lnextzv -nnoremap lc :lclose -nnoremap lh :lhistory -nnoremap lp :lolder -nnoremap ln :lnewer - -nnoremap qo :botright cwindow -nnoremap :cprevzv -nnoremap :cnextzv -nnoremap qc :cclose -nnoremap qh :chistory -nnoremap qp :colder -nnoremap qn :cnewer - -nnoremap qt :tabnew \| cwindow - -"}}} -"----------------------------------------------------------------------------}}} -" #abbreviations {{{ - -iabbrev adn and -iabbrev waht what -iabbrev tehn then -iabbrev functin function -iabbrev positin position - -"----------------------------------------------------------------------------}}} -" #autocommands {{{ - -" template files {{{ -augroup Templates - autocmd! - autocmd BufNewFile *.sh 0read ~/.config/nvim/templates/template.sh | normal G - autocmd BufNewFile *.html 0read ~/.config/nvim/templates/template.html | normal gg - autocmd BufNewFile *.css 0read ~/.config/nvim/templates/template.css | normal G - autocmd BufNewFile *.scss 0read ~/.config/nvim/templates/template.css | normal G -augroup END - -" }}} -" persistent folds {{{ -augroup AutoSaveFolds - autocmd! - autocmd BufWrite ?* mkview - autocmd BufRead ?* silent! loadview -augroup END - -" }}} -" Show trailing whitepace and spaces before a tab: {{{ -augroup ShowWhiteSpaceErrors - autocmd! - autocmd Syntax * syn match ExtraWhitespace /\s\+$\| \+\ze\t/ containedin=ALL -augroup END - -" }}} - -" Automatically reload .vimrc if changed {{{ -augroup ReloadVimrc - autocmd! - autocmd BufWritePost .vimrc,_vimrc,vimrc,.gvimrc,_gvimrc,gvimrc so $MYVIMRC | if has('gui_running') | so $MYGVIMRC | endif -augroup END - -" }}} -" Open quickfix window{{{ -" augroup QuickFixAutoload -" autocmd! -" autocmd QuickFixCmdPost [^l]* nested botright cwindow -" autocmd QuickFixCmdPost l* nested botright lwindow -" augroup END - -augroup OnTerminalOpen - autocmd! - autocmd TermOpen * setlocal nonumber norelativenumber -augroup END - -" }}} - -"----------------------------------------------------------------------------}}} -" -" -" require lua init -lua <