Bagaimana cara memulai vim tanpa mengeksekusi / etc / vimrc?


103

Di server Linux saya di kantor, admin tidak menginstal cscope, dan saya menginstalnya dari sumber di direktori home saya dan menambahkannya ke $ PATH. Masalahnya adalah, / etc / vimrc memiliki referensi ke / usr / bin / cscope yang tidak ada dan setiap kali saya memulai vim, ia mengeluh tentang itu dan saya harus menekan agar pesan itu pergi.

Sangat menarik bahwa jika saya menghapus cscope dari $ PATH saya, saya tidak mendapatkan perilaku itu - jadi mungkin vim sedang menguji bahwa cscope ada di suatu tempat, dan baru kemudian menjalankan konfigurasi cscope - tetapi kemudian ia salah!

Jadi pertanyaan saya adalah: bisakah saya mengatur sesuatu di .vimrc saya sehingga tidak sumber global / etc / vimrc? Saya tidak ingin memindahkan cscope dari PATH, karena saya tidak ingin mengetikkan nama direktori lengkap setiap kali saya menjalankannya dari baris perintah.

Jawaban:


77

Dari halaman manual Vim :

-u {vimrc}

Use the commands in the file {vimrc} for initializations. All the other
initializations are skipped. Use this to edit a special kind of files.
It can also be used to skip all initializations by giving the name "NONE".
See ":help initialization" within vim for more details.

Jika Anda masih ingin ~ / .vimrc Anda diproses, coba ini:

vim -u ~/.vimrc

Tambahkan baris berikut ke ~ / .bashrc (atau file setara shell Anda jika tidak bash) agar sakelar -u ditambahkan secara otomatis:

alias vim="vim -u ~/.vimrc"

Anda tidak akan dapat menambahkan sesuatu ke ~ / .vimrc untuk mencegah / etc / vimrc dibaca, karena file sistem diproses sebelum file pengguna Anda (lihat ": help init", bagian 3, "Jalankan perintah Ex, dari variabel lingkungan dan / atau file ").


Terima kasih! Ini akhirnya memungkinkan saya untuk mengedit file yang (karena alasan tertentu) memiliki ribuan karakter dalam satu baris dan sebaliknya akan membekukan Vim saya untuk selamanya.
— Hubro

96

Dari halaman manual Vim :

-u {vimrc}

Gunakan perintah dalam file {vimrc} untuk inisialisasi. Semua inisialisasi lainnya dilewati. Gunakan ini untuk mengedit jenis file khusus. Itu juga dapat digunakan untuk melewati semua inisialisasi dengan memberikan nama "NONE". Lihat ": bantu inisialisasi" dalam vim untuk detail lebih lanjut.

Jadi ini harus dilakukan:

vim -u NONE

Anda seharusnya bisa menambahkan ini ke perintah normal Anda untuk penggunaan sehari-hari.


1
... tapi saya ingin mengeksekusi ~ / .vimrc, tidak / etc / vimrc
— florin

3
vim -u ~/.vimrc
— Astaga
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.