Vim yapılandırması Terminal & iTerm2'de yavaş, ancak MacVim'de değil


12

İdeal olarak, Terminal veya iTerm2'den Vim kullanmak istiyorum. Ancak, dayanılmaz derecede yavaş olur, bu yüzden MacVim kullanarak başvurmak zorunda kaldım. MacVim'de yanlış bir şey yok, ancak yalnızca Terminal / iTerm2'yi kullanırsam iş akışım çok daha düzgün olurdu.

Yavaş olduğunda

  • Dosyaları yüklemek, özellikle Rails dosyalarını yüklemek yaklaşık 1 - 1,5 saniye sürer. Rayların kaldırılması. Vim bu süreyi 0,5-1 saniyeye düşürür. MacVim'de bu anlık.

  • Aracılığıyla satırlar ve sütunlar içinde gezinme h, j, k, l. Tuşları basılı tuttuğum sürece giderek yavaşlıyor. Sonunda, satırları atlamaya başlar. Anahtar Tekrarlama ayarını Hızlı ve Gecikme ayarını Tekrar Kısa ayarına getirene kadar ayarladım.

  • 10-15 dakikalık kullanımdan sonra, ctrlp veya Command-T gibi eklentilerin kullanımı çok gecikir. Bir harf yazardım, 2-3 saniye bekledim, sonra bir sonrakini yazardım.

Kurulumum

11 "MacBook Air çalışan Mac OS X Sürüm 10.7.3 (1.6 Ghz Intel Core 2 Duo, 4 GB DDR3)

Benim dotfiles .

> 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

Herhangi bir eklenti veya sözdizimi vurgulama olmadan çalışmayı denedim. Dosyaları çok daha hızlı açar, ancak yine de MacVim kadar hızlı değil. Fakat diğer iki sorun hala var.

  1. Vim yapılandırmam neden yavaş?
  2. Terminal veya iTerm2 içindeki vim yapılandırmamın hızını nasıl artırabilirim?

Yanıtlar:


8

Mac'imde Vim'i derlemek için iyi bir düzine kez denedim ama asla kullanılabilir bir Vim almayı başaramadım: her seferinde işe yaradı ama dayanılmaz derecede yavaş ve laggy oldu.

Çalıştırmak için çok fazla zaman kaybettikten sonra havluyu düşürdüm ve MacVim'in birlikte verilen CLI yürütülebilir dosyasına bir takma ad oluşturdum.

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

Sadece hızlı ve duyarlı olmakla kalmaz, aynı zamanda bir terminalde mantıklı olduğu sürece MacVim'de bulabileceğiniz özelliklere sahiptir. O zamandan beri, MacVim ve / veya Vim kullanmak benim için hiçbir şey değiştirmiyor ve birini mi yoksa diğerini mi kullanacağım sadece bağlam tarafından belirleniyor. Biri diğerinden daha iyi olmakla değil.

Vim yapılandırmam neden yavaş? Terminal veya iTerm2 içindeki vim yapılandırmamın hızını nasıl artırabilirim?

MacVim'in önceden derlenmiş ikili dosyasını kullanarak.

Bir gün Linux'u da deneyin. MacVim, yalnızca bir linux kutusunda hiç GVim veya Vim kullanmadıysanız hızlıdır.


MacVim'in sürümünü kullanmayı denedim. Çok daha hızlı! Hala MacVim'i kullanmak kadar hızlı değil ama bu tolere edilebilir. Meraklı, linux kutusundaki Vim'i OS X terminalinde Vim'den daha hızlı yapan nedir?
Jey Balachandran

1
Bilmiyorum. Evde Ubuntu'yu küçük ve eski bir Dell Inspiron üzerinde çalıştırıyorum ve metinle ilgili her şey işte kullandığım dört çekirdekli Mac Pro'dan çok daha kolay. Özellikle MacVim / Gvim gün boyu kullanıyorum. Belki daha az soyutlama seviyeleri ve yığılmış kokular. Bilmiyorum.
Mart'ta romainl

Bu konuda daha fazla gönderi görmek istiyorum. İTerm2'nin MacVim kadar hızlı çalışmasını sağlamak mümkün olmalıdır.
xer0x

12

Ekranı etkileyen herhangi bir eklenti veya ayarın (imleç hattı, imleç sütunu, vim-powerline, vim-havayolu, matchit.vim, vb.) Terminaldeki Vim'i en önemli ölçüde yavaşlattığını gördüm.

İşte şeyleri hızlı tutmak için .vimrc dosyamdan bazı satırlar:

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

Ayrıca bakınız :help slow-terminal

Bu , terminaldeki Vim'in neden daha yavaş olduğunu söyledi.


6

Mac Terminal Vim'de, pencerede opaklık ayarlanmışsa, kaydırma hızını büyük ölçüde azaltır. Dön opacity=100ve blur=0MacVim kadar hızlı - zamanladım.


Açıklığa kavuşturmak için, bu, Vim'in ayarlarına değil, terminal uygulamasının opaklık ve bulanıklık ayarlarına atıfta bulunuyor. Gerçi bir cazibe gibi çalışıyor, ipucu için teşekkürler!
user72923

güzel yakalamak, ben ay için yavaşlık nedenini arıyorum ve bu dışında her ayarları denedim (resim olmadan şeffaf, bu yüzden opak gibi görünüyor, ama değildi)
Ismael

3

MacVim'i homebrew ile yükledikten sonra kullanarak oldukça iyi sonuçlar aldım alias vim="mvim -v".


2

set cursorline benim için suçluydu.

Belirli bir dosya .25 fps'de görüntülenmeye başlayana kadar bununla ilgili bir sorun fark etmedim, ancak imleç çizgisini devre dışı bırakmak işleri geri çekti.


1

Ayrıca iTerm2'de yavaş bir MacVim terminaliyle karşılaştım. Ellerimi alabileceğim her şeyi denedim, ama hiçbir şey yardımcı görünmüyordu. Sonunda, bunu bir ayarda daralttım .vimrc:

set cursorcolumn

Bu yüzden, onu kaldırdım ve dosyalarda gezinirken terminal MacVim'im çok daha hızlıydı. Belki başka her şeyi deneyen ve bu ayarı açmış olan başka birisi bunu faydalı bulacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.