Cấu hình Vim chậm trong Terminal & iTerm2 nhưng không có trong MacVim


12

Lý tưởng nhất, tôi muốn sử dụng Vim từ Terminal hoặc iTerm2. Tuy nhiên, nó trở nên chậm không chịu nổi nên tôi đã phải dùng đến MacVim. Không có gì sai với MacVim, tuy nhiên quy trình làm việc của tôi sẽ suôn sẻ hơn nhiều nếu tôi chỉ sử dụng Terminal / iTerm2.

Khi nó chậm

  • Tải tệp, cụ thể là tệp Rails mất khoảng 1 - 1,5 giây. Loại bỏ rails.vim giảm thời gian này xuống 0,5 - 1 giây. Trong MacVim, điều này là tức thời.

  • Di chuyển qua các hàng và cột qua h, j, k, l. Nó dần dần trở nên chậm hơn khi tôi giữ phím lâu hơn. Cuối cùng, nó bắt đầu nhảy hàng. Tôi có Lặp lại khóa của mình thành Nhanh và Trì hoãn cho đến khi Lặp lại được đặt thành Ngắn.

  • Sau 10 - 15 phút sử dụng, sử dụng các plugin như ctrlp hoặc Command-T sẽ rất chậm. Tôi sẽ gõ một chữ cái, đợi 2 - 3 giây, sau đó gõ tiếp theo.

Thiết lập của tôi

MacBook Air 11 "chạy Mac OS X Phiên bản 10.7.3 (Intel Core 2 Duo 1.6 Ghz, DDR3 4 GB)

Dotfiles của tôi .

> 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

Tôi đã thử chạy mà không có bất kỳ bổ trợ hoặc cú pháp tô sáng nào. Nó mở tệp nhanh hơn rất nhiều nhưng vẫn không nhanh như MacVim. Nhưng hai vấn đề còn lại vẫn tồn tại.

  1. Tại sao cấu hình vim của tôi chậm?
  2. Làm cách nào để cải thiện tốc độ cấu hình vim của tôi trong Terminal hoặc iTerm2?

Câu trả lời:


8

Tôi đã thử hàng chục lần để biên dịch Vim trên máy Mac của mình nhưng tôi chưa bao giờ quản lý để có được một Vim có thể sử dụng được: mỗi lần nó hoạt động nhưng nó rất chậm và chậm.

Sau khi mất quá nhiều thời gian để cố gắng làm cho nó hoạt động, tôi chỉ cần bỏ chiếc khăn xuống và tạo một bí danh để thực thi CLI kèm theo của MacVim.

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

Nó không chỉ nhanh và nhạy mà còn có các tính năng chính xác giống như bạn có thể tìm thấy trong MacVim, miễn là nó có ý nghĩa trong một thiết bị đầu cuối. Kể từ đó, việc sử dụng MacVim và / hoặc Vim không tạo ra sự khác biệt đối với tôi và việc tôi sử dụng cái này hay cái kia chỉ được quyết định bởi bối cảnh. Không phải bởi người này tốt hơn người kia.

Tại sao cấu hình vim của tôi chậm? Làm cách nào để cải thiện tốc độ cấu hình vim của tôi trong Terminal hoặc iTerm2?

Bằng cách sử dụng nhị phân được biên dịch sẵn của MacVim.

Cũng dùng thử Linux một ngày. MacVim chỉ nhanh nếu bạn chưa bao giờ sử dụng GVim hoặc Vim trên hộp linux.


Tôi đã thử sử dụng phiên bản của MacVim. Nhanh hơn nhiều! Vẫn không nhanh như sử dụng MacVim nhưng điều này có thể chấp nhận được. Tò mò, điều gì làm cho Vim trên một hộp linux nhanh hơn nhiều so với Vim trong thiết bị đầu cuối OS X?
Jey Balachandran

1
Tôi không biết. Ở nhà, tôi chạy Ubuntu trên một chiếc Dell Inspiron nhỏ và cũ và mọi thứ liên quan đến văn bản đều gọn gàng hơn nhiều so với Mac Pro lõi tứ mà tôi sử dụng tại nơi làm việc. Đặc biệt MacVim / Gvim mà tôi sử dụng cả ngày. Có thể mức độ trừu tượng ít hơn và các yếu tố xếp chồng lên nhau. Tôi không biết.
romainl

Tôi muốn xem thêm bài viết về điều này. Có thể làm cho iTerm2 chạy gần như nhanh như MacVim.
xer0x

12

Tôi đã phát hiện ra rằng bất kỳ plugin hoặc cài đặt nào ảnh hưởng đến màn hình (con trỏ, con trỏ, vim-powerline, vim-air, matchit.vim, v.v.) làm chậm đáng kể Vim trong thiết bị đầu cuối.

Dưới đây là một số dòng từ .vimrc của tôi để giữ mọi thứ nhanh chóng:

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

Cũng thấy :help slow-terminal

Điều đó nói rằng, tại sao Vim trong thiết bị đầu cuối chậm hơn là ngoài tôi.


6

Trong Mac Terminal Vim, nếu bạn có độ mờ được đặt trên cửa sổ, nó sẽ giảm đáng kể tốc độ cuộn. Xoay opacity=100blur=0, và nó nhanh như MacVim - tôi đã hẹn giờ.


Để làm rõ, điều này đề cập đến các cài đặt độ mờ và mờ của ứng dụng đầu cuối, chứ không phải các cài đặt của chính Vim. Hoạt động như một sự quyến rũ, cảm ơn vì tiền boa!
dùng72923

Bắt tốt, tôi đã tìm kiếm nguyên nhân của sự chậm chạp trong tháng và tôi đã thử mọi cài đặt, ngoại trừ cài đặt này (nó trong suốt không có hình ảnh, vì vậy nó trông có vẻ mờ đục, nhưng không phải vậy)
Ismael

3

Tôi đã có kết quả khá tốt khi cài đặt MacVim qua homebrew và sau đó sử dụng alias vim="mvim -v".


2

set cursorline là thủ phạm đối với tôi.

Tôi đã không nhận thấy vấn đề với nó cho đến khi một tệp cụ thể bắt đầu hiển thị ở mức 0,25 khung hình / giây, nhưng vô hiệu hóa con trỏ đã đẩy mọi thứ trở lại.


1

Tôi cũng đã gặp một thiết bị đầu cuối chậm MacVim trong iTerm2. Tôi đã thử mọi cách tôi có thể chạm tay vào, nhưng dường như không có gì giúp được. Cuối cùng, tôi thu hẹp nó xuống một cài đặt trong .vimrc:

set cursorcolumn

Vì vậy, tôi đã gỡ bỏ nó và thiết bị đầu cuối MacVim của tôi nhanh hơn đáng kể khi điều hướng các tệp. Có lẽ ai đó khác, những người đã thử mọi thứ khác và bật cài đặt này, sẽ thấy điều này hữu ích.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.