Apa perbedaan antara MacVim dan Vim biasa?

216

Saya cukup baru untuk OS X, tapi saya terbiasa dengan Vim dari menggunakannya di berbagai sistem * nix. Saya telah melihat banyak orang merekomendasikan menjalankan MacVim melalui Vim di terminal. Adakah yang bisa memberi tahu saya perbedaan apa yang ada antara MacVim dan Vim biasa?

Mark Costello
sumber
2
Mungkin ada hubungannya dengan mac friendly keybindings (ctrl vs tombol perintah)
ldog

Jawaban:

214

MacVim hanyalah Vim. Apa pun yang biasa Anda lakukan di Vim akan bekerja dengan cara yang persis sama di MacVim.

MacVim lebih terintegrasi di seluruh OS daripada Vim di Terminal atau bahkan GVim di Linux, MacVim mengikuti banyak konvensi Mac OS X.

Jika Anda bekerja terutama dengan aplikasi GUI ( YummyFTP + GitX + Charles , misalnya), Anda mungkin lebih suka MacVim.

Jika Anda bekerja terutama dengan aplikasi CLI (ssh + svn + tcpdump, misalnya), Anda dapat memilih vim di terminal.

Memasuki dan meninggalkan satu ranah (CLI) untuk yang lain (GUI) dan sebaliknya bisa "mahal".

Saya menggunakan MacVim dan Vim tergantung pada tugas dan konteksnya: jika saya berada di CLI-land, saya cukup mengetik vim filenamedan jika saya berada di GUI-land, saya akan memanggil Quicksilver dan meluncurkan MacVim.

Ketika saya beralih dari TextMate, saya agak menyukai kenyataan bahwa MacVim mendukung hampir semua pintasan biasa yang biasa digunakan pengguna Mac. Saya menambahkan beberapa TextMate saya sendiri, meniru tetapi, karena saya bekerja di beberapa lingkungan saya memaksa diri saya untuk belajar cara vim. Sekarang saya menggunakan MacVim dan Vim dengan cara yang hampir persis sama. Menggunakan satu atau yang lain hanyalah masalah konteks bagi saya.

Juga, seperti kata El Isra, default vim (CLI) di OS X sedikit ketinggalan jaman. Anda dapat menginstal versi terbaru melalui MacPorts atau Anda dapat menginstal MacVim dan menambahkan alias ke .profile:

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

untuk memiliki vim yang sama di MacVim dan Terminal.app.

Perbedaan lainnya adalah bahwa banyak skema warna yang bagus di luar sana berfungsi di luar kotak di MacVim tetapi terlihat mengerikan di Terminal.app yang hanya mendukung 8 warna (+ highlight) tetapi Anda dapat menggunakan iTerm - yang dapat diatur untuk mendukung 256 warna - sebagai gantinya Terminal.

Jadi ... pada dasarnya saran saya adalah menggunakan keduanya.

EDIT: Saya tidak mencobanya tetapi versi terbaru dari Terminal.app (dalam 10.7) seharusnya mendukung 256 warna. Saya masih menggunakan 10.6.x di kantor jadi saya masih akan menggunakan iTerm2 untuk sementara waktu.

EDIT: Cara yang lebih baik untuk menggunakan CLI executable MacVim di shell Anda adalah dengan memindahkan mvimskrip yang dibundel dengan MacVim di suatu tempat di Anda $PATHdan gunakan perintah ini:

$ mvim -v

EDIT: Ya, Terminal.app sekarang mendukung 256 warna. Jadi, jika Anda tidak memerlukan fitur canggih iTerm2, Anda dapat menggunakan emulator terminal default dengan aman.

romainl
sumber
82
Homebrew adalah pengelola paket yang tidak menyakitkan vs macports, begitu homebrew diinstal secara sederhana brew install macvimdan Anda siap. mxcl.github.com/homebrew
Greg K
3
+1 untuk homebrew. Saya memiliki keberuntungan yang lebih baik dengan minuman daripada yang saya miliki dengan macports. Padahal macports masih memiliki lebih banyak paket daripada homebrew.
Chev
2
@Greg bagaimana macports lebih sulit sudo port install macvim
pelet
1
@pellucide Tentu, menginstal satu paket tidak lagi menyakitkan. Tapi IMHO mengelola dependensi dan paket OS-default vs paket yang diinstal jauh lebih mudah di Homebrew. Juga, sudotidak pernah diperlukan dalam homebrew.
Roy Tinker
12

Satu alasan saya yang membuat beralih ke MacVim sepadan: Yank menggunakan clipboard sistem.

Saya akhirnya dapat menyalin tempel antara MacVim di terminal saya dan aplikasi saya yang lain.

Janac Meena
sumber
13
Anda juga dapat menggunakan *register di terminal VIM untuk menarik ke clipboard sistem. IMO mana yang lebih baik karena saya pribadi tidak selalu ingin menyinkronkan ke clipboard sistem saya. Jadi di VIM, ketika menarik garis misalnya, gunakan "*yyuntuk menyalin ke clipboard.
Luke Davis
1
vim.wikia.com/wiki/Accessing_the_system_clipboard - yang harus Anda lakukan adalah menambahkan baris ke .vimrc Anda agar ini juga menjadi default
Jim Deville
1
Jika Anda ingin menarik ke clipboard di terminal vim cukup tambahkan +, misalnya jika Anda ingin menyalin seluruh konten ke clipboard:%y+
smallwat3r
3

sayangnya, dengan "mvim -v", ALT plus panah windows masih tidak berfungsi. Saya belum menemukan cara untuk mengaktifkannya :-(

Daniel Pinyol
sumber
Terima kasih untuk mvimperintahnya, saya menginstal MacVim via HomeBrew tetapi tidak tahu ada perintah standar yang dikaitkan. Terima kasih!
Roy Tinker
1

Ini semua tentang binding kunci yang dapat dicapai dengan mudah dari konfigurasi .vimrc. Sejauh menyangkut clipboard Anda dapat menggunakan :set clipboard unnameddan menarik dari vim akan pergi ke clipboard sistem. Bagaimanapun, yang mana pun yang Anda gunakan akhirnya saya sarankan menggunakan konfigurasi vimrc ini , itu berisi banyak sekali plugin dan binding yang akan membuat pengalaman Anda lancar.

Manish Baghel
sumber