aboutsummaryrefslogtreecommitdiff
path: root/core/autocommands.vim
diff options
context:
space:
mode:
authorjdhao <jdhao@hotmail.com>2023-10-11 20:40:45 +0200
committerjdhao <jdhao@hotmail.com>2023-10-11 20:41:25 +0200
commitb1f0ef63ef162e7fb9ee0beaec2e22d7ebf40030 (patch)
tree2044ba5c503b1aa257d69eb0c7c866d39836e615 /core/autocommands.vim
parent54ca6d419198fcca6d7b8f6f81b7fa6d32e2e45c (diff)
Rename vimscript conf directory
Diffstat (limited to 'core/autocommands.vim')
-rw-r--r--core/autocommands.vim123
1 files changed, 0 insertions, 123 deletions
diff --git a/core/autocommands.vim b/core/autocommands.vim
deleted file mode 100644
index 0fad842..0000000
--- a/core/autocommands.vim
+++ /dev/null
@@ -1,123 +0,0 @@
-" Do not use smart case in command line mode, extracted from https://vi.stackexchange.com/a/16511/15292.
-augroup dynamic_smartcase
- autocmd!
- autocmd CmdLineEnter : set nosmartcase
- autocmd CmdLineLeave : set smartcase
-augroup END
-
-augroup term_settings
- autocmd!
- " Do not use number and relative number for terminal inside nvim
- autocmd TermOpen * setlocal norelativenumber nonumber
- " Go to insert mode by default to start typing command
- autocmd TermOpen * startinsert
-augroup END
-
-" More accurate syntax highlighting? (see `:h syn-sync`)
-augroup accurate_syn_highlight
- autocmd!
- autocmd BufEnter * :syntax sync fromstart
-augroup END
-
-" Return to last cursor position when opening a file
-augroup resume_cursor_position
- autocmd!
- autocmd BufReadPost * call s:resume_cursor_position()
-augroup END
-
-" Only resume last cursor position when there is no go-to-line command (something like '+23').
-function s:resume_cursor_position() abort
- if line("'\"") > 1 && line("'\"") <= line("$") && &ft !~# 'commit'
- let l:args = v:argv " command line arguments
- for l:cur_arg in l:args
- " Check if a go-to-line command is given.
- let idx = match(l:cur_arg, '\v^\+(\d){1,}$')
- if idx != -1
- return
- endif
- endfor
-
- execute "normal! g`\"zvzz"
- endif
-endfunction
-
-augroup numbertoggle
- autocmd!
- autocmd BufEnter,FocusGained,InsertLeave,WinEnter * if &nu | set rnu | endif
- autocmd BufLeave,FocusLost,InsertEnter,WinLeave * if &nu | set nornu | endif
-augroup END
-
-" Define or override some highlight groups
-augroup custom_highlight
- autocmd!
- autocmd ColorScheme * call s:custom_highlight()
-augroup END
-
-function! s:custom_highlight() abort
- " For yank highlight
- highlight YankColor ctermfg=59 ctermbg=41 guifg=#34495E guibg=#2ECC71
-
- " For cursor colors
- highlight Cursor cterm=bold gui=bold guibg=#00c918 guifg=black
- highlight Cursor2 guifg=red guibg=red
-
- " For floating windows border highlight
- highlight FloatBorder guifg=LightGreen guibg=NONE
-
- " highlight for matching parentheses
- highlight MatchParen cterm=bold,underline gui=bold,underline
-endfunction
-
-augroup auto_close_win
- autocmd!
- autocmd BufEnter * call s:quit_current_win()
-augroup END
-
-" Quit Nvim if we have only one window, and its filetype match our pattern.
-function! s:quit_current_win() abort
- let l:quit_filetypes = ['qf', 'vista', 'NvimTree']
-
- let l:should_quit = v:true
-
- let l:tabwins = nvim_tabpage_list_wins(0)
- for w in l:tabwins
- let l:buf = nvim_win_get_buf(w)
- let l:bf = getbufvar(l:buf, '&filetype')
-
- if index(l:quit_filetypes, l:bf) == -1
- let l:should_quit = v:false
- endif
- endfor
-
- if l:should_quit
- qall
- endif
-endfunction
-
-augroup git_repo_check
- autocmd!
- autocmd VimEnter,DirChanged * call utils#Inside_git_repo()
-augroup END
-
-" ref: https://vi.stackexchange.com/a/169/15292
-function! s:handle_large_file() abort
- let g:large_file = 10485760 " 10MB
- let f = expand("<afile>")
-
- if getfsize(f) > g:large_file || getfsize(f) == -2
- set eventignore+=all
- " turning off relative number helps a lot
- set norelativenumber
- setlocal noswapfile bufhidden=unload buftype=nowrite undolevels=-1
- else
- set eventignore-=all relativenumber
- endif
-endfunction
-
-augroup LargeFile
- autocmd!
- autocmd BufReadPre * call s:handle_large_file()
-augroup END
-
-" Load auto-command defined in Lua
-lua require("custom-autocmd")