liuchengxu / space-vim

:four_leaf_clover: Lean & mean spacemacs-ish Vim distribution
https://liuchengxu.github.io/space-vim/
MIT License
2.85k stars 255 forks source link

添加新Layer,vim无法启用 #60

Closed fhefh2015 closed 7 years ago

fhefh2015 commented 7 years ago

Environment

Problem Description

.spacevim中,修改了如下代码:

function! Layers()

    " Default layers, recommended!
    Layer 'fzf'
    Layer 'unite'
    Layer 'better-defaults'
    Layer 'python'

endfunction

按照说明文档执行了,但是vim启动就闪退了。

注意,如果是首次启用一个 layer,需要执行 SPC f R, 或者 :so $MYVIMRC, 或者退出在打开 vim, 重新加载 .vimrc 并执行 :PlugInstall 安装所需的相关插件 。

liuchengxu commented 7 years ago

闪退?好像至今没有遇到过..。那有试过再重新打开 vim 吗?它应该会自动安装缺失的插件。 如果没有自动安装,尝试手动安装 :PlugInstall, 先看能够保证正常使用。

中文的说明有点落后了,我会在下次提交时更新...., 现在 vim-plug 会在 vim 启动时检查是否有启用但是尚未安装的插件并自动安装。

fhefh2015 commented 7 years ago

@liuchengxu

步骤:

  1. 打开.spacevim进行编辑,添加Layer 'python'
  2. 执行so $MYVIMRC
  3. 执行wq保存

然后再次执行vim打开文件,就打不开闪退了。

liuchengxu commented 7 years ago

你可以用其他工具打开 .spacevim 去除 Layer 'python' 看是否恢复正常吗?

fhefh2015 commented 7 years ago

@liuchengxu 用其他编辑工具编辑,去除Layer 'python' 可以正常使用

liuchengxu commented 7 years ago

@fhefh2015 看添加其他 Layer 是否正常,比如 Layer 'goyo'. 另外看添加 Layer 'python' 在 terminal 中是否正常,这个问题真的是没有遇到过。我只遇到过 emacs 闪退,然后重装 emacs 解决....。

fhefh2015 commented 7 years ago

@liuchengxu

依旧有问题

vim相关信息

VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Dec 26 2016 11:52:23)
MacOS X (unix) version
Included patches: 1-134
Compiled by Homebrew
Huge version without GUI.  Features included (+) or not (-):
+acl             +file_in_path    +mouse_sgr       +tag_old_static
+arabic          +find_in_path    -mouse_sysmouse  -tag_any_white
+autocmd         +float           +mouse_urxvt     -tcl
-balloon_eval    +folding         +mouse_xterm     +termguicolors
-browse          -footer          +multi_byte      +terminfo
++builtin_terms  +fork()          +multi_lang      +termresponse
+byte_offset     -gettext         -mzscheme        +textobjects
+channel         -hangul_input    +netbeans_intg   +timers
+cindent         +iconv           +num64           +title
-clientserver    +insert_expand   +packages        -toolbar
+clipboard       +job             +path_extra      +user_commands
+cmdline_compl   +jumplist        +perl            +vertsplit
+cmdline_hist    +keymap          +persistent_undo +virtualedit
+cmdline_info    +lambda          +postscript      +visual
+comments        +langmap         +printer         +visualextra
+conceal         +libcall         +profile         +viminfo
+cryptv          +linebreak       +python          +vreplace
+cscope          +lispindent      -python3         +wildignore
+cursorbind      +listcmds        +quickfix        +wildmenu
+cursorshape     +localmap        +reltime         +windows
+dialog_con      +lua             +rightleft       +writebackup
+diff            +menu            +ruby            -X11
+digraphs        +mksession       +scrollbind      -xfontset
-dnd             +modify_fname    +signs           -xim
-ebcdic          +mouse           +smartindent     -xpm
+emacs_tags      -mouseshape      +startuptime     -xsmp
+eval            +mouse_dec       +statusline      -xterm_clipboard
+ex_extra        -mouse_gpm       -sun_workshop    -xterm_save
+extra_search    -mouse_jsbterm   +syntax
+farsi           +mouse_netterm   +tag_binary
system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc"
2nd user vimrc file: "~/.vim/vimrc"
user exrc file: "$HOME/.exrc"
defaults file: "$VIMRUNTIME/defaults.vim"
fall-back for $VIM: "/usr/local/share/vim"
Compilation: clang -c -I. -Iproto -DHAVE_CONFIG_H   -DMACOS_X_UNIX  -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: clang   -L. -L/usr/local/lib  -L/usr/local/lib -o vim        -lm  -lncurses -liconv -framework Cocoa  -L/usr/local/lib -llua -fstack-protector  -L/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE -lperl -framework Python   -lruby.2.0.0 -lobjc
liuchengxu commented 7 years ago

