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.

florin
sumber

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 ").

Steve Simms
sumber
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.

astaga
sumber
1
... tapi saya ingin mengeksekusi ~ / .vimrc, tidak / etc / vimrc
florin
3
vim -u ~/.vimrc
Astaga