題 如何在不執行/ etc / vimrc的情況下啟動vim?


在我工作的Linux服務器上,管理員沒有安裝cscope,我從源目錄中安裝了它,並將其添加到$ PATH。麻煩的是,/ etc / vimrc有一個對/ usr / bin / cscope的引用,它不存在,每次我啟動vim時,都會抱怨,我必須按下該消息才能消失。

有趣的是,如果我從我的$ PATH中刪除cscope,我不會得到這種行為 - 所以vim可能正在測試cscope存在於某處,然後才執行cscope配置 - 但是它會弄錯!

所以我的問題是:我可以在我的.vimrc中設置一些內容,以便它不會獲取全局/ etc / vimrc嗎?我不想將cscope從PATH中移出,因為我不想每次從命令行運行它時都輸入完整的目錄名。


94
2018-05-13 21:01


起源




答案:


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

如果您仍希望處理〜/ .vimrc,請嘗試以下方法:

vim -u ~/.vimrc

將以下行添加到〜/ .bashrc(或shell的等效文件,如果不是bash)以自動添加-u開關:

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

您將無法向〜/ .vimrc添加內容以防止讀取/ etc / vimrc,因為系統文件在用戶文件之前處理(請參閱“:help init”,第3節“執行Ex命令,來自環境變量和/或文件“)。


72
2018-05-13 22:27



謝謝!這最終允許我編輯一個文件(由於某種原因)在一行中有數千個字符,否則將永遠凍結我的Vim。 - Hubro


來自 Vim手冊頁

-u {vimrc}

使用文件{vimrc}中的命令進行初始化。   所有其他初始化都是                    跳過。用它來編輯一種特殊的                    文件。它也可以用來跳過所有的初始 -                    通過給出“NONE”這個名字來表達。見“:幫助                    初始化“在vim內有更多細節。

所以這應該做的工作:

vim -u NONE

您應該可以將此別名替換為日常使用的常規命令。


88
2018-05-13 21:36



...但我希望執行〜/ .vimrc,而不是/ etc / vimrc - florin
vim -u ~/.vimrc - heavyd
NONE旗幟非常方便,謝謝! - Niels Bom