Saya tahu ini mungkin lebih sesuai di Ask Different, tetapi ketika saya mencoba menambahkan tag di sana, tidak ada vim
tag, hanya macvim
. Jadi saya pikir saya bisa mendapatkan penonton yang lebih baik di sini.
Di Terminal, saya melakukan hal berikut
$ vim --version
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Jan 31 2010 13:33:49)
Ketika saya menelusuri http://www.vim.org , saya melihat item berita
Vim 7.3 dirilis!
Bagaimana cara memperbarui vim built-in saya? Saya sangat ingin melakukannya dengan bersih (yaitu tidak ada instalasi duplikat, atau unduhan tambahan apa pun, tidak ada macports, dll.)
Saya mempertimbangkan untuk menggunakan Mercurial (karena saya sudah menggunakannya untuk hal-hal lain), sesuai instruksi di sini .
$ hg clone https://vim.googlecode.com.hg/ vim
$ cd vim/src
$ make
Tapi saya pikir itu akan membuat instalasi duplikat. Meskipun saya membutuhkan "bersih" seperti yang disebutkan di atas, solusi "tidak bersih" juga diterima, karena mungkin memang tidak ada cara lain.
/usr/local/
. Tidak seperti itu akan memakan banyak tempat.Jawaban:
Jangan menimpa Vim bawaan.
Sebagai gantinya, instal dari sumber di lokasi yang berbeda atau melalui Homebrew atau MacPorts di lokasi default mereka lalu tambahkan baris ini ke .bashrc atau .profile Anda:
dan / atau ubah Anda
$PATH
sehingga terlihat ke lokasinya sebelum lokasi default.Hal terbaik untuk dilakukan, menurut pendapat saya, adalah dengan mengunduh MacVim terbaru yang hadir dengan vim yang sangat lengkap yang dapat dieksekusi dan menggunakannya di Terminal.app seperti itu.
sumber
/Applications/MacVim.app/Contents/MacOS/Vim
alias vim='mvim -v'
. Namun keduanya gagal dengansudo vim
menggunakan versi lama. Saya akan menyarankan menggunakan jawaban @ RobertMartin atau manajer paket. Ada juga satu opsi lain: jawaban ini dari Slizzered di serverfault.com, yang memungkinkan Anda untuk mengirimkan alias kesudo
.git difftool
ataugit commit
.Jika saya memahami sesuatu dengan benar, Anda ingin menginstal Vim yang ada, baik atau buruk :-) Ini adalah ide yang buruk dan ini bukan cara yang "bersih" untuk melakukannya. Mengapa? Nah, OS X mengharapkan bahwa tidak ada yang akan berubah di / usr / bin tanpa sepengetahuannya, jadi setiap kali Anda menimpa barang-barang di sana, Anda berisiko merusak beberapa ketergantungan yang rumit. Dan, Katakanlah Anda memang merusak sesuatu - tidak ada cara untuk "memperbaiki" kerusakan itu. Anda akan sedih dan sendirian. Anda mungkin harus menginstal ulang OS X.
Bagian 1: Ide yang lebih baik
Cara "bersih" adalah menginstal di tempat terpisah, dan membuat prioritas biner baru yang lebih tinggi di $ PATH. Berikut adalah cara saya merekomendasikan melakukan itu:
Voila! Sekarang ketika kita menggunakan vim kita akan menggunakan yang baru. Tapi, untuk kembali ke konfigurasi lama kita jika terjadi f * ckups besar, kita cukup menghapus direktori / opt.
Lihat betapa bersihnya ini.
Saya merekomendasikan untuk tidak menginstal di / usr / local / bin ketika Anda ingin mengganti binari di / usr / bin, karena secara default OS X menempatkan / usr / bin prioritas lebih tinggi di $ PATH daripada / usr / local / bin, dan mengacaukan yang membuka kaleng wormnya sendiri .... Jadi, itulah yang HARUS Anda lakukan.
Bagian 2: Jawaban yang "benar" (tapi ide yang buruk)
Dengan asumsi Anda siap melakukan itu, Anda pasti berada di jalur yang benar. Untuk menginstal di atas instalasi Anda saat ini, Anda perlu menyetel direktori "prefix". Itu dilakukan seperti ini:
Anda juga dapat memberikan "konfigurasi" beberapa opsi lain, jika Anda mau. Lakukan "./configure --help" untuk melihatnya. Saya harap Anda memiliki cadangan sebelum melakukannya, jika terjadi kesalahan ....
sumber
~
, misalnya direktori home Anda, sepenuhnya sewenang-wenang. Jangan ragu untuk mengunduhnya ke mana pun Anda mau. Setelah Anda menginstalnya, Anda juga dapat menghapus direktori (sumber tidak lagi diperlukan pada saat itu)../configure --prefix /opt/local --enable-perlinterp=yes --enable-pythoninterp=yes --enable-rubyinterp=yes --with-features=huge --with-python-config-dir=/System/Library/Frameworks/Python.framework/Versions/2.7
Seperti Eric, saya menggunakan homebrew, tetapi saya menggunakan resep default. Begitu:
Dan setelah restart vim terminal homebrew harus menjadi default. Jika tidak, Anda harus mengupdate
$PATH
jadi/usr/local/bin
sebelumnya/usr/bin
. Misalnya tambahkan yang berikut ini ke Anda.profile
:sumber
brew update
memang memberi saya kembali formula untuk vim.vi
symlinks:[sudo] ln -sf /usr/local/bin/vim /usr/bin/vi
vi
symlink saya ke/usr/local/bin
:ln -s /usr/local/bin/vim /usr/local/bin/vi
Catatan untuk jawaban romainl: alias tidak bekerja sama dengan sudo karena hanya kata pertama yang diperiksa pada alias. Untuk mengubahnya, tambahkan alias lain ke .profile / .bashrc Anda:
alias sudo='sudo '
Dengan perubahan ini
sudo vim
akan berperilaku seperti yang diharapkan!sumber
Di Yosemite, instal vim menggunakan
brew
danoverride-system-vi
opsi. Ini secara otomatis akan menginstal vim dengan fitur instalasi vim 'besar' .Output dari perintah ini akan menunjukkan tempat brew menginstal vim. Di folder itu, turunkan ke
/bin/vim
untuk benar-benar menjalankan vim. Ini adalah perintah Anda untuk menjalankan vim dari folder mana pun:Kemudian alias perintah ini dengan menambahkan baris berikut di .bashrc Anda:
EDIT: Bendera
--override-system-vi
bir sudah tidak digunakan lagi. Berubah untuk--with-override-system-vi
. Sumber: https://github.com/Shougo/neocomplete.vim/issues/401sumber
--override-system-vi
bir sekarang tidak digunakan lagi. Gunakan--with-override-system-vi
insted.brew install vim --override-system-vi
sumber
Posting blog ini sangat membantu saya. Saya menggunakan solusi "Homebrew built Vim", yang dalam kasus saya menyimpan versi baru di / usr / local / bin. Pada titik ini, posting menyarankan untuk menyembunyikan sistem vim, yang tidak berfungsi untuk saya, jadi saya menggunakan alias.
sumber
vim
tampaknya membuka vim baru (setelah membuka Terminal baru)Saya baru saja menginstal vim oleh:
sekarang vim baru diakses oleh
vim
dan vim lama (vim built-in) olehvi
sumber