wookayin / dotfiles

:house: Personal dotfiles for *NIX systems
https://dotfiles.wook.kr/
MIT License
359 stars 105 forks source link

vim startup takes ~2 seconds #29

Closed smblee closed 2 years ago

smblee commented 2 years ago

I am using a non-modified version of your dotfiles on my M1 macbook pro and noticed a slow-ish startup time every time i open vim. Is this to be expected?

output of vim --startuptime timeCost.txt timeCost.txt

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

000.003  000.003: --- NVIM STARTING ---
000.391  000.389: locale set
000.653  000.261: inits 1
000.662  000.009: window checked
000.794  000.133: parsing arguments
000.939  000.145: expanding arguments
000.961  000.022: inits 2
001.284  000.323: init highlight
001.284  000.001: waiting for UI
002.598  001.313: done waiting for UI
002.606  000.009: init screen for UI
1067.256  000.041  000.041: sourcing /Users/smb/.config/nvim/autoload/plug_addon.vim
1068.221  000.897  000.897: sourcing /Users/smb/.config/nvim/autoload/plug.vim
1600.726  000.048  000.048: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/autoload/provider/pythonx.vim
1600.932  000.091  000.091: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/autoload/remote/host.vim
1600.979  000.366  000.226: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/autoload/provider/python3.vim
1604.888  000.029  000.029: sourcing /Users/smb/.vim/plugged/vimtex/ftdetect/cls.vim
1604.939  000.011  000.011: sourcing /Users/smb/.vim/plugged/vimtex/ftdetect/tex.vim
1604.982  000.010  000.010: sourcing /Users/smb/.vim/plugged/vimtex/ftdetect/tikz.vim
1609.751  000.009  000.009: sourcing /Users/smb/.vim/plugged/vim-fugitive/ftdetect/fugitive.vim
1609.939  000.010  000.010: sourcing /Users/smb/.vim/plugged/ultisnips/ftdetect/snippets.vim
1610.022  000.013  000.013: sourcing /Users/smb/.vim/plugged/vader.vim/ftdetect/vader.vim
1611.888  001.683  001.683: sourcing /Users/smb/.vim/plugged/vim-polyglot/ftdetect/polyglot.vim
1611.960  000.011  000.011: sourcing /Users/smb/.vim/plugged/vim-tmux/ftdetect/tmux.vim
1612.079  000.057  000.057: sourcing /Users/smb/.vim/plugged/vim-kitty/ftdetect/kitty.vim
1612.183  000.028  000.028: sourcing /Users/smb/.vim/plugged/vim-pandoc/ftdetect/pandoc.vim
1612.288  000.034  000.034: sourcing /Users/smb/.vim/plugged/vim-lilypond-integrator/ftdetect/lilypond.vim
1612.358  000.011  000.011: sourcing /Users/smb/.vim/plugged/vim-gradle/ftdetect/gradle.vim
1612.434  000.016  000.016: sourcing /Users/smb/.vim/plugged/applescript.vim/ftdetect/applescript.vim
1613.335  006.306  004.435: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/filetype.vim
1613.873  000.023  000.023: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/ftplugin.vim
1614.395  000.018  000.018: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/indent.vim
1615.491  000.146  000.146: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/syntax/syncolor.vim
1615.691  000.721  000.575: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/syntax/synload.vim
1615.733  001.155  000.434: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/syntax/syntax.vim
1615.746  548.585  539.728: sourcing ~/.vim/plugins.vim
1616.431  000.007  000.007: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/filetype.vim
1616.926  000.006  000.006: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/ftplugin.vim
1617.420  000.007  000.007: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/filetype.vim
1617.909  000.006  000.006: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/indent.vim
1623.443  000.074  000.074: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/syntax/syncolor.vim
1624.286  000.079  000.079: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/syntax/syncolor.vim
1625.011  000.069  000.069: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/syntax/syncolor.vim
1625.404  002.446  002.224: sourcing /Users/smb/.vim/plugged/vim-colorschemes/colors/xoria256.vim
1625.509  002.599  000.153: sourcing /Users/smb/.vim/colors/xoria256-wook.vim
1630.267  563.184  011.974: sourcing /Users/smb/.vimrc
1630.290  1627.510  1064.326: sourcing /Users/smb/.config/nvim/init.vim
1630.293  000.176: sourcing vimrc file(s)
1631.052  000.490  000.490: sourcing /Users/smb/.vim/plugged/vim-localvimrc/plugin/localvimrc.vim
1631.537  000.327  000.327: sourcing /Users/smb/.fzf/plugin/fzf.vim
1632.034  000.377  000.377: sourcing /Users/smb/.vim/plugged/fzf.vim/plugin/fzf.vim
1632.174  000.027  000.027: sourcing /Users/smb/.vim/plugged/fzf-ripgrep.vim/plugin/fzf_ripgrep.vim
1632.385  000.103  000.103: sourcing /Users/smb/.vim/plugged/vim-floaterm/plugin/floaterm.vim
1632.654  000.047  000.047: sourcing /Users/smb/.dotfiles/vim/plugged/vim-quickui/colors/quickui/papercol_light.vim
1632.693  000.195  000.148: sourcing /Users/smb/.vim/plugged/vim-quickui/plugin/quickui.vim
1633.350  000.169  000.169: sourcing /Users/smb/.vim/plugged/vim-xtabline/autoload/xtabline.vim
1633.503  000.080  000.080: sourcing /Users/smb/.vim/plugged/vim-xtabline/autoload/xtabline/funcs.vim
1633.677  000.093  000.093: sourcing /Users/smb/.vim/plugged/vim-xtabline/autoload/xtabline/dir.vim
1633.802  000.044  000.044: sourcing /Users/smb/.vim/plugged/vim-xtabline/autoload/xtabline/hi.vim
1634.004  000.050  000.050: sourcing /Users/smb/.vim/plugged/vim-xtabline/autoload/xtabline/maps.vim
1634.449  000.042  000.042: sourcing /Users/smb/.vim/plugged/vim-xtabline/autoload/xtabline/tab.vim
1634.706  000.053  000.053: sourcing /Users/smb/.vim/plugged/vim-xtabline/autoload/xtabline/buffer.vim
1634.871  001.964  001.433: sourcing /Users/smb/.vim/plugged/vim-xtabline/autoload/xtabline/init.vim
1634.878  002.077  000.113: sourcing /Users/smb/.vim/plugged/vim-xtabline/plugin/xTabline.vim
1635.062  000.034  000.034: sourcing /Users/smb/.vim/plugged/vim-dispatch/plugin/dispatch.vim
1635.331  000.024  000.024: sourcing /Users/smb/.vim/plugged/neomake/autoload/neomake/setup.vim
1635.360  000.192  000.168: sourcing /Users/smb/.vim/plugged/neomake/plugin/neomake.vim
1635.576  000.069  000.069: sourcing /Users/smb/.vim/plugged/vim-tbone/plugin/tbone.vim
1635.736  000.052  000.052: sourcing /Users/smb/.vim/plugged/vim-maximizer/plugin/maximizer.vim
1635.863  000.015  000.015: sourcing /Users/smb/.vim/plugged/goyo.vim/plugin/goyo.vim
1636.003  000.032  000.032: sourcing /Users/smb/.vim/plugged/vim-tmux-navigator/plugin/tmux_navigator.vim
1636.704  000.595  000.595: sourcing /Users/smb/.vim/plugged/vim-fugitive/plugin/fugitive.vim
1636.921  000.109  000.109: sourcing /Users/smb/.vim/plugged/gv.vim/plugin/gv.vim
1637.281  000.251  000.251: sourcing /Users/smb/.vim/plugged/vim-flog/plugin/flog.vim
1637.471  000.061  000.061: sourcing /Users/smb/.vim/plugged/git-messenger.vim/plugin/gitmessenger.vim
1638.044  000.458  000.458: sourcing /Users/smb/.vim/plugged/tagbar/plugin/tagbar.vim
1638.179  000.030  000.030: sourcing /Users/smb/.vim/plugged/ag.vim/plugin/ag.vim
1638.531  000.078  000.078: sourcing /Users/smb/.vim/plugged/vim-signature/autoload/signature/utils.vim
1638.894  000.604  000.527: sourcing /Users/smb/.vim/plugged/vim-signature/plugin/signature.vim
1639.081  000.079  000.079: sourcing /Users/smb/.vim/plugged/vim-easy-align/plugin/easy_align.vim
1640.732  000.018  000.018: sourcing /Users/smb/.vim/plugged/indent-blankline.nvim/autoload/indent_blankline.vim
1640.783  001.587  001.568: sourcing /Users/smb/.vim/plugged/indent-blankline.nvim/plugin/indent_blankline.vim
1642.291  001.397  001.397: sourcing /Users/smb/.vim/plugged/nvim-scrollview/plugin/scrollview.vim
1642.676  000.246  000.246: sourcing /Users/smb/.vim/plugged/vim-surround/plugin/surround.vim
1645.117  002.313  002.313: sourcing /Users/smb/.vim/plugged/vim-easymotion/plugin/EasyMotion.vim
1645.594  000.365  000.365: sourcing /Users/smb/.vim/plugged/quick-scope/plugin/quick_scope.vim
1645.787  000.080  000.080: sourcing /Users/smb/.vim/plugged/vim-asterisk/plugin/asterisk.vim
1646.037  000.137  000.137: sourcing /Users/smb/.vim/plugged/incsearch.vim/plugin/incsearch.vim
1646.286  000.081  000.081: sourcing /Users/smb/.vim/plugged/incsearch-fuzzy.vim/plugin/incsearch/fuzzy.vim
1647.619  001.227  001.227: sourcing /Users/smb/.vim/plugged/vim-quickhl/plugin/quickhl.vim
1647.819  000.089  000.089: sourcing /Users/smb/.vim/plugged/vim-highlightedundo/plugin/highlightedundo.vim
1648.026  000.087  000.087: sourcing /Users/smb/.vim/plugged/vim-highlightedyank/plugin/highlightedyank.vim
1649.258  001.108  001.108: sourcing /Users/smb/.vim/plugged/nerdcommenter/plugin/nerdcommenter.vim
1649.423  000.054  000.054: sourcing /Users/smb/.vim/plugged/vim-peekaboo/plugin/peekaboo.vim
1649.557  000.027  000.027: sourcing /Users/smb/.vim/plugged/gundo.vim/plugin/gundo.vim
1649.964  000.041  000.041: sourcing /Users/smb/.vim/plugged/ultisnips/autoload/UltiSnips/map_keys.vim
1650.010  000.347  000.306: sourcing /Users/smb/.vim/plugged/ultisnips/plugin/UltiSnips.vim
1650.378  000.260  000.260: sourcing /Users/smb/.vim/plugged/matchit.zip/plugin/matchit.vim
1650.554  000.070  000.070: sourcing /Users/smb/.vim/plugged/tlib_vim/plugin/02tlib.vim
1650.690  000.029  000.029: sourcing /Users/smb/.vim/plugged/vader.vim/plugin/vader.vim
1651.012  000.198  000.198: sourcing /Users/smb/.vim/plugged/vim-eunuch/plugin/eunuch.vim
1651.137  000.017  000.017: sourcing /Users/smb/.vim/plugged/which-key.nvim/plugin/which-key.vim
1651.291  000.025  000.025: sourcing /Users/smb/.vim/plugged/nvim-colorizer.lua/plugin/colorizer.vim
1651.501  000.030  000.030: sourcing /Users/smb/.vim/plugged/plenary.nvim/plugin/plenary.vim
1651.758  000.147  000.147: sourcing /Users/smb/.vim/plugged/telescope.nvim/plugin/telescope.vim
1651.894  000.026  000.026: sourcing /Users/smb/.vim/plugged/telescope-frecency.nvim/plugin/frecency.vim
1652.229  000.208  000.208: sourcing /Users/smb/.vim/plugged/editorconfig-vim/plugin/editorconfig.vim
1661.463  009.130  009.130: sourcing /Users/smb/.vim/plugged/nvim-lspconfig/plugin/lspconfig.vim
1661.648  000.062  000.062: sourcing /Users/smb/.vim/plugged/nvim-lsp-installer/plugin/nvim-lsp-installer.vim
1662.071  000.075  000.075: sourcing /Users/smb/.vim/plugged/trouble.nvim/plugin/trouble.vim
1662.204  000.025  000.025: sourcing /Users/smb/.vim/plugged/nvim-web-devicons/plugin/nvim-web-devicons.vim
1662.742  000.080  000.080: sourcing /Users/smb/.vim/plugged/python-mode/autoload/pymode.vim
1663.118  000.008  000.008: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/filetype.vim
1663.628  000.007  000.007: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/ftplugin.vim
1664.372  000.007  000.007: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/filetype.vim
1664.865  000.007  000.007: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/ftplugin.vim
1665.031  002.698  002.587: sourcing /Users/smb/.vim/plugged/python-mode/plugin/pymode.vim
1665.836  000.613  000.613: sourcing /Users/smb/.vim/plugged/semshi/plugin/semshi.vim
1666.001  000.032  000.032: sourcing /Users/smb/.vim/plugged/vim-autoimport/plugin/autoimport.vim
1666.203  000.093  000.093: sourcing /Users/smb/.vim/plugged/vim-pandoc/plugin/pandoc.vim
1666.343  000.018  000.018: sourcing /Users/smb/.vim/plugged/vim-pandoc-syntax/plugin/pandoc-syntax-check.vim
1667.018  000.099  000.099: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/plugin/gzip.vim
1667.059  000.010  000.010: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/plugin/health.vim
1667.120  000.034  000.034: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/plugin/man.vim
1667.158  000.011  000.011: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/plugin/matchit.vim
1667.269  000.081  000.081: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/plugin/matchparen.vim
1667.563  000.267  000.267: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/plugin/netrwPlugin.vim
1668.221  000.089  000.089: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/autoload/remote/define.vim
1669.121  001.420  001.330: sourcing /Users/smb/.local/share/nvim/rplugin.vim
1669.124  001.526  000.106: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/plugin/rplugin.vim
1669.212  000.051  000.051: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/plugin/shada.vim
1669.263  000.017  000.017: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/plugin/spellfile.vim
1669.371  000.074  000.074: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/plugin/tarPlugin.vim
1669.482  000.066  000.066: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/plugin/tohtml.vim
1669.534  000.017  000.017: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/plugin/tutor.vim
1669.653  000.088  000.088: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/plugin/zipPlugin.vim
1672.918  000.050  000.050: sourcing /Users/smb/.vim/plugged/nvim-tree.lua/plugin/nvim-tree-startup.lua
1677.925  004.466  004.466: sourcing /Users/smb/.vim/plugged/nvim-cmp/plugin/cmp.lua
1679.146  012.922: loading plugins
1679.240  000.093: loading packages
1679.494  000.036  000.036: sourcing /Users/smb/.vim/plugged/vim-signature/after/plugin/signature.vim
1679.679  000.070  000.070: sourcing /Users/smb/.vim/plugged/ultisnips/after/plugin/UltiSnips_after.vim
1688.947  008.539  008.539: sourcing /Users/smb/.vim/plugged/cmp-buffer/after/plugin/cmp_buffer.lua
1690.187  001.126  001.126: sourcing /Users/smb/.vim/plugged/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua
1691.154  000.853  000.853: sourcing /Users/smb/.vim/plugged/cmp-path/after/plugin/cmp_path.lua
1692.395  001.126  001.126: sourcing /Users/smb/.vim/plugged/cmp-nvim-ultisnips/after/plugin/cmp_nvim_ultisnips.lua
1692.496  001.505: loading after plugins
1692.502  000.006: inits 3
1693.446  000.944: reading ShaDa
1696.919  000.515  000.515: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/scripts.vim
1699.006  000.326  000.326: sourcing /opt/homebrew/Cellar/neovim/0.5.1_1/share/nvim/runtime/ftplugin/text.vim
1712.783  018.496: opening buffers
1713.349  000.115  000.115: sourcing /Users/smb/.vim/plugged/vim-signature/autoload/signature/sign.vim
1713.713  000.143  000.143: sourcing /Users/smb/.vim/plugged/vim-signature/autoload/signature/mark.vim
1715.328  000.169  000.169: sourcing /Users/smb/.vim/plugged/vim-peekaboo/autoload/peekaboo.vim
1715.380  002.169: BufEnter autocommands
1715.381  000.002: editing files in windows
1716.410  001.029: VimEnter autocommands
1716.412  000.001: UIEnter autocommands
1716.413  000.001: before starting main loop
1717.052  000.086  000.086: sourcing /Users/smb/.vim/plugged/neomake/autoload/neomake/core.vim
1717.853  001.341  001.255: sourcing /Users/smb/.vim/plugged/neomake/autoload/neomake.vim
1718.773  000.462  000.462: sourcing /Users/smb/.vim/plugged/vim-xtabline/autoload/xtabline/render.vim
1722.734  004.519: first screen update
1722.735  000.001: --- NVIM STARTED ---