vim -u NONE -N 不启用 vimrc, 看 vim 能够正常启动。

fhefh2015 commented 7 years ago

vim -u NONE -N, 执行该命令后,可以正常启动

liuchengxu commented 7 years ago

vim --startuptime vim.log 然后看一下 vim.log 的内容。

这个问题我这里无法重现,所以需要你多尝试:不同 terminal app, 不同 shell, 看是否可能由这些因素导致。

fhefh2015 commented 7 years ago

times in msec
 clock   self+sourced   self:  sourced script
 clock   elapsed:              other lines

000.006  000.006: --- VIM STARTING ---
000.108  000.102: Allocated generic buffers
000.619  000.511: locale set
000.625  000.006: clipboard setup
000.634  000.009: window checked
001.183  000.549: inits 1
001.189  000.006: parsing arguments
001.190  000.001: expanding arguments
005.330  004.140: shell init
005.624  000.294: Termcap init
005.677  000.053: inits 2
005.975  000.298: init highlight
032.378  025.332  025.332: sourcing /Users/fhefh/.space-vim/core/autoload/core_config.vim
035.094  002.573  002.573: sourcing /Users/fhefh/.vim/autoload/plug.vim
035.582  000.041  000.041: sourcing /Users/fhefh/.spacevim
035.902  000.105  000.105: sourcing /Users/fhefh/.space-vim/layers/+distributions/spacevim/packages.vim
036.185  000.185  000.185: sourcing /Users/fhefh/.space-vim/layers/+tools/fzf/packages.vim
036.480  000.196  000.196: sourcing /Users/fhefh/.space-vim/layers/+completion/unite/packages.vim
037.425  000.846  000.846: sourcing /Users/fhefh/.space-vim/layers/+vim/better-defaults/packages.vim
038.413  000.353  000.353: sourcing /Users/fhefh/.space-vim/layers/+fun/goyo/packages.vim
072.584  023.143  023.143: sourcing /usr/local/share/vim/vim80/filetype.vim
073.292  000.092  000.092: sourcing /usr/local/share/vim/vim80/ftplugin.vim
073.788  000.078  000.078: sourcing /usr/local/share/vim/vim80/indent.vim
075.872  001.267  001.267: sourcing /usr/local/share/vim/vim80/syntax/syncolor.vim
076.055  001.610  000.343: sourcing /usr/local/share/vim/vim80/syntax/synload.vim
076.103  001.888  000.278: sourcing /usr/local/share/vim/vim80/syntax/syntax.vim
076.849  000.295  000.295: sourcing /usr/local/Cellar/vim/8.0.0134_2/share/vim/vim80/syntax/nosyntax.vim
077.369  000.238  000.238: sourcing /usr/local/share/vim/vim80/syntax/syncolor.vim
077.503  000.517  000.279: sourcing /usr/local/share/vim/vim80/syntax/synload.vim
077.544  001.056  000.244: sourcing /usr/local/share/vim/vim80/syntax/syntax.vim
077.779  000.046  000.046: sourcing /usr/local/share/vim/vim80/filetype.vim
077.956  000.018  000.018: sourcing /usr/local/share/vim/vim80/ftplugin.vim
078.101  000.016  000.016: sourcing /usr/local/share/vim/vim80/indent.vim
079.043  000.239  000.239: sourcing /usr/local/share/vim/vim80/syntax/syncolor.vim
079.670  003.428  002.053: sourcing /Users/fhefh/.vim/plugged/vim-better-default/plugin/default.vim
080.988  000.243  000.243: sourcing /usr/local/share/vim/vim80/syntax/syncolor.vim
081.556  000.230  000.230: sourcing /usr/local/share/vim/vim80/syntax/syncolor.vim
081.983  000.229  000.229: sourcing /usr/local/share/vim/vim80/syntax/syncolor.vim
085.836  005.389  004.687: sourcing /Users/fhefh/.vim/plugged/space-vim-dark/colors/space-vim-dark.vim
086.162  006.209  000.820: sourcing /Users/fhefh/.space-vim/layers/+distributions/spacevim/config.vim
086.456  000.144  000.144: sourcing /Users/fhefh/.space-vim/layers/+tools/fzf/config.vim
087.019  000.429  000.429: sourcing /Users/fhefh/.space-vim/layers/+completion/unite/config.vim
088.578  000.634  000.634: sourcing /Users/fhefh/.space-vim/layers/+vim/better-defaults/keybindings.vim
088.588  001.435  000.801: sourcing /Users/fhefh/.space-vim/layers/+vim/better-defaults/config.vim
089.050  000.043  000.043: sourcing /Users/fhefh/.space-vim/layers/+fun/goyo/config.vim
089.490  082.945  016.425: sourcing $HOME/.vimrc
089.529  000.609: sourcing vimrc file(s)
089.897  000.076  000.076: sourcing /Users/fhefh/.vim/plugged/vim-better-default/plugin/default.vim
092.223  001.832  001.832: sourcing /Users/fhefh/.fzf/plugin/fzf.vim
093.580  001.107  001.107: sourcing /Users/fhefh/.vim/plugged/fzf.vim/plugin/fzf.vim
094.517  000.453  000.453: sourcing /Users/fhefh/.vim/plugged/unite.vim/autoload/unite/custom.vim
094.673  000.792  000.339: sourcing /Users/fhefh/.vim/plugged/unite.vim/plugin/unite/bookmark.vim
094.819  000.107  000.107: sourcing /Users/fhefh/.vim/plugged/unite.vim/plugin/unite/buffer.vim
094.961  000.106  000.106: sourcing /Users/fhefh/.vim/plugged/unite.vim/plugin/unite/window.vim
095.271  000.249  000.249: sourcing /Users/fhefh/.vim/plugged/unite.vim/plugin/unite.vim
095.808  000.405  000.405: sourcing /Users/fhefh/.vim/plugged/vim-rsi/plugin/rsi.vim
096.105  000.170  000.170: sourcing /Users/fhefh/.vim/plugged/vim-startify/plugin/startify.vim
097.795  001.185  001.185: sourcing /Users/fhefh/.vim/plugged/vim-surround/plugin/surround.vim
098.224  000.249  000.249: sourcing /Users/fhefh/.vim/plugged/vim-cursorword/plugin/cursorword.vim
099.444  000.643  000.643: sourcing /Users/fhefh/.vim/plugged/vim-multiple-cursors/plugin/multiple_cursors.vim
108.980  009.361  009.361: sourcing /Users/fhefh/.vim/plugged/vim-easymotion/plugin/EasyMotion.vim
111.298  000.228  000.228: sourcing /usr/local/share/vim/vim80/plugin/getscriptPlugin.vim
112.202  000.808  000.808: sourcing /usr/local/share/vim/vim80/plugin/gzip.vim
113.649  001.020  001.020: sourcing /usr/local/share/vim/vim80/plugin/logiPat.vim
113.793  000.045  000.045: sourcing /usr/local/share/vim/vim80/plugin/manpager.vim
114.456  000.594  000.594: sourcing /usr/local/share/vim/vim80/plugin/matchparen.vim
116.566  001.843  001.843: sourcing /usr/local/share/vim/vim80/plugin/netrwPlugin.vim
116.714  000.041  000.041: sourcing /usr/local/share/vim/vim80/plugin/rrhelper.vim
116.853  000.068  000.068: sourcing /usr/local/share/vim/vim80/plugin/spellfile.vim
117.247  000.316  000.316: sourcing /usr/local/share/vim/vim80/plugin/tarPlugin.vim
118.114  000.476  000.476: sourcing /usr/local/share/vim/vim80/plugin/tohtml.vim
118.639  000.429  000.429: sourcing /usr/local/share/vim/vim80/plugin/vimballPlugin.vim
119.118  000.381  000.381: sourcing /usr/local/share/vim/vim80/plugin/zipPlugin.vim
119.165  007.105: loading plugins
119.422  000.257: loading packages
119.478  000.056: loading after plugins
119.492  000.014: inits 3
121.630  002.138: reading viminfo
121.691  000.061: setting raw mode
121.698  000.007: start termcap
123.187  001.489: clearing screen
124.804  001.617: opening buffers
125.193  000.107  000.107: sourcing /Users/fhefh/.vim/plugged/vim-cursorword/autoload/cursorword.vim
125.249  000.338: BufEnter autocommands
125.252  000.003: editing files in windows
128.960  001.580  001.580: sourcing /Users/fhefh/.vim/plugged/vim-startify/autoload/startify.vim
139.460  000.352  000.352: sourcing /Users/fhefh/.vim/plugged/vim-startify/syntax/startify.vim
liuchengxu commented 7 years ago

