Apa itu vim "direktori runtime"?

21

Saya mencoba memulai dengan hal-hal seperti FuzzyFinder , tapi saya terjebak pada titik di mana ia mengatakan:

INSTALASI

Masukkan semua file ke direktori runtime Anda . Jika Anda memiliki file zip, ekstrak ke direktori runtime Anda .

Anda harus menempatkan file sebagai berikut:

your_runtime_directory/plugin/fuf.vim

...

Apa itu "direktori runtime"? Apa yang terjadi di sana? Dimana milikku?

Andres Jaan Tack
sumber

Jawaban:

17

Dengan asumsi bahwa Anda menggunakan sedikit rasa Unix, direktori runtime pribadi Anda adalah ~ / .vim. Di sinilah Anda harus meletakkan plugin apa pun yang hanya digunakan oleh Anda. Jika Anda ingin pengguna lain dapat mengakses plugin, letakkan di direktori kedua opsi 'runtimepath', yang biasanya $ VIM / vimfiles. Anda tidak boleh menginstal plugin apa pun ke direktori $ VIMRUNTIME. Direktori itu dimaksudkan untuk plugin yang didistribusikan dengan Vim. Jika Anda meletakkan plugin lain di direktori itu, atau memodifikasi file di direktori itu, Anda kemungkinan akan kehilangan perubahan itu ketika Anda memperbarui instalasi Vim Anda.

Lihat

:help 'rtp'
:help $VIMRUNTIME

untuk lebih lanjut tentang ini.

garyjohn
sumber
Sebenarnya, ini jelas jawaban yang lebih lengkap.
Andres Jaan Tack
1
Jika OP sedang mempertimbangkan untuk menginstal plugin seperti FuzzyFinder, itu mungkin juga layak disebut manajer plugin seperti Vundle atau (lebih tua) Pathogen - semakin cepat Anda bisa mulai menggunakan manajer plugin, semakin baik, karena merasionalisasi struktur sub-folder default di ~ / .vim /.
JP
9

Sebenarnya ada beberapa "direktori runtime". Gunakan :set runtimepath?di dalam Vim untuk melihat direktori yang terlibat.

Salah satu dari mereka harus bekerja, tetapi mungkin tempat termudah untuk digunakan adalah direktori per pengguna ~/.vim/, yang seharusnya menjadi yang pertama di Vim's Anda runtimepath.

mkdir ~/.vim; (cd ~/.vim && unzip /path/to/vim-fuzzyfinder.zip)

Jika Anda ingin menginstalnya untuk semua pengguna di sistem, maka coba salah satu direktori kemudian dalam daftar (salah satunya adalah nilai versi spesifik yang juga dalam $VIMRUNTIMEvariabel Vim ).

Chris Johnsen
sumber
Itulah yang saya butuhkan! Luar biasa.
Andres Jaan Tack
7

Masukkan :!echo $VIMRUNTIMEvim dalam untuk mencari tahu.

mcandre
sumber
Kosong? Jadi saya ... tidak punya?
Andres Jaan Tack
@ Andres Jaan Tack: Saya kira Anda menjalankan perintah di shell Anda. Anda perlu mengeluarkan perintah itu di prompt titik dua di Vim.
Chris Johnsen
2
ini akan bekerja lebih baik tanpa !karena variabel lingkungan tidak akan ada di Windows
Janus Troelsen
@ JanusTroelsen benar, di Windows, gunakan :echo $VIMRUNTIMEtanpa !.
Sabuncu
2

Terlambat ke permainan di sini ... menurut dokumen

echo VIMRUNTIME=`vim -e -T dumb --cmd 'exe "set t_cm=\<C-M>"|echo $VIMRUNTIME|quit' | tr -d '\015' `
Eddie B
sumber