Konfigurasi Vim lambat di Terminal & iTerm2 tetapi tidak di MacVim

12

Idealnya, saya ingin menggunakan Vim dari Terminal atau iTerm2. Namun, itu menjadi lambat tak tertahankan jadi saya harus menggunakan MacVim. Tidak ada yang salah dengan MacVim, namun alur kerja saya akan jauh lebih lancar jika saya hanya menggunakan Terminal / iTerm2.

Saat itu lambat

  • Memuat file, khususnya file Rails membutuhkan waktu sekitar 1 - 1.5s. Menghapus rails.vim mengurangi waktu ini menjadi 0,5 - 1s. Di MacVim ini instan.

  • Bergulir melalui baris dan kolom melalui h, j, k, l. Semakin lama semakin lambat saya menekan tombol. Akhirnya, ia mulai melompat baris. Saya memiliki Pengulangan Kunci saya diatur ke Cepat dan Tunda Hingga Ulangi diatur ke Pendek.

  • Setelah 10 - 15 menit penggunaan, menggunakan plugin seperti ctrlp atau Command-T menjadi sangat lamban. Saya akan mengetik surat, menunggu 2 - 3s, lalu ketik berikutnya.

Pengaturan Saya

11 "MacBook Air menjalankan Mac OS X Versi 10.7.3 (1.6 Ghz Intel Core 2 Duo, 4 GB DDR3)

Dotfiles saya .

> 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

Saya sudah mencoba menjalankan tanpa plugin atau penyorotan sintaks. Ini membuka file jauh lebih cepat tetapi masih tidak secepat MacVim. Namun dua masalah lainnya masih ada.

  1. Mengapa konfigurasi vim saya lambat?
  2. Bagaimana saya bisa meningkatkan kecepatan konfigurasi vim saya di dalam Terminal atau iTerm2?
Jey Balachandran
sumber

Jawaban:

8

Saya sudah mencoba belasan kali baik untuk mengkompilasi Vim di Mac saya, tetapi saya tidak pernah berhasil mendapatkan Vim yang dapat digunakan: setiap kali itu berhasil tetapi itu lambat dan lamban tak tertahankan.

Setelah kehilangan terlalu banyak waktu untuk membuatnya berfungsi, saya hanya menjatuhkan handuk dan membuat alias untuk dieksekusi CLI yang dibundel oleh MacVim.

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

Tidak hanya cepat dan responsif tetapi juga memiliki fitur yang sama persis dengan yang Anda temukan di MacVim, asalkan masuk akal di terminal. Sejak itu, menggunakan MacVim dan / atau Vim tidak membuat perbedaan bagi saya dan apakah saya menggunakan satu atau yang lain hanya ditentukan oleh konteksnya. Bukan karena yang satu lebih baik dari yang lain.

Mengapa konfigurasi vim saya lambat? Bagaimana saya bisa meningkatkan kecepatan konfigurasi vim saya di dalam Terminal atau iTerm2?

Dengan menggunakan biner pra-kompilasi MacVim.

Coba juga Linux suatu hari. MacVim cepat hanya jika Anda belum pernah menggunakan GVim atau Vim pada kotak linux.

romainl
sumber
Saya mencoba menggunakan versi MacVim. Jauh lebih cepat! Masih tidak secepat menggunakan MacVim sendiri tetapi ini bisa ditoleransi. Penasaran, apa yang membuat Vim pada kotak linux yang jauh lebih cepat daripada Vim di terminal OS X?
Jey Balachandran
1
Saya tidak tahu Di rumah saya menjalankan Ubuntu pada Dell Inspiron kecil dan lama dan segala sesuatu yang berhubungan dengan teks jauh lebih tajam daripada pada quad core Mac Pro yang saya gunakan di tempat kerja. Khususnya MacVim / Gvim yang saya gunakan sepanjang hari. Mungkin tingkat abstraksi yang lebih rendah dan pekerjaan yang ditumpuk. Saya tidak tahu
romainl
Saya ingin melihat lebih banyak posting tentang ini. Seharusnya dimungkinkan untuk membuat iTerm2 berjalan hampir secepat MacVim.
xer0x
12

Saya telah menemukan bahwa setiap plugins atau pengaturan yang mempengaruhi tampilan (cursorline, cursorcolumn, vim-powerline, vim-airline, matchit.vim, dll.) Memperlambat Vim di terminal paling signifikan.

Berikut adalah beberapa baris dari .vimrc saya agar semuanya cepat:

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

Lihat juga :help slow-terminal

Yang mengatakan, mengapa Vim di terminal lebih lambat di luar saya.

Jay
sumber
6

Di Mac Terminal Vim, jika Anda mengatur opacity di jendela, itu sangat mengurangi kecepatan gulir. Putar opacity=100dan blur=0, dan ini secepat MacVim - saya menghitung waktunya.

pengguna177393
sumber
Untuk memperjelas, ini mengacu pada pengaturan opacity dan blur aplikasi terminal, bukan pengaturan Vim itu sendiri. Bekerja seperti pesona, terima kasih atas tipnya!
user72923
tangkapan yang bagus, saya telah mencari penyebab kelambatan selama sebulan dan saya mencoba setiap pengaturan, kecuali yang ini (transparan tanpa gambar, jadi sepertinya buram, tapi tidak)
Ismael
3

Saya sudah mendapatkan hasil yang cukup bagus menginstal MacVim melalui homebrew dan kemudian menggunakan alias vim="mvim -v".

pengguna770148
sumber
2

set cursorline adalah pelakunya bagi saya.

Saya tidak melihat masalah dengan itu sampai satu file tertentu mulai rendering pada 0,25 fps, tetapi menonaktifkan cursorline mempercepat hal-hal kembali.

csq
sumber
1

Saya juga menemui terminal lambat MacVim di iTerm2. Saya sudah mencoba semua yang bisa saya dapatkan, tetapi sepertinya tidak ada yang membantu. Akhirnya, saya mempersempitnya ke pengaturan di .vimrc:

set cursorcolumn

Jadi, saya menghapusnya, dan terminal saya MacVim secara signifikan lebih cepat ketika menavigasi file. Mungkin orang lain, yang mencoba yang lain, dan mengaktifkan pengaturan ini, akan menemukan ini berguna.

Russianbandit
sumber