相关配置的确是加载了,如果添加 Layer 有问题的话,去除 Layer 会有问题吗?比如去掉 Layer 'unite'.

fhefh2015 commented 7 years ago

去掉Layer 'unite'可正常运行

liuchengxu commented 7 years ago

添加一个 Layer 有问题,如果添加多个呢?比如:

Layer 'python'
Layer 'syntax-checking'

另外保持 Layers() 正常,看能否在 UserInit() 中添加插件, 比如 Plug 'mbbill/undotree', { 'on': 'UndotreeToggle' }

fhefh2015 commented 7 years ago

无法运行

使用vim -u NONE -N不加载配置可正常运行

.spacevim

" You can enable the existing layers in space-vim and
" exclude the partial plugins in a certain layer.
" The command Layer and Exlcude are vaild in the function Layers().
function! Layers()

    " Default layers, recommended!
    Layer 'fzf'
    Layer 'unite'
    Layer 'better-defaults'
    Layer 'python'
    Layer 'syntax-checking'

endfunction

" Put your private plugins here.
function! UserInit()

    " Space has been set as the default leader key,
    " if you want to change it, uncomment and set it here.
    " let g:spacevim_leader = "<\Space>"
    " let g:spacevim_localleader = ','

    " Install private plugins
    " Plug 'extr0py/oni'

