我的。vimrc文件在哪里?

我一直在使用Vim,我真的很想保存我的设置。我遇到的问题是我找不到我的.vimrc文件,它不在标准的/home/user/.vimrc位置。我怎样才能找到这个文件?

755419 次浏览

你需要创造它。在我使用的大多数安装中,默认情况下并没有创建它。

您通常将其创建为~/.vimrc

如果你已经有一个.vimrc文件,这些方法是有效的:

:scriptnames列出Vim为你加载的所有。Vim文件,包括你的.vimrc文件。

:e $MYVIMRC打开&编辑当前正在使用的.vimrc,然后使用Ctrl + G在状态栏中查看路径。

这里还有一些建议:

  • Arch Linux中,全局的是在/etc/vimrc。这里有一些有用的细节评论。

  • 由于文件名以.开头,所以它是隐藏的,除非使用ls -a来显示所有文件。

  • 在Vim中输入:version将显示一系列有趣的信息,包括文件位置。

  • 如果你不确定~/.vimrc是什么意思看看这个问题

:echo($MYVIMRC)

将为您提供.vimrc文件的位置。

:e $MYVIMRC

会打开的。

作为附加信息,大多数在macOS中,.vimrc文件位于目录:

/usr/share/vim/.vimrc

我在前面的回答中尝试了所有的方法,但找不到.vimrc文件,所以我不得不创建一个。

我复制了示例文件cp vimrc_example.vim ~/.vimrc

我必须创建文件,从/usr/share/vim/vim74/vimrc_example.vim复制到~/.vimrc。这些是vimrc_example文件中的说明。

我的解决方案是适用于Unix的其他操作系统。根据Vim文档,您的目标路径应该如下所示:

    For Unix and OS/2   : ~/.vimrc
For Amiga           : s:.vimrc
For MS-DOS and Win32: $VIM\_vimrc
For OpenVMS         : sys$login:.vimrc

SUSE Linux Enterprise Server (SLES)openSUSE中,全局函数位于/etc/vimrc

要编辑它,只需执行vi /etc/vimrc

Ubuntu (12.04(精确穿山甲))中的vimrc文件:我在Vim中尝试了:scriptnames,它显示了/usr/share/vim/vimrc~/.vimrc

但是我手动创建了~/.vimrc

简短的回答:

要创建您的vimrc,启动Vim并执行以下操作之一:

:e $HOME/.vimrc  " on Unix, Mac or OS/2


:e $HOME/_vimrc  " on Windows


:e s:.vimrc      " on Amiga

插入您想要的设置,并保存文件。

注意,这个文件的存在将禁用compatible选项。详情见下文。

长一点的回答:

vimrc有两种类型:

  • $HOME中的用户vimrc
  • $VIM中的系统vimrc(在Amiga系统中,s:.vimrc被认为是一个用户vimrc)

如果你找不到$HOME/.vimrc(或者Windows上的$HOME/_vimrc),那么你可以,也可能应该创建它。

系统vimrc通常不应该被修改和位于$VIM目录。vimrc系统是,是保存个人设置的好地方。如果您修改了这个文件,那么在升级Vim时,您所做的更改可能会被覆盖。此外,这里的更改将影响多用户系统上的其他用户。在大多数情况下,用户vimrc中的设置将覆盖系统vimrc中的设置。

从# EYZ0:

包含初始化命令的文件称为“vimrc”文件。 vimrc文件中的每一行都作为Ex命令行执行。它是 有时也称为“exrc”文件。他们是同一类型的 文件,但“exrc”是Vi一直使用的,“vimrc”是Vim特有的 的名字。参见|vimrc-intro|.

个人初始化的位置:

    Unix            $HOME/.vimrc or $HOME/.vim/vimrc
OS/2            $HOME/.vimrc, $HOME/vimfiles/vimrc
or $VIM/.vimrc (or _vimrc)
MS-Windows      $HOME/_vimrc, $HOME/vimfiles/vimrc
or $VIM/_vimrc
Amiga           s:.vimrc, home:.vimrc, home:vimfiles:vimrc
or $VIM/.vimrc

文件将按照上面指定的顺序搜索,并且只搜索第一个文件

.

.

.

(在上述情况下,MacOS也算作Unix。)

注意,用户vimrc的存在将通过关闭compatible选项来改变Vim的行为。从# EYZ1:

当Vim启动时,compatible选项是打开的。这将在Vim 开始初始化。但是一旦找到用户vimrc文件,或者 vimrc文件在当前目录下,或者“VIMINIT”环境变量是 设置,它将被设置为'nocompatible'。这有设置或 重置其他选项(参见“compatible”)。但只能是有选择的

