Sự khác biệt giữa MacVim và Vim thông thường là gì?


216

Tôi khá mới mẻ với OS X, nhưng tôi quen với Vim khi sử dụng nó trong các hệ thống * nix khác nhau. Tôi đã thấy nhiều người khuyên nên chạy MacVim trên Vim trong thiết bị đầu cuối. Ai đó có thể cho tôi biết sự khác biệt giữa MacVim và Vim thông thường không?


2
Có lẽ phải làm với các phím bấm thân thiện với mac (ctrl so với các phím lệnh)
ldog

Câu trả lời:


214

MacVim chỉ là Vim. Bất cứ điều gì bạn quen làm trong Vim sẽ hoạt động chính xác theo cách tương tự trong MacVim.

MacVim được tích hợp nhiều hơn trong toàn bộ HĐH so với Vim trong Terminal hoặc thậm chí GVim trong Linux, nó tuân theo rất nhiều quy ước của Mac OS X.

Nếu bạn làm việc chủ yếu với các ứng dụng GUI ( ví dụ YummyFTP + GitX + Charles ), bạn có thể thích MacVim.

Nếu bạn làm việc chủ yếu với các ứng dụng CLI (ví dụ ssh + svn + tcpdump), bạn có thể thích vim trong thiết bị đầu cuối.

Nhập và để lại một cảnh giới (CLI) cho cái kia (GUI) và ngược lại có thể "tốn kém".

Tôi sử dụng cả MacVim và Vim tùy theo nhiệm vụ và bối cảnh: nếu tôi ở CLI-đất, tôi sẽ chỉ nhập vim filenamevà nếu tôi ở GUI-đất, tôi sẽ chỉ gọi Quicksilver và khởi chạy MacVim.

Khi tôi chuyển từ TextMate, tôi rất thích thực tế là MacVim hỗ trợ hầu hết tất cả các phím tắt thông thường mà người dùng Mac đã quen. Tôi đã thêm một số TextMate của riêng mình, bắt chước TextMate, nhưng vì tôi đã làm việc trong nhiều môi trường nên tôi buộc bản thân phải học cách vim. Bây giờ tôi sử dụng cả MacVim và Vim gần như giống hệt nhau. Sử dụng cái này hay cái kia chỉ là một câu hỏi về bối cảnh đối với tôi.

Ngoài ra, như El Isra đã nói, vim mặc định (CLI) trong OS X hơi lỗi thời. Bạn có thể cài đặt phiên bản cập nhật qua MacPorts hoặc bạn có thể cài đặt MacVim và thêm bí danh vào .profile:

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

để có cùng vim trong MacVim và Terminal.app.

Một điểm khác biệt nữa là có rất nhiều phối màu tuyệt vời ngoài MacVim nhưng trông rất tệ trong Terminal.app chỉ hỗ trợ 8 màu (+ nổi bật) nhưng bạn có thể sử dụng iTerm - có thể được thiết lập để hỗ trợ 256 màu - thay vào đó của Terminal.

Vì vậy, về cơ bản, lời khuyên của tôi là chỉ sử dụng cả hai.

EDIT: Tôi đã không thử nhưng phiên bản mới nhất của Terminal.app (trong 10.7) được cho là hỗ trợ 256 màu. Tôi vẫn đang ở trên 10.6.x tại nơi làm việc vì vậy tôi sẽ vẫn sử dụng iTerm2 trong một thời gian.

EDIT: Một cách thậm chí tốt hơn để sử dụng thực thi CLI của MacVim trong trình bao của bạn là di chuyển mvimtập lệnh được gói cùng với MacVim ở đâu đó trong bạn $PATHvà sử dụng lệnh này:

$ mvim -v

EDIT: Có, Terminal.app hiện hỗ trợ 256 màu. Vì vậy, nếu bạn không cần các tính năng nâng cao của iTerm2, bạn có thể sử dụng trình giả lập thiết bị đầu cuối mặc định một cách an toàn.


82
Homebrew là trình quản lý gói không đau so với macports, khi homebrew được cài đặt đơn giản brew install macvimvà bạn đã thiết lập. mxcl.github.com/homebrew
Greg K

3
+1 cho homebrew. Tôi đã có cách may mắn hơn với bia hơn tôi có với macports. Mặc dù macports vẫn có nhiều gói hơn homebrew.
Chev

2
@Greg làm thế nào là macports khó hơn sudo port install macvim
tabletucide

1
@pellucide Chắc chắn, cài đặt một gói không còn đau đớn nữa. Nhưng IMHO quản lý các phụ thuộc và các gói mặc định của hệ điều hành so với các gói đã cài đặt dễ dàng hơn nhiều trong Homebrew. Ngoài ra, sudokhông bao giờ được yêu cầu trong homebrew.
Roy Tinker

12

Một lý do tôi có khiến việc chuyển sang MacVim đáng giá: Yank sử dụng bảng tạm hệ thống.

Cuối cùng tôi cũng có thể sao chép dán giữa MacVim trên thiết bị đầu cuối của mình và các ứng dụng còn lại.


13
Bạn cũng có thể sử dụng thanh *ghi trong thiết bị đầu cuối VIM để kéo vào bảng tạm hệ thống. IMO nào tốt hơn vì cá nhân tôi không muốn đồng bộ hóa với bảng tạm hệ thống. Vì vậy, trong VIM, khi lấy một dòng chẳng hạn, hãy sử dụng "*yyđể sao chép vào bảng tạm.
Luke Davis

1
vim.wikia.com/wiki/Accessing_the_system_clipboard - tất cả những gì bạn phải làm là thêm một dòng vào .vimrc để điều này được mặc định là tốt
Jim Deville

1
Nếu bạn muốn kéo vào clipboard trong terminal vim, chỉ cần thêm một +, ví dụ nếu bạn muốn sao chép toàn bộ nội dung vào clipboard:%y+
smallwat3r

3

thật không may, với "mvim -v", cửa sổ ALT plus mũi tên vẫn không hoạt động. Tôi chưa tìm thấy cách nào để kích hoạt nó :-(


Cảm ơn về mvimlệnh này, tôi đã cài đặt MacVim qua HomeBrew nhưng không biết có một lệnh symlinked mặc định. Cảm ơn!
Roy Tinker

1

Đó là tất cả về các ràng buộc chính mà người ta có thể đơn giản đạt được từ các cấu hình .vimrc. Theo như clipboard có liên quan, bạn có thể sử dụng :set clipboard unnamedvà yank từ vim sẽ chuyển đến clipboard hệ thống. Dù sao, bất cứ ai bạn kết thúc bằng cách sử dụng tôi đều khuyên bạn nên sử dụng cấu hình vimrc này , nó chứa rất nhiều plugin và các ràng buộc sẽ giúp trải nghiệm của bạn trơn tru hơn.

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.