Idealnie chcę używać Vima z terminala lub iTerm2. Jednak staje się nieznośnie powolny, więc musiałem skorzystać z MacVima. W MacVimie nie ma nic złego, ale mój przepływ pracy byłby znacznie płynniejszy, gdybym używał tylko terminala / iTerm2.
Kiedy jest wolny
Ładowanie plików, w szczególności plików Rails, zajmuje około 1 - 1,5 s. Usunięcie rails.vim zmniejsza ten czas do 0,5 - 1 s. W MacVim jest to natychmiastowe.
Przewijanie wierszy i kolumn za pomocą
h
,j
,k
,l
. Stopniowo zwalnia, im dłużej przytrzymuję klawisze. W końcu zaczyna skakać w rzędach. Mam Key Repeat ustawioną na Fast i Delay, dopóki Repeat ustawię na Short.Po 10–15 minutach używania używanie wtyczek takich jak ctrlp lub Command-T staje się bardzo opóźnione. Napiszę list, poczekam 2-3 sekundy, a następnie wpiszę następny.
Moja konfiguracja
MacBook Air 11 "z systemem Mac OS X w wersji 10.7.3 (Intel Core 2 Duo 1,6 GHz, 4 GB DDR3)
Moje pliki dot .
> 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
Próbowałem działać bez wtyczek i podświetlania składni. Otwiera pliki znacznie szybciej, ale wciąż nie tak szybko jak MacVim. Ale pozostałe dwa problemy wciąż istnieją.
- Dlaczego moja konfiguracja vima jest wolna?
- Jak mogę poprawić szybkość mojej konfiguracji vim w Terminalu lub iTerm2?
Przekonałem się, że wszelkie wtyczki lub ustawienia, które wpływają na wyświetlanie (kursor, kolumna kursora, vim-powerline, vim-airline, matchit.vim itp.) Najbardziej spowalniają Vima w terminalu.
Oto kilka wierszy z mojego .vimrc, aby przyspieszyć:
Zobacz także
:help slow-terminal
To powiedziawszy, dlaczego Vim w terminalu jest wolniejszy, jest poza mną.
źródło
W Mac Terminal Vim, jeśli masz ustawione krycie w oknie, znacznie zmniejsza prędkość przewijania. Skręć
opacity=100
iblur=0
, i to tak szybko, jak MacVim - wyliczyłem czas.źródło
Miałem całkiem dobre wyniki instalując MacVima przez homebrew, a następnie używając
alias vim="mvim -v"
.źródło
set cursorline
był dla mnie winowajcą.Nie zauważyłem problemu, dopóki jeden konkretny plik nie zaczął renderować z szybkością .25 fps, ale wyłączenie przyspieszenia kursora przyspieszyło.
źródło
W iTerm2 spotkałem również wolny terminal MacVim. Próbowałem wszystkiego, co mogłem, ale nic nie pomagało. W końcu zawęziłem ją do ustawienia w moim
.vimrc
:Więc go usunąłem, a mój terminal MacVim był znacznie szybszy podczas nawigacji po plikach. Może ktoś inny, kto wypróbował wszystko inne i ma włączone to ustawienie, uzna to za przydatne.
źródło