junegunn / vim-plug

:hibiscus: Minimalist Vim Plugin Manager
https://junegunn.github.io/vim-plug/
MIT License
34.15k stars 1.93k forks source link

PlugInstall interrupted via command line #228

Closed abhigupta912 closed 9 years ago

abhigupta912 commented 9 years ago

uname: Linux 3.16.7.10-1-MANJARO x86_64 GNU/Linux

vim:

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Apr 23 2015 11:27:15)
Included patches: 1-712
Compiled by Arch Linux
Huge version with GTK2 GUI.

I am trying to install plugins (among other things) using a bash script. I have the following in my install script:

vim +PlugInstall tmpbuf

I get the following output when PlugInstall is executed:

Updated. Elapsed time: 0.596644 sec.
[xxxxxxxxxxxxxxx      ]

- Finishing ... Done!
x vim-repeat: Interrupted!
x vim-commentary: Interrupted!
x rust.vim: Interrupted!
x ultisnips: Interrupted!
x vim-fugitive: Interrupted!
x vim-surround: Interrupted!
x syntastic: Interrupted!
x vim-multiple-cursors: Interrupted!
x vim-exchange: Interrupted!
x vim-atom-dark: Interrupted!
x unite.vim: Interrupted!
x incsearch.vim: Interrupted!
x vim-airline: Interrupted!
x vim-easy-align: Interrupted!
x lexima.vim: Interrupted!

I am using the latest vim-plug. Downloaded today. I have tried using both vim and gvim. If I specify +qall then the window closes before I can get the output. Plugins are not installed.

I can always start vim and manually issue :PlugInstall and that works fine. I was just hoping to do this via a script.

Note that the following works fine via the same script:

vim +GoInstallBinaries +qall tmpbuf

Please let me know if more information is required.

junegunn commented 9 years ago

Strange, could you post the output of :version?

(BTW, tmpbuf in your commands can be omitted)

junegunn commented 9 years ago

I also like to make sure that it's not caused by some plugin or your Vim configuration. Please try again with a minimal vimrc such as follows:

" mini-vimrc
call plug#begin('~/.vim/plugged')
Plug 'tpope/vim-repeat'
Plug 'tpope/vim-surround'
call plug#end()

Then, vim -Nu mini-vimrc +PlugInstall

abhigupta912 commented 9 years ago

Output of :version

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Apr 23 2015 11:27:15)
Included patches: 1-712
Compiled by Arch Linux
Huge version with GTK2 GUI.  Features included (+) or not (-):
+acl             +cmdline_info    +emacs_tags      -hangul_input    +menu            +mouse_xterm     -python3         +syntax          +virtualedit     +xsmp_interact
+arabic          +comments        +eval            +iconv           +mksession       +multi_byte      +quickfix        +tag_binary      +visual          +xterm_clipboard
+autocmd         +conceal         +ex_extra        +insert_expand   +modify_fname    +multi_lang      +reltime         +tag_old_static  +visualextra     -xterm_save
+balloon_eval    +cryptv          +extra_search    +jumplist        +mouse           -mzscheme        +rightleft       -tag_any_white   +viminfo         -xpm
+browse          +cscope          +farsi           +keymap          +mouseshape      +netbeans_intg   +ruby            -tcl             +vreplace        
++builtin_terms  +cursorbind      +file_in_path    +langmap         +mouse_dec       +path_extra      +scrollbind      +terminfo        +wildignore      
+byte_offset     +cursorshape     +find_in_path    +libcall         +mouse_gpm       +perl            +signs           +termresponse    +wildmenu        
+cindent         +dialog_con_gui  +float           +linebreak       -mouse_jsbterm   +persistent_undo +smartindent     +textobjects     +windows         
+clientserver    +diff            +folding         +lispindent      +mouse_netterm   +postscript      -sniff           +title           +writebackup     
+clipboard       +digraphs        -footer          +listcmds        +mouse_sgr       +printer         +startuptime     +toolbar         +X11             
+cmdline_compl   +dnd             +fork()          +localmap        -mouse_sysmouse  +profile         +statusline      +user_commands   -xfontset        
+cmdline_hist    -ebcdic          +gettext         +lua             +mouse_urxvt     +python          -sun_workshop    +vertsplit       +xim             
   system vimrc file: "/etc/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "/etc/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libdrm -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz  -D_FORTIFY_SOURCE=2  -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1      
Linking: gcc   -L. -Wl,-O1,--sort-common,--as-needed,-z,relro -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E -Wl,-rpath,/usr/lib/perl5/core_perl/CORE  -Wl,-O1,--sort-common,--as-needed,-z,relro -L/usr/local/lib -Wl,--as-needed -o vim   -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype  -lSM -lICE -lXt -lX11 -lXdmcp -lSM -lICE  -lm -lncurses -lelf -lnsl   -lacl -lattr -lgpm -ldl  -L/usr/lib -llua -Wl,-E -Wl,-rpath,/usr/lib/perl5/core_perl/CORE -Wl,-O1,--sort-common,--as-needed,-z,relro -fstack-protector -L/usr/local/lib  -L/usr/lib/perl5/core_perl/CORE -lperl -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc -L/usr/lib/python2.7/config -lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic   -lruby -lpthread -lgmp -ldl -lcrypt -lm  -L/usr/lib
abhigupta912 commented 9 years ago

Using the mini-vimrc approach worked. So it is perhaps a misbehaving plugin. However installation works fine with almost all the plugins on windows. I just have a manually managed plugin racer in linux that I don't use on windows.

abhigupta912 commented 9 years ago

I tried adding all the plugins to the mini-vimrc one by one and doing the install via command line and that worked fine. So it is perhaps not the plugins themselves but the number of plugins?

Also if I don't issue the +qall at the command line, thus keeping the vim window open, I can press R to retry and then the installation goes through fine.

junegunn commented 9 years ago

So it is perhaps not the plugins themselves but the number of plugins?

No, number shouldn't matter. Then it's probably something in your .vimrc. Any idea? Could you post your .vimrc?

abhigupta912 commented 9 years ago

Linux : vimrc Windows: vimrc

Thanks for looking into this.

starcraftman commented 9 years ago

@abhigupta912 On Linux I was able to reproduce. I tried the different installers and it seems to be isolated to the ruby installer. VimL & Python continued working. Can you delete lines 88-96 inclusive & try to reproduce. Once I deleted those, it didn't reproduce.

Additional notes:

@junegunn Even if it is local, seems weird only affected ruby installer. Perhaps another vim bug?

Edit: I didn't try the Windows one, if it happens there too can you try the same solution please.

junegunn commented 9 years ago

@starcraftman Thanks for the investigation!

I could reproduce on OS X as well. It turned out that the error from &statusline affected the interrupt handler of Ruby installer. Once evaluation of &statusline is failed, it is reverted to prevent more errors. So a workaround was to force evaluation of &statusline before running the installer.

starcraftman commented 9 years ago

@junegunn No problem.

abhigupta912 commented 9 years ago

@starcraftman Thanks for the investigation and suggestions. @junegunn Thanks for the investigation and fix. vim +PlugInstall works as expected now.

OJFord commented 8 years ago

I'll throw another solution ("works for me") in here in case someone else hits this: remove everything in .vim/bundle (i.e. remnants of a previous plugin manager) first.