output of :CheckHealth


health#floaterm#check
========================================================================
## common
  - INFO: Platform: macos
  - INFO: Nvim: NVIM v0.5.1
  - INFO: Plugin: 9716765

## terminal
  - OK: Terminal emulator is available

## floating
  - OK: Floating window is available

health#gitmessenger#check
========================================================================
  - OK: +job is available to execute Git command
  - OK: Git command `git` is available: git version 2.33.1
  - OK: Floating window is available for popup window

health#which_key#check
========================================================================
## WhichKey: checking conflicting keymaps
  - WARNING: conflicting keymap exists for mode **"i"**, lhs: **"<C-X><C-L>"**
  - INFO: rhs: `<Plug>(fzf-complete-line-allfiles)`
  - WARNING: conflicting keymap exists for mode **"n"**, lhs: **"ys"**
  - INFO: rhs: `<Plug>Ysurround`
  - WARNING: conflicting keymap exists for mode **"n"**, lhs: **"yS"**
  - INFO: rhs: `<Plug>YSurround`
  - WARNING: conflicting keymap exists for mode **"n"**, lhs: **"m"**
  - INFO: rhs: `:<C-U>call signature#utils#Input()<CR>`
  - WARNING: conflicting keymap exists for mode **"n"**, lhs: **"zg"**
  - INFO: rhs: ` `
  - WARNING: conflicting keymap exists for mode **"n"**, lhs: **"zf"**
  - INFO: rhs: `<Cmd>set operatorfunc=<SNR>64_ZfOperator<CR>g@`
  - WARNING: buffer-local keymap overriding global for mode **"i"**, buf: 0, lhs: **"\18"**
  - INFO: old rhs: `peekaboo#peek(1, "\<c-r>",  0)`
  - INFO: new rhs: `<cmd>lua require("which-key").show("\18", {mode = "i", auto = true})<cr>`
  - WARNING: buffer-local keymap overriding global for mode **"n"**, buf: 0, lhs: **"\""**
  - INFO: old rhs: `peekaboo#peek(v:count1, '"',  0)`
  - INFO: new rhs: `<cmd>lua require("which-key").show("\"", {mode = "n", auto = true})<cr>`
  - WARNING: buffer-local keymap overriding global for mode **"n"**, buf: 0, lhs: **"Q"**
  - INFO: old rhs: `<Nop>`
  - INFO: new rhs: `<cmd>lua require("which-key").show("Q", {mode = "n", auto = true})<cr>`
  - WARNING: buffer-local keymap overriding global for mode **"n"**, buf: 0, lhs: **"@"**
  - INFO: old rhs: `peekaboo#peek(v:count1, '@', 0)`
  - INFO: new rhs: `<cmd>lua require("which-key").show("@", {mode = "n", auto = true})<cr>`

