TerminalとiTerm2でのVim設定は遅いが、MacVimではそうではない


12

理想的には、ターミナルまたはiTerm2からVimを使用します。しかし、それは耐えられないほど遅くなるので、私はMacVimの使用に頼らざるを得ませんでした。MacVimには何も問題はありませんが、Terminal / iTerm2のみを使用した場合、ワークフローはずっとスムーズになります。

遅いとき

  • ファイル、特にRailsファイルの読み込みには約1〜1.5秒かかります。rails.vimを削除すると、この時間は0.5-1秒に減少します。MacVimでは、これは瞬時に行われます。

  • 経由して、行と列のスクロールhjkl。キーを押し続けると、徐々に遅くなります。最終的に、行のジャンプを開始します。キーリピートを高速に設定し、リピートまでの遅延をショートに設定しています。

  • 10〜15分使用した後、ctrlpやCommand-Tなどのプラグインを使用すると、非常に時間がかかります。文字を入力し、2-3秒待ってから、次を入力します。

私のセットアップ

Mac OS Xバージョン10.7.3を実行する11インチMacBook Air(1.6 Ghz Intel Core 2 Duo、4 GB DDR3)

私のドットファイル

> 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

プラグインや構文の強調表示なしで実行しようとしました。ファイルを非常に速く開きますが、それでもMacVimほど速くはありません。しかし、他の2つの問題はまだ存在します。

  1. vimの設定が遅いのはなぜですか?
  2. TerminalまたはiTerm2内のvim設定の速度を改善するにはどうすればよいですか?

回答:


8

MacでVimをコンパイルするために何十回も試してみましたが、使用可能なVimを手に入れることができませんでした

動作させようとしてあまりにも多くの時間を失った後、タオルを落とし、MacVimのバンドルされたCLI実行可能ファイルのエイリアスを作成しました。

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

高速で応答性が高いだけでなく、ターミナルで意味をなす限り、MacVimで見つけることができるのとまったく同じ機能を備えています。それ以来、MacVimやVimを使用しても違いはなく、どちらを使用するかはコンテキストによってのみ決まります。一方が他方より優れているわけではありません。

vimの設定が遅いのはなぜですか?TerminalまたはiTerm2内のvim設定の速度を改善するにはどうすればよいですか?

MacVimのプリコンパイルされたバイナリを使用する。

いつかLinuxも試してみてください。MacVimは、LinuxボックスでGVimまたはVimを使用したことがない場合にのみ高速です。


MacVimのバージョンを使用してみました。ずっと速く!MacVim自体を使用するほど高速ではありませんが、これは許容範囲です。好奇心が強い、LinuxボックスでのVimがOS X端末でのVimよりもはるかに高速なのはなぜですか?
ジェイバラチャンドラン

1
知りません。自宅では小さな古いDell InspironでUbuntuを実行していますが、テキストに関連するものはすべて、職場で使用しているクアッドコアMac Proよりもずっと簡単です。特に私が一日中使っているMacVim / Gvim。抽象化レベルが低く、フレームワークが積み重なっているかもしれません。知りません。
ロメインル

これに関する投稿をもっと見たいです。iTerm2をMacVimとほぼ同じ速度で実行できるようにする必要があります。
xer0x

12

表示に影響するプラグインまたは設定(カーソルライン、カーソル列、vim-powerline、vim-airline、matchit.vimなど)が端末のVimを最も遅くすることがわかりました。

以下は、物事を迅速に保つための私の.vimrcの行です。

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

こちらもご覧ください :help slow-terminal

とは言っても、ターミナルのVimが遅い理由は私にはわかりません。


6

Mac Terminal Vimでは、ウィンドウに不透明度を設定している場合、スクロール速度が大幅に低下します。とを回すopacity=100blur=0、MacVimと同じくらい高速です。


明確にするために、これはVim自体の設定ではなく、ターミナルアプリケーションの不透明度とぼかしの設定を参照しています。しかし、ヒントのおかげで、魅力のように動作します!
user72923

素敵なキャッチ、私がいる月の遅さの原因を探していると私はこの1つを除いて、すべての設定を試してみました(それは不透明のように見えるので、それは、絵のない透明であったが、それはありませんでした)
イスマエル

3

homebrew経由でMacVimをインストールしてからを使用すると、かなり良い結果が得られましたalias vim="mvim -v"


2

set cursorline 私の犯人でした。

特定のファイルの1つが.25 fpsでレンダリングを開始するまで問題に気付きませんでしたが、カーソルラインの速度を無効にするとバックアップが戻ります。


1

また、iTerm2で遅い端末のMacVimに遭遇しました。私は手に入れることができるすべてを試しましたが、何も助けにならないようでした。最終的に、私は私の設定でそれを絞り込みました.vimrc

set cursorcolumn

だから、私はそれを削除し、私の端末のMacVimはファイルをナビゲートする際に著しく高速でした。たぶん、他のすべてを試し、この設定をオンにしている誰かがこれを便利だと思うでしょう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.