Як запустити vim без виконання / etc / vimrc?


103

На моєму сервері Linux на роботі адміністратори не встановили cscope, і я встановив його з джерела у своєму домашньому каталозі та додав його до $ PATH. Проблема в тому, що / etc / vimrc має посилання на / usr / bin / cscope, якого не існує, і кожного разу, коли я запускаю vim, він скаржиться на це, і мені потрібно натиснути, щоб це повідомлення пішло.

Цікаво, що якщо я вилучую cscope зі свого $ PATH, я не отримую такої поведінки - тож можливо, vim перевіряє, що cscope десь існує, і лише потім виконує конфігурацію cscope - але тоді він помиляється!

Отже, моє запитання: чи можу я щось налаштувати у своєму .vimrc, щоб воно не джерело глобального / etc / vimrc? Я не хочу переміщувати скаскоп з PATH, тому що я не хочу вводити повне ім'я каталогу кожного разу, коли я запускаю його з командного рядка.

Відповіді:


77

На сторінці Vim man :

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

Якщо ви все ще хочете обробити ваш ~ / .vimrc, спробуйте це:

vim -u ~/.vimrc

Додайте наступний рядок до ~ / .bashrc (або еквівалентний файл вашої оболонки, якщо не bash), щоб перемикач -u додався автоматично:

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

Ви не зможете додати щось до ~ / .vimrc, щоб запобігти читанню / etc / vimrc, оскільки системний файл обробляється перед вашим файлом користувача (див. ": Help init", розділ 3, "Виконати команди Ex, з змінних середовища та / або файлів ").


Дякую! Це нарешті дозволило мені відредагувати файл, який (чомусь) мав тисячі символів в одному рядку і в іншому випадку заморозив би мою Vim назавжди.
Hubro

96

На сторінці Vim man :

-u {vimrc}

Використовуйте команди у файлі {vimrc} для ініціалізації. Усі інші ініціалізації пропускаються. Використовуйте це для редагування спеціального типу файлів. Він також може бути використаний для пропуску всіх ініціалізацій, давши назву "NONE". Докладніше див. У розділі ": допомогти ініціалізації" у програмі vim.

Отже, це має зробити цю роботу:

vim -u NONE

Ви повинні мати можливість це псевдонімувати для вашої звичайної команди для щоденного використання.


1
... але я хочу ~ / .vimrc виконати, просто не / etc / vimrc
florin

3
vim -u ~/.vimrc
важкий
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.