macvim-dev / macvim

Vim - the text editor - for macOS
https://macvim.org
Vim License
7.53k stars 685 forks source link

Extremely slow on #1187

Closed ckangnz closed 3 years ago

ckangnz commented 3 years ago

I'm on BigSur OS 11.2.3 MacBook Pro (16-inch, 2019)

I first unlink vim with brew : brew unlink vim Then I installed both vim and macvim via brew : brew install vim && brew install macvim Then I link macvim : brew unlink macvim && brew link macvim BUT macvim is not in the Applications folder. I moved and symlinked macvim : mv /usr/local/Cellar/macvim/8.2-171/Macvim.app / Applications then ln -s /Applications/Macvim.app /usr/local/Cellar/macvim/8.2-171

When I open macvim by running mvim on iterm2 (v 3.4.5) OR terminal, it takes more than 20sec.

I tried running mvim --startuptime log.txt and i can see the issue is from starting GUI

To Reproduce

  1. I first unlink vim with brew : brew unlink vim
  2. Then I installed both vim and macvim via brew : brew install vim && brew install macvim
  3. Then I link macvim : brew unlink macvim && brew link macvim
  4. BUT macvim is not in the Applications folder.
  5. I moved and symlinked macvim : mv /usr/local/Cellar/macvim/8.2-171/Macvim.app / Applications then ln -s /Applications/Macvim.app /usr/local/Cellar/macvim/8.2-171
  6. Macvim takes 10000ms+ to start GUI

Expected behavior Macvim should open as quick as vanilla vim (vim works totally fine)

Screenshots image

Environment (please complete the following information): VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Apr 1 2021 21:01:42) macOS version - x86_64 Included patches: 1-2681 Compiled by Homebrew Huge version with MacVim GUI. Features included (+) or not (-): +acl +file_in_path -mouse_sysmouse -tag_old_static +arabic +find_in_path +mouse_urxvt -tag_any_white +autocmd +float +mouse_xterm +tcl +autochdir +folding +multi_byte +termguicolors -autoservername -footer +multi_lang +terminal +balloon_eval +fork() -mzscheme +terminfo +balloon_eval_term +fullscreen +netbeans_intg +termresponse +browse +gettext +num64 +textobjects ++builtin_terms -hangul_input +odbeditor +textprop +byte_offset +iconv +packages +timers +channel +insert_expand +path_extra +title +cindent +ipv6 +perl +toolbar +clientserver +job +persistent_undo +transparency +clipboard +jumplist +popupwin +user_commands +cmdline_compl +keymap +postscript +vartabs +cmdline_hist +lambda +printer +vertsplit +cmdline_info +langmap +profile +virtualedit +comments +libcall -python +visual +conceal +linebreak +python3 +visualextra +cryptv +lispindent +quickfix +viminfo +cscope +listcmds +reltime +vreplace +cursorbind +localmap +rightleft +wildignore +cursorshape +lua +ruby +wildmenu +dialog_con_gui +menu +scrollbind +windows +diff +mksession +signs +writebackup +digraphs +modify_fname +smartindent -X11 +dnd +mouse -sound -xfontset -ebcdic +mouseshape +spell +xim +emacs_tags +mouse_dec +startuptime -xpm +eval -mouse_gpm +statusline -xsmp +ex_extra -mouse_jsbterm -sun_workshop -xterm_clipboard +extra_search +mouse_netterm +syntax -xterm_save -farsi +mouse_sgr +tag_binary system vimrc file: "$VIM/vimrc" user vimrc file: "$HOME/.vimrc" 2nd user vimrc file: "~/.vim/vimrc" user exrc file: "$HOME/.exrc" system gvimrc file: "$VIM/gvimrc" user gvimrc file: "$HOME/.gvimrc" 2nd user gvimrc file: "~/.vim/gvimrc" defaults file: "$VIMRUNTIME/defaults.vim" system menu file: "$VIMRUNTIME/menu.vim" fall-back for $VIM: "/Applications/MacVim.app/Contents/Resources/vim" Compilation: clang -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe -DMACOS_X -DMACOS_X_DARWIN -g -O2 -arch x86_64 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 Linking: clang -L. -fstack-protector-strong -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/openssl@1.1/lib -L/usr/local/opt/readline/lib -L. -fstack-protector-strong -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/openssl@1.1/lib -L/usr/local/opt/readline/lib -arch x86_64 -L/usr/local/lib -o Vim -lm -lncurses -liconv /usr/local/lib/libintl.a -framework AppKit -L/usr/local/opt/lua/lib -llua5.4 -fstack-protector-strong -L/System/Library/Perl/5.28/darwin-thread-multi-2level/CORE -lperl -L/usr/local/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/lib/python3.9/config-3.9-darwin -lpython3.9 -framework CoreFoundation -F/System/Library/Frameworks -framework Tcl -framework CoreFoundation -lruby.3.0 -L/usr/local/Cellar/ruby/3.0.0_1/lib

eirnym commented 3 years ago

Hi,

Could you try a few things? It's important to know where exactly is a problem as I can't reproduce it on my MacVim

1) download MacVim from Github and test it in same environment 2) download source tarball and build yourself

important info: I use MacVim from GitHub and know that vim for MacVim is altered to support MacVim-releated commands

ckangnz commented 3 years ago

Just treid your 1. suggestion. It still opens really slowly. My current solution is keeping my macvim when the late buffer closes so that it is always ready to be re-opened. This way, macvim doesn't have to load the UI and it opens from iterm2 instantly.

I also replicated the entire setup on my mac mini at home, but mac mini had no issue.

@eirnym could you please elaborate on 2.? What's tarball. I'm not aware of it

eirnym commented 3 years ago

I do following:

After MacVim is built find a folder MacVim.app, and open it as an application in Finder (open . opens current directory in Finder, very useful)

eirnym commented 3 years ago

Could you also share your vimrc and try some other one, like mine?

If you share yours, I'll try it on my side and will try to investigate the problem

ckangnz commented 3 years ago

@eirnym when i reboot my macbook, macvim works perfectly fine. I think it's after once my macbook goes to sleep for a while, and when wakes up, it lags like crazy. Probably some software installed from my office might be causing this.

I will close this issue for now and will update if i figure out what the issue is.

Cheers for helping out.

eirnym commented 3 years ago

I'm glad you've resolved the issue for now.