Saya menggunakan MacVim dan ketika saya tidak meluncurkannya dari Terminal ( mvim
) $ PATH-nya tidak termasuk apa yang telah saya atur di .bash_profile saya. Tampaknya hanya memiliki nilai default /usr/bin:/bin:/usr/sbin:/sbin
,.
Saya menjalankan OS X 10.5.8. Bahkan jika saya dapat mengaturnya secara manual di .vimrc saya itu tidak apa-apa, meskipun saya lebih suka untuk menariknya dari tempat yang sama dengan Terminal. Saya sudah mencoba mengikuti apa yang disarankan oleh satu situs, tetapi let $PATH += /blah/foo:/bar/etc
tidak berhasil.
Edit / Solusi: Lihat jawaban saya di bawah ini. MacVim memiliki opsi untuk memperbaikinya.
Jawaban:
MacVim tampaknya mendapatkan $ PATH dengan cara yang mengabaikan dotfile khusus pengguna biasa.
Saya tidak bisa mengatakan mengapa mereka lebih suka melakukannya dengan cara ini, tetapi tampaknya itu benar. Dalam preferensi (di bawah tab Advanced), Anda dapat memilih untuk "Luncurkan proses Vim dalam shell login", tetapi itu hanya
$PATH
sedikit meningkatkan bagi saya.Yang terbaik yang dapat saya katakan, MacVim menggunakan
/usr/libexec/path_helper
- yang pada gilirannya menggunakan item yang ditemukan (1) dalam/etc/paths
file dan (2) apa pun tambahan yang ditemukan dalam/etc/paths.d/
direktori. Setiap perubahan yang dibuat dalam direktori home pengguna (via.profile
atau sejenisnya) diabaikan.Singkatnya, Anda mendapatkan default OSX, plus aplikasi apa pun yang menambahkannya
/etc/paths.d
. (Misalnya, MacTex melakukannya pada sistem saya.) Jadi, jika Anda ingin menyesuaikan jalur MacVim Anda, salah satu caranya adalah menambahkan file dengan item/etc/paths.d
. (Saya tidak akan langsung mengedit/etc/paths
sejak itu Anda berisiko risiko perubahan dibatalkan oleh pembaruan sistem.)Terima kasih telah memberi tahu saya tentang hal ini. Saya akan mengajukan bug wishlist di MacVim.
sumber
/etc/paths.d
, itu muncul saat saya boot MacVim. Apa format yang Anda letakkan di sana? Seharusnya satu item per baris, saya percaya, dengan direktori $ PATH pada setiap baris (misalnya, / usr / texbin).BTW, preferensi "Luncurkan proses Vim dalam shell login" tidak lagi tersedia di MacVim (setidaknya tidak v7.3). Saya melihat bahwa meluncurkan MacVim dari Finder mendapatkan jalur yang salah, tetapi meluncurkannya dari shell (sebagai "mvim") mendapatkan jalur yang benar.
sumber
Ini tidak bersumber dari .bash_profile, tetapi Anda dapat menggunakannya di .vimrc Anda:
Anda harus memiliki: atau itu tidak akan menjadi variabel PATH yang benar.
sumber
/usr/bin/vim
(dari Apple) dan/opt/local/bin/vim
(dari MacPorts), dan tampaknya tidak perlu. Vim di terminal sudah mengambil $ PATH yang tepat yang bersumber dari file dot saya.Saya tidak percaya saya tidak melihat ini sebelumnya. Oke, saya bisa percaya. Bagaimanapun, MacVim hadir dengan opsi yang menyelesaikan ini. Di bawah Preferensi cukup centang "Luncurkan proses Vim di shell login". Itu dia, berhasil. Manis. Bodohnya aku.
Ups
Saya tidak sengaja menulis jawaban ini tanpa menyadari bahwa Telemakus telah memberi saya jawaban yang benar . Tandai sebagai jawabannya.
sumber
Artikel Mac Dev Center ini mungkin bermanfaat.
sumber
Saya tidak punya masalah menambahkan file ke direktori paths.d. Saya menambahkan file bernama mysql, yang isinya:
/ usr / local / mysql / bin [Kembali]
Lalu saya menempatkan file ini di bawah direktori paths.d, dan mengubah kepemilikannya menjadi root: wheel. Sekarang direktori mysql secara otomatis ditambahkan ke variabel $ PATH saya.
Saya tidak menyelidiki sepenuhnya, tetapi mungkin (a) termasuk [KEMBALI] di akhir baris, dan / atau (b) mengatur kepemilikan file untuk di-root, mungkin diperlukan.
sumber
MacVim akan sumber
~/.zprofile
dan/etc/profile
, sehingga Anda dapat menempatkanPATH
pengaturan Anda di sana.Lihat https://github.com/b4winckler/macvim/wiki/Troubleshooting#for-zsh-users dan pertanyaan ini tentang Stack Overflow .
(Diuji dengan MacVim versi 7.3 (65)).
sumber
Saya mengalami ini hari ini. MacVim tidak lagi memiliki opsi "login shell", dan mengedit file seluruh sistem untuk pengaturan khusus pengguna tidak jelas.
Berikut ini solusinya dengan hanya menggunakan opsi vim (lihat
:help :!
dan:help shell
).Di
~/.vimrc
tambahkan baris AndaIni membuat
bash
shell default Anda dari (Mac) Vim, dan menambahkan-l
flag (shell login) ke perintah yang digunakan:!{cmd}
. Saat menjalankan:shell
, bash dimulai sebagai "shell interaktif yang bukan shell login".Untuk membuat
$PATH
pekerjaan, Anda harus mengaturnya~/.bash_profile
untuk:!
, dan~/.bashrc
untuk:shell
. (LihatINVOCATION
diman bash
)UPDATE: Ini tidak perlu di komputer saya yang lain, jadi ada kemungkinan hal lain yang menjadi penyebab utama.
sumber
$PATH
di.zprofile
, dan termasuk-l
bendera baikset shell
atauset shellcmdflag
.Saya tahu lebih banyak tentang unix daripada tentang mac, jadi saran berikut ini mungkin berhasil atau tidak. Coba letakkan ini file .vimrc Anda:
Itu mungkin berhasil, tetapi ada sedikit peringatan: .bash_profile hanya dibuat satu kali. Ini mungkin berisi beberapa perintah non-idempoten (hal-hal yang hanya boleh dijalankan sekali). Inti masalah:
Semakin banyak yang dipanggil, semakin besar dan semakin berlebihan
$PATH
. Namun, jika itu bukan masalah besar, rekomendasi unix adalah menempatkan perintah satu kali~/.bashrc
dan menjalankansource ~/.bashrc
dari.vimrc
file Anda .sumber
:source .bash_profile
tetapi hanya muncul dengan kesalahan "Bukan perintah editor" untuk setiap perintah dalam file dan sama dengan .bashrc.Saya mengajukan pertanyaan yang sangat mirip Di Situs Vim StackExchange dan memposting jawaban yang cocok untuk saya!
sumber