Configuração do Vim lenta no Terminal & iTerm2 mas não no MacVim

12

Idealmente, quero usar o Vim do Terminal ou iTerm2. No entanto, torna-se insuportavelmente lento, então tive que recorrer ao MacVim. Não há nada de errado com o MacVim, no entanto meu fluxo de trabalho seria muito mais suave se eu usasse apenas Terminal / iTerm2.

Quando é lento

  • Carregando arquivos, em particular arquivos Rails leva cerca de 1 - 1,5s. Remover rails.vim diminui esse tempo para 0.5 - 1s. No MacVim isto é instantâneo.

  • Percorrendo as linhas e colunas usando h , j , k , l . Ele fica progressivamente mais lento quanto mais eu mantenho as teclas. Eventualmente, ele começa a saltar linhas. Eu tenho meu Key Repeat definido como Fast e Delay Until Repeat definido como Short.

  • Após 10 a 15 minutos de uso, o uso de plug-ins, como ctrlp ou Command-T, fica muito lento. Eu digitaria uma letra, esperaria de 2 a 3 segundos e digitaria a próxima.

Minha configuração

11 "MacBook Air com Mac OS X versão 10.7.3 (1.6 Ghz Intel Core 2 Duo, 4 GB DDR3)

Meus arquivos de ponto .

> vim --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Nov 16 2011 16:44:23)
MacOS X (unix) version
Included patches: 1-333
Huge version without GUI.  Features included (+) or not (-):
+arabic +autocmd -balloon_eval -browse ++builtin_terms +byte_offset +cindent 
-clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments 
+conceal +cryptv -cscope +cursorbind +cursorshape +dialog_con +diff +digraphs 
-dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path 
+find_in_path +float +folding -footer +fork() -gettext -hangul_input +iconv 
+insert_expand +jumplist +keymap +langmap +libcall +linebreak +lispindent 
+listcmds +localmap -lua +menu +mksession +modify_fname +mouse -mouseshape 
+mouse_dec -mouse_gpm -mouse_jsbterm +mouse_netterm -mouse_sysmouse 
+mouse_xterm +multi_byte +multi_lang -mzscheme +netbeans_intg +path_extra -perl
 +persistent_undo +postscript +printer +profile +python -python3 +quickfix 
+reltime +rightleft +ruby +scrollbind +signs +smartindent -sniff +startuptime 
+statusline -sun_workshop +syntax +tag_binary +tag_old_static -tag_any_white 
-tcl +terminfo +termresponse +textobjects +title -toolbar +user_commands 
+vertsplit +virtualedit +visual +visualextra +viminfo +vreplace +wildignore 
+wildmenu +windows +writebackup -X11 -xfontset -xim -xsmp -xterm_clipboard 
-xterm_save 
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
      user exrc file: "$HOME/.exrc"
  fall-back for $VIM: "/usr/local/Cellar/vim/7.3.333/share/vim"
Compilation: /usr/bin/llvm-gcc -c -I. -Iproto -DHAVE_CONFIG_H   -DMACOS_X_UNIX -no-cpp-precomp  -O3 -march=core2 -msse4.1 -w -pipe -D_FORTIFY_SOURCE=1      
Linking: /usr/bin/llvm-gcc   -L.     -L/usr/local/lib -o vim       -lm  -lncurses -liconv -framework Cocoa     -framework Python   -lruby

Eu tentei executar sem nenhum plug-in ou realce de sintaxe. Ele abre arquivos muito mais rápido, mas ainda não tão rápido quanto o MacVim. Mas os outros dois problemas ainda existem.

  1. Por que minha configuração do vim está lenta?
  2. Como posso melhorar a velocidade da configuração do meu vim no Terminal ou no iTerm2?
por Jey Balachandran 19.03.2012 / 16:59

6 respostas

8

Eu tentei uma boa dúzia de vezes para compilar o Vim no meu Mac, mas eu nunca nunca conseguiu obter um Vim utilizável: cada vez que funcionava, mas era insuportavelmente lento e lento.

Depois de perder muito tempo tentando fazê-lo funcionar, simplesmente larguei a toalha e criei um alias para o executável da CLI do MacVim.

alias vim='/path/to/MacVim.app/Content/MacOS/Vim'

Não apenas é rápido e ágil, mas tem exatamente os mesmos recursos que você pode encontrar no MacVim, desde que faça sentido em um terminal. Desde então, usar MacVim e / ou Vim não faz diferença para mim e se eu uso um ou outro é ditado apenas pelo contexto. Não por um ser melhor que o outro.

Why is my vim configuration slow? How can I improve the speed of my vim configuration within Terminal or iTerm2?

Usando o binário pré-compilado do MacVim.

Experimente também o Linux um dia. O MacVim é rápido somente se você nunca usou o GVim ou o Vim em uma caixa linux.

    
por 19.03.2012 / 21:30
12

Descobri que todos os plug-ins ou configurações que afetam a exibição (cursorline, cursorcolumn, vim-powerline, vim-companhia aérea, matchit.vim etc.) reduzem a velocidade do Vim no terminal de forma mais significativa.

Aqui estão algumas linhas do meu .vimrc para manter as coisas mais velozes:

let loaded_matchparen=1 " Don't load matchit.vim (paren/bracket matching)
set noshowmatch         " Don't match parentheses/brackets
set nocursorline        " Don't paint cursor line
set nocursorcolumn      " Don't paint cursor column
set lazyredraw          " Wait to redraw
set scrolljump=8        " Scroll 8 lines at a time at bottom/top
let html_no_rendering=1 " Don't render italic, bold, links in HTML

Veja também :help slow-terminal

Dito isso, por que o Vim no terminal é mais lento está além de mim.

    
por 30.07.2013 / 20:16
6

No Mac Terminal Vim, se você tiver a opacidade definida na janela, isso diminuirá bastante a velocidade de rolagem. Transforme opacity=100 e blur=0 , e é tão rápido quanto o MacVim - eu limitei isso.

    
por 02.12.2012 / 04:58
3

Eu tive bons resultados na instalação do MacVim via homebrew e depois usei alias vim="mvim -v" .

    
por 14.06.2012 / 22:18
2

set cursorline foi o culpado por mim.

Eu não havia notado nenhum problema com ele até que um arquivo específico começou a renderizar a 0,25 fps, mas a desativação da linha de cursor acelerou as coisas.

    
por 26.10.2015 / 19:01
1

Eu também encontrei um terminal MacVim lento no iTerm2. Eu tentei tudo que eu poderia colocar minhas mãos, mas nada parecia ajudar. Eventualmente, reduzi-a a uma configuração no meu .vimrc :

set cursorcolumn

Então, eu o removi e o MacVim do meu terminal ficou significativamente mais rápido ao navegar pelos arquivos. Talvez outra pessoa, que tenha tentado todo o resto e tenha essa configuração ativada, ache isso útil.

    
por 12.07.2013 / 03:30