# 불과 수십MB 정도 파일 오픈이 완료되기까지 수십초가 걸린다.
# 물론 설정된 .vimrc 를 지우면 빠르다.
# 테스트 파일 40MB 정도의 바이너라파일 다운로드
curl -o aws-iam-authenticator https://amazon-eks.s3.us-west-2.amazonaws.com/1.19.6/2021-01-05/bin/darwin/amd64/aws-iam-authenticator
# 파일을 열때 zzz.log 파일에 각 단계별 소요 시간 측정
vim --startuptime zzz.log aws-iam-authenticator
# 측정 결과 파일을 열어 보자.
vi zzz.log
# 시간은 ms 단위로 각 라인은 다음 2가지 포맷 중 하나로 표시된다.
# clock self+sourced self: sourced script
# clock elapsed: other lineskj
... 생략 ...
517.709 001.802 001.361: sourcing /Users/ysoftman/.vim/plugged/lightline.vim/autoload/lightline/colorscheme/one.vim
30908.522 000.736 000.736: sourcing /Users/ysoftman/.vim/plugged/ctrlp.vim/autoload/ctrlp/utils.vim
30920.392 30422.338: BufEnter autocommands
30920.397 000.005: editing files in windows
... 생략 ...
# BufEnter autocommand 단계가 30초가 넘는다(30422.338)
# 이 부분은 파일을 버퍼로 읽은 후 파일 타입에 맞는 셋팅들이 자동으로 실행되는 부분이다.
# 확인해보면 다수의 플러그인이 실행된다.
:autocmd BufEnter
--- Autocommands ---
filetypedetect BufEnter
*.xpm if getline(1) =~ "XPM2" | setf xpm2 | else | setf xpm | endif
*.xpm2 setf xpm2
NERDTree BufEnter
NERD_tree_*
stopinsert
NERDTreeHijackNetrw BufEnter
* call nerdtree#checkForBrowse(expand("<amatch>"))
NERDCommenter BufEnter
* :call s:SetUpForNewFiletype(&filetype, 0)
... 생략 ...
vimball#ShowMesg(0,"Source this file to extract it! (:so %)")|endif
fugitive_status BufEnter
index call s:ReloadWinStatus()
index.lock
call s:ReloadWinStatus()
fugitive_merge BufEnter
* if exists('s:rebase_continue') | exe s:MergeRebase('rebase', 0, '', [getfsize(fugitive#Find('.git/rebase-merge
/git-rebase-todo', s:rebase_continue)) > 0 ? '--continue' : '--abort'], remove(s:, 'rebase_continue')) | endif
Colorizer BufEnter
* silent call colorizer#ColorHighlight(1)
youcompleteme BufEnter
* call s:OnBufferEnter()
call s:UpdateMatches()
TagbarAutoCmds BufEnter
* if expand('<amatch>') !~ '__Tagbar__.*' | let s:last_alt_bufnr = bufnr('#') | endif
call s:AutoUpdate(fnamemodify(expand('<afile>'), ':p'), 0)
# 위에 나온 플러그인들을 .vimrc 에서 주석 처리하며 파일 오픈 해본 결과
# 다음 플러그인을 비활성화(주석처리)하면 빠르다.
# #123 처럼 #로 시작하면 컬러값을 표시해주는 플러그인으로 역시 전체 파일에서 해당 부분을 찾아 처리하는게 느린것 같다.
# 꼭 필요한 기능은 아니니 주석처리 하자.
"Plug 'lilydjwg/colorizer'