health#telescope#check
========================================================================
## Checking for required plugins
  - OK: plenary installed.
  - WARNING: nvim-treesitter not found. 

## Checking external dependencies
  - OK: rg: found ripgrep 13.0.0
  - WARNING: fd: not found. Install [sharkdp/fd](https://github.com/sharkdp/fd) for extended capabilities

## ===== Installed extensions =====

## Telescope Extension: `frecency`
  - INFO: No healthcheck provided

## Telescope Extension: `notify`
  - INFO: No healthcheck provided

health#lspconfig#check
========================================================================
## Checking language server protocol configuration
  - INFO: vimls: configuration checked.
  - INFO: tsserver: configuration checked.
  - INFO: gopls: configuration checked.
  - INFO: pyright: configuration checked.

health#nvim#check
========================================================================
## Configuration
  - OK: no issues found

## Performance
  - OK: Build type: Release

## Remote Plugins
  - OK: Up to date

## terminal
  - INFO: key_backspace (kbs) terminfo entry: key_backspace=\177
  - INFO: key_dc (kdch1) terminfo entry: key_dc=\E[3~
  - INFO: $COLORTERM='truecolor'

health#provider#check
========================================================================
## Clipboard (optional)
  - OK: Clipboard tool found: pbcopy

## Python 2 provider (optional)
  - INFO: pyenv: Path: /opt/homebrew/Cellar/pyenv/2.2.0/libexec/pyenv
  - INFO: pyenv: $PYENV_ROOT is not set. Infer from `pyenv root`.
  - INFO: pyenv: Root: /Users/smb/.pyenv
  - INFO: Using: g:python_host_prog = "/usr/bin/python2"
  - INFO: Executable: /usr/bin/python2
  - ERROR: Command error (job=7, exit code 1): `'/usr/bin/python2' -c 'import sys; sys.path = list(filter(lambda x: x != "", sys.path)); import neovim; print(neovim.__file__)'` (in '/Users/smb')
    stderr: Traceback (most recent call last):  File "<string>", line 1, in <module>ImportError: No module named neovim
  - INFO: Python version: 2.7.18
  - INFO: pynvim version: unable to load neovim Python module
  - ERROR: pynvim is not installed.
    Error: unable to load neovim Python module
    - ADVICE:
      - Run in shell: /usr/bin/python2 -m pip install pynvim

## Python 3 provider (optional)
  - INFO: pyenv: Path: /opt/homebrew/Cellar/pyenv/2.2.0/libexec/pyenv
  - INFO: pyenv: $PYENV_ROOT is not set. Infer from `pyenv root`.
  - INFO: pyenv: Root: /Users/smb/.pyenv
  - INFO: Using: g:python3_host_prog = "/opt/homebrew/bin/python3"
  - INFO: Executable: /opt/homebrew/bin/python3
  - INFO: Python version: 3.9.7
  - INFO: pynvim version: 0.4.3
  - OK: Latest pynvim is installed.

## Python virtualenv
  - OK: no $VIRTUAL_ENV

## Ruby provider (optional)
  - INFO: Ruby: ruby 2.6.8p205 (2021-07-07 revision 67951) [universal.arm64e-darwin21]
  - WARNING: `neovim-ruby-host` not found.
    - ADVICE:
      - Run `gem install neovim` to ensure the neovim RubyGem is installed.
      - Run `gem environment` to ensure the gem bin directory is in $PATH.
      - If you are using rvm/rbenv/chruby, try "rehashing".
      - See :help |g:ruby_host_prog| for non-standard gem installations.

## Node.js provider (optional)
  - WARNING: `node` and `npm` (or `yarn`) must be in $PATH.
    - ADVICE:
      - Install Node.js and verify that `node` and `npm` (or `yarn`) commands work.

## Perl provider (optional)
  - ERROR: perl provider error:
    - ADVICE:
      - "Neovim::Ext" cpan module is not installed

health#treesitter#check
========================================================================
## Checking treesitter configuration
  - INFO: Runtime ABI version : 13
wookayin commented 2 years ago

Hello @smblee, thanks for the report. In all my environments, my vim startup times is around ~0.2 sec (I also use M1 and M1 pro mac). The profiling output looks very strange.

Can you try the following to see line-by-line profiling of vim script files?

:profile start /tmp/nvim-profile.log | profile func * | profile file *
source ~/.config/nvim/init.vim  " Do some slow actions
:profile pause
:noautocmd qall!
wookayin commented 2 years ago

It looks like some startup calls during init.vim are causing a slowdown. Like python3 -c "import pynvim". This is probably because of part of your system setup, and I've never experienced such slow startup times.

I will close this for now, but please feel free to re-open or provide any additional information if you need any help. Thanks.