Vundle.vim: :PluginUpdate fails when running from a fish shell

Created on 14 Jun 2017  路  5Comments  路  Source: VundleVim/Vundle.vim

I'm trying out the latest Vundle (downloaded and installed according to these instructions just a couple days ago).

  • vim instances: Vim 8.0 and NeoVim 0.2.0
  • terminal apps: Terminology 0.9.99 and GNOME Terminal 3.22.1
  • shell language: fish 2.3.1
  • OS: Fedora 25 Workstation x86_64 (Linux)

I only configured and installed one other plugin --- EditorConfig. The :PluginInstall command seemed to work without issue, but :PluginUpdate has trouble when (Neo)Vim is invoked from fish (as opposed to bash).

Which terminal I used doesn't seem to make a difference. Vim and NeoVim both produced errors, but slightly different errors...

Plain Vim in fish flashes this on screen for a second ---
screenshot from 2017-06-13 19-26-25
--- but then Vundle's progress window pane seems to proceed normally.

NeoVim in fish produces more verbose errors. Here's the log (from hitting l after :PluginUpdate runs).

[2017-06-13 19:29:27] Plugin URI change detected for Plugin Vundle.vim
[2017-06-13 19:29:27] >  Plugin Vundle.vim old URI: Unsupported use of '&&'. In fish, please use 'COMMAND; and COMMAND'.
[2017-06-13 19:29:27] fish: cd '/home/terrycloth/.vim/bundle/Vundle.vim' && git config --get remote.origin.url
[2017-06-13 19:29:27]                                                     ^
[2017-06-13 19:29:27] >  Plugin Vundle.vim new URI: https://github.com/VundleVim/Vundle.vim.git
[2017-06-13 19:29:27]
[2017-06-13 19:29:27] Plugin VundleVim/Vundle.vim
[2017-06-13 19:29:27] $ cd '/home/terrycloth/.vim/bundle/Vundle.vim' && git remote set-url origin 'https://github.com/VundleVim/Vundle.vim.git' && git fetch && git reset --hard origin/HEAD && git submodule update --init --recursive
[2017-06-13 19:29:27] > Unsupported use of '&&'. In fish, please use 'COMMAND; and COMMAND'.
[2017-06-13 19:29:27] > fish: cd '/home/terrycloth/.vim/bundle/Vundle.vim' && git remote set-url origin 'https://github.com/VundleVim/Vundle.vim.git' && git fetch && git reset --hard origin/HEAD && git submodule update --init --recursive
[2017-06-13 19:29:27] >                                                     ^
[2017-06-13 19:29:27] >
[2017-06-13 19:29:28] Plugin URI change detected for Plugin editorconfig-vim
[2017-06-13 19:29:28] >  Plugin editorconfig-vim old URI: Unsupported use of '&&'. In fish, please use 'COMMAND; and COMMAND'.
[2017-06-13 19:29:28] fish: cd '/home/terrycloth/.vim/bundle/editorconfig-vim' && git config --get remote.origin.url
[2017-06-13 19:29:28]                                                           ^
[2017-06-13 19:29:28] >  Plugin editorconfig-vim new URI: https://github.com/editorconfig/editorconfig-vim.git
[2017-06-13 19:29:28]
[2017-06-13 19:29:28] Plugin editorconfig/editorconfig-vim
[2017-06-13 19:29:28] $ cd '/home/terrycloth/.vim/bundle/editorconfig-vim' && git remote set-url origin 'https://github.com/editorconfig/editorconfig-vim.git' && git fetch && git reset --hard origin/HEAD && git submodule update --init --recursive
[2017-06-13 19:29:28] > Unsupported use of '&&'. In fish, please use 'COMMAND; and COMMAND'.
[2017-06-13 19:29:28] > fish: cd '/home/terrycloth/.vim/bundle/editorconfig-vim' && git remote set-url origin 'https://github.com/editorconfig/editorconfig-vim.git' && git fetch && git reset --hard origin/HEAD && git submodule update --init --recursive
[2017-06-13 19:29:28] >                                                           ^
[2017-06-13 19:29:28] >
[2017-06-13 19:29:29]
[2017-06-13 19:29:29] Helptags:
[2017-06-13 19:29:29] :helptags /home/terrycloth/.vim/bundle/Vundle.vim/doc
[2017-06-13 19:29:29] :helptags /home/terrycloth/.vim/bundle/editorconfig-vim/doc
[2017-06-13 19:29:29] Helptags: 2 plugins processed

Most helpful comment

All 5 comments

If Vundle is doing shell commands under the hood, then you might want to make sure it's always actually using bash, because while alternative shells like zsh and fish are mostly compatible with bash, their syntax is not identical...

Oh, yes, that fixes it. Sorry I didn't notice that wiki page before. Thanks!

Great 馃槃

Hello! I'm sorry to resurrect a closed issue, but this issue currently trends high when searching for why a fish config with (neo)vim and Vundle are slow. The link provided above by vimishor does indeed contain a fix for me (in .vimrc, set shell=bash), however it also suggests fixing the issue by writing a function to execute the update command properly.

It is insufficient to use the fish command suggested in that article. Doing so will fix the error when executing :PluginUpdate, yes, but it will leave your vim instance very sluggish as it generates errors while trying to handle the broken environment. What's worse is that these errors seem to be effectively swallowed, at least in my setup, to the point of requiring trial-and-error to fix.

Hopefully this helps someone else not lose an afternoon to figuring out 'why is my vim so slow these days, anyway?' (For the record, switching buffers was taking 5-6 seconds. It did seem to slowly creep to that level of latency, so I wonder if there's some logfile it's appending to and re-scanning on each error.)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

eiger3970 picture eiger3970  路  5Comments

genokan picture genokan  路  4Comments

kobiljonergashev picture kobiljonergashev  路  7Comments

unode picture unode  路  5Comments

Zane-XY picture Zane-XY  路  8Comments