endfunction

" Put your costom configurations here, e.g., change the colorscheme.
function! UserConfig()

    " If you enable airline layer and have installed the powerline fonts, set it here.
    " let g:airline_powerline_fonts=1
    " color desert

endfunction

vim log


times in msec
 clock   self+sourced   self:  sourced script
 clock   elapsed:              other lines

000.007  000.007: --- VIM STARTING ---
000.106  000.099: Allocated generic buffers
000.401  000.295: locale set
000.406  000.005: clipboard setup
000.415  000.009: window checked
000.974  000.559: inits 1
000.980  000.006: parsing arguments
000.981  000.001: expanding arguments
006.387  005.406: shell init
006.756  000.369: Termcap init
006.820  000.064: inits 2
007.013  000.193: init highlight
031.200  023.387  023.387: sourcing /Users/fhefh/.space-vim/core/autoload/core_config.vim
033.464  002.124  002.124: sourcing /Users/fhefh/.vim/autoload/plug.vim
033.881  000.035  000.035: sourcing /Users/fhefh/.spacevim
034.200  000.099  000.099: sourcing /Users/fhefh/.space-vim/layers/+distributions/spacevim/packages.vim
034.458  000.168  000.168: sourcing /Users/fhefh/.space-vim/layers/+tools/fzf/packages.vim
034.781  000.232  000.232: sourcing /Users/fhefh/.space-vim/layers/+completion/unite/packages.vim
036.557  001.673  001.673: sourcing /Users/fhefh/.space-vim/layers/+vim/better-defaults/packages.vim
036.905  000.210  000.210: sourcing /Users/fhefh/.space-vim/layers/+lang/python/packages.vim
037.191  000.102  000.102: sourcing /Users/fhefh/.space-vim/layers/+checkers/syntax-checking/packages.vim
076.749  027.743  027.743: sourcing /usr/local/share/vim/vim80/filetype.vim
077.312  000.177  000.177: sourcing /usr/local/share/vim/vim80/ftplugin.vim
077.803  000.066  000.066: sourcing /usr/local/share/vim/vim80/indent.vim
079.362  001.138  001.138: sourcing /usr/local/share/vim/vim80/syntax/syncolor.vim
079.517  001.446  000.308: sourcing /usr/local/share/vim/vim80/syntax/synload.vim
079.560  001.650  000.204: sourcing /usr/local/share/vim/vim80/syntax/syntax.vim
080.259  000.272  000.272: sourcing /usr/local/Cellar/vim/8.0.0134_2/share/vim/vim80/syntax/nosyntax.vim
080.781  000.237  000.237: sourcing /usr/local/share/vim/vim80/syntax/syncolor.vim
080.917  000.523  000.286: sourcing /usr/local/share/vim/vim80/syntax/synload.vim
080.955  001.033  000.238: sourcing /usr/local/share/vim/vim80/syntax/syntax.vim
081.090  000.017  000.017: sourcing /usr/local/share/vim/vim80/filetype.vim
081.227  000.014  000.014: sourcing /usr/local/share/vim/vim80/ftplugin.vim
081.359  000.014  000.014: sourcing /usr/local/share/vim/vim80/indent.vim
082.220  000.221  000.221: sourcing /usr/local/share/vim/vim80/syntax/syncolor.vim
082.784  003.100  001.801: sourcing /Users/fhefh/.vim/plugged/vim-better-default/plugin/default.vim
083.571  000.226  000.226: sourcing /usr/local/share/vim/vim80/syntax/syncolor.vim
084.101  000.217  000.217: sourcing /usr/local/share/vim/vim80/syntax/syncolor.vim
084.576  000.237  000.237: sourcing /usr/local/share/vim/vim80/syntax/syncolor.vim
088.766  005.662  004.982: sourcing /Users/fhefh/.vim/plugged/space-vim-dark/colors/space-vim-dark.vim
089.153  006.107  000.445: sourcing /Users/fhefh/.space-vim/layers/+distributions/spacevim/config.vim
089.499  000.160  000.160: sourcing /Users/fhefh/.space-vim/layers/+tools/fzf/config.vim
090.116  000.469  000.469: sourcing /Users/fhefh/.space-vim/layers/+completion/unite/config.vim
092.624  001.240  001.240: sourcing /Users/fhefh/.space-vim/layers/+vim/better-defaults/keybindings.vim
092.649  002.017  000.777: sourcing /Users/fhefh/.space-vim/layers/+vim/better-defaults/config.vim
093.414  000.472  000.472: sourcing /Users/fhefh/.space-vim/layers/+lang/python/config.vim
094.037  000.427  000.427: sourcing /Users/fhefh/.space-vim/layers/+checkers/syntax-checking/config.vim
094.413  086.948  016.530: sourcing $HOME/.vimrc
094.427  000.466: sourcing vimrc file(s)
094.655  000.026  000.026: sourcing /Users/fhefh/.vim/plugged/vim-better-default/plugin/default.vim
095.625  000.846  000.846: sourcing /Users/fhefh/.fzf/plugin/fzf.vim
096.657  000.897  000.897: sourcing /Users/fhefh/.vim/plugged/fzf.vim/plugin/fzf.vim
098.132  000.612  000.612: sourcing /Users/fhefh/.vim/plugged/unite.vim/autoload/unite/custom.vim
098.304  001.183  000.571: sourcing /Users/fhefh/.vim/plugged/unite.vim/plugin/unite/bookmark.vim
098.564  000.177  000.177: sourcing /Users/fhefh/.vim/plugged/unite.vim/plugin/unite/buffer.vim
098.911  000.295  000.295: sourcing /Users/fhefh/.vim/plugged/unite.vim/plugin/unite/window.vim
099.254  000.284  000.284: sourcing /Users/fhefh/.vim/plugged/unite.vim/plugin/unite.vim
099.824  000.420  000.420: sourcing /Users/fhefh/.vim/plugged/vim-rsi/plugin/rsi.vim
100.121  000.171  000.171: sourcing /Users/fhefh/.vim/plugged/vim-startify/plugin/startify.vim
101.015  000.772  000.772: sourcing /Users/fhefh/.vim/plugged/vim-surround/plugin/surround.vim
101.281  000.140  000.140: sourcing /Users/fhefh/.vim/plugged/vim-cursorword/plugin/cursorword.vim
101.889  000.486  000.486: sourcing /Users/fhefh/.vim/plugged/vim-multiple-cursors/plugin/multiple_cursors.vim
111.407  009.391  009.391: sourcing /Users/fhefh/.vim/plugged/vim-easymotion/plugin/EasyMotion.vim
112.101  000.092  000.092: sourcing /usr/local/share/vim/vim80/plugin/getscriptPlugin.vim
112.558  000.418  000.418: sourcing /usr/local/share/vim/vim80/plugin/gzip.vim
112.923  000.326  000.326: sourcing /usr/local/share/vim/vim80/plugin/logiPat.vim
112.981  000.021  000.021: sourcing /usr/local/share/vim/vim80/plugin/manpager.vim
113.258  000.243  000.243: sourcing /usr/local/share/vim/vim80/plugin/matchparen.vim
114.036  000.739  000.739: sourcing /usr/local/share/vim/vim80/plugin/netrwPlugin.vim
114.156  000.026  000.026: sourcing /usr/local/share/vim/vim80/plugin/rrhelper.vim
114.244  000.042  000.042: sourcing /usr/local/share/vim/vim80/plugin/spellfile.vim
114.491  000.202  000.202: sourcing /usr/local/share/vim/vim80/plugin/tarPlugin.vim
114.670  000.130  000.130: sourcing /usr/local/share/vim/vim80/plugin/tohtml.vim
114.934  000.219  000.219: sourcing /usr/local/share/vim/vim80/plugin/vimballPlugin.vim
115.244  000.248  000.248: sourcing /usr/local/share/vim/vim80/plugin/zipPlugin.vim
115.271  003.050: loading plugins
115.425  000.154: loading packages
115.462  000.037: loading after plugins
115.471  000.009: inits 3
117.106  001.635: reading viminfo
117.158  000.052: setting raw mode
117.173  000.015: start termcap
118.617  001.444: clearing screen
120.226  001.609: opening buffers
120.646  000.115  000.115: sourcing /Users/fhefh/.vim/plugged/vim-cursorword/autoload/cursorword.vim
120.699  000.358: BufEnter autocommands
120.703  000.004: editing files in windows
123.547  001.066  001.066: sourcing /Users/fhefh/.vim/plugged/vim-startify/autoload/startify.vim
132.757  000.330  000.330: sourcing /Users/fhefh/.vim/plugged/vim-startify/syntax/startify.vim
liuchengxu commented 7 years ago

无法重现你的问题,如果使用 neovim 是否正常?或许你可以尝试 uninstall 并重新安装 vim 与 space-vim, 也可以使用其他 vim 配置,抱歉。

zhenjun115 commented 7 years ago

我也遇到了同样的问题,新添加Plug VIM打不开、闪退。 我这里除暴一点的解决办法是,删除.vim/plugged目录里已经安装的插件, rm -rf .vim/plugged/*, 重新启动VIM重装一下插件就可以了。

zhenjun115 commented 7 years ago

目前环境下,添加新的Plug,vim无法启动,nvim可以启动。这周会花一点时间查看是什么原因。

zhenjun115 commented 7 years ago

If you use the vim-plug before this version, vim won't startup after you plug or exclude plugin in your .spacevim file. Here is short picture to explain this version. You can avoid this issue to use lastest version of vim-plug.

2017-03-10 1 33 38

vim闪退的原因是使用的的vim-plug 版本不支持启动时检查、自动安装未安装的插件。更新vim-plug版本就可以了。

liuchengxu commented 7 years ago

Close this due to no response.