.未被设置或重置将被改变

* $VIM可能不在shell中设置,但总是在Vim中设置。如果您想查看它的设置,请启动Vim并使用命令:echo $VIM

我想分享一下如何在Mac上将显示行号设置为默认值。

  1. 在终端中,键入cd。这将帮助您转到主文件夹。
  2. 在终端中,键入vi .vimrc。这将创建一个您想要使用的空vimrc系统文件。
  3. 在文件中,键入set number,然后按键盘上的Esc,再键入:wq。这将设置默认设置文件vimrc中显示的行号并保存它。
  4. vi something,看看这是否有效。如果不是,请尝试完全重启终端。

如果在终端中,输入cd /usr/share/vim/,转到该文件夹,并输入ls。您可以直接看到一个名为vimrc的文件。但它是一个系统文件,说的是只读。我觉得修改它不是个好主意。因此,按照上述步骤自行创建vimrc会更好。这对我很管用。

不管出于什么原因,这些答案对我来说不太管用。这对我来说是有效的:

在Vim中,:version命令为您提供了系统和用户vimrc和gvimrc文件(以及其他文件)的路径,输出看起来像这样:

 system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc"
user exrc file: "$HOME/.exrc"
system gvimrc file: "$VIM/gvimrc"
user gvimrc file: "$HOME/.gvimrc"

你想要的是user vimrc file: "$HOME/.vimrc"

因此要编辑文件:vim $HOME/.vimrc

来源:# EYZ0

从cmd (Windows):

C\Users\You> `vim foo.txt`

现在在Vim中,输入“”(即转变 + )进入命令模式

:tabedit $HOME/.vimrc

打开Vim,并在正常模式类型:

:echo $VIM

在unix vim --version上告诉你vim配置文件的不同位置:

   system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc"
2nd user vimrc file: "~/.vim/vimrc"
user exrc file: "$HOME/.exrc"
defaults file: "$VIMRUNTIME/defaults.vim"
fall-back for $VIM: "/usr/share/vim"

可以使用find命令获取有用的信息


find / -iname "*vimrc*" -type f 2>/dev/null

已经有很多答案了,但有时简单地运行“查找”会很有用。任何包含“vimrc"”名称的。

原因是,这将显示当前系统中实际可用的文件,而不是您可能放入系统中的文件。(你可以从:version中获得的信息,详见其他答案。)

我的系统上的示例结果

在我的系统上产生

/usr/share/vim/vim82/vimrc_example.vim
/usr/share/vim/vim82/gvimrc_example.vim
/etc/vim/gvimrc
/etc/vim/vimrc
/etc/vim/vimrc.tiny

这非常有用,因为它告诉我们在共享目录中为gvim和vim安装了2个示例文件,并且在/etc/下面还有一些系统范围的配置文件。

在我的系统上,我也有一个文件在~/.vimrc,但这没有出现在这个列表中,因为它是一个链接到另一个文件,存储在~/Linux-Config。但是您不会有这个目录,它是特定于我在自己的网络上使用的机器。

使用find语法的详细说明

解释:

  • 从根目录/开始查找(查找工作递归)
  • 任何包含不分大小写正则表达式*vimrc*的东西,这意味着任何地方有vimrc(不区分大小写)的名字,可以在任何东西的前面或后面(*)
  • 类型=文件(不是目录/符号链接等)
  • 抛出所有错误到/dev/null,否则输出会充斥着来自/proc的不可读的错误

实际上你有一个vimrc

/etc/vimrc

当你在那里编辑一些东西时,这些变化将影响所有用户
如果你不想这样做,你可以在

中创建一个本地vimrc

~ / . vimrc

这里的更改只会影响一个用户

.vimrc文件在哪里?这取决于操作系统。如您所见,您正在寻找/home/$user/.vimrc,这可能意味着您正在使用BSD / Linux。这里是每个操作系统的位置…

如果它不存在,则使用~/.vimrc创建它。

此外,root用户有他们自己的特殊的.vimrc文件,可以在BSD / Linux上的/root/.vimrc中找到(在其他操作系统的等效位置)。

位置设置在$HOME变量中,在Linux环境中始终设置该变量。(# EYZ1)。

如果在Windows中,它可能在你的C目录下Program Files(x86)文件夹"vim"

在我的系统中,安装了Garuda Linux的文件名为file:///etc/xdg/nvim/sysinit。因此,尝试找到这个文件并添加您的自定义更改。

不幸的是,答案太多了,但没有一个对我有帮助。

直到我逃跑

:checkhealth

在我的例子中,vim配置文件应该命名为init.vim(在~/.config/nvim/init.vim之下)。