我的.vimrc文件在哪里?

时间:2012-06-06 20:09:36

标签: vim

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

17 个答案:

答案 0 :(得分:411)

您需要创建它。在大多数安装中我默认都没有创建它。

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

答案 1 :(得分:327)

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

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

答案 2 :(得分:81)

简答:

要创建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)

用户vimrc文件通常在用户创建之前不存在。如果在Windows上找不到$HOME/.vimrc(或$HOME/_vimrc),那么您可以,也可能应该,只需创建它。

系统vimrc通常应保持未修改,并且位于$VIM * 目录中。系统vimrc 是保存个人设置的好地方。如果您修改此文件,那么如果您升级vim,您的更改可能会被覆盖。此外,此处的更改将影响多用户系统上的其他用户。在大多数情况下,用户vimrc中的设置将覆盖系统vimrc中的设置。

来自:help vimrc

  

包含初始化命令的文件称为“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的行为。来自:help compatible-default

  

当Vim启动时,'compatible'选项打开。这将在Vim时使用   开始初始化。但是一旦找到用户vimrc文件,或者一个   当前目录中的vimrc文件,或“VIMINIT”环境变量是   设置,它将被设置为'nocompatible'。这有设置或的副作用   重置其他选项(请参阅“兼容”)。但只有选项   未设置或重置将被更改。

* $VIM可能未在您的shell中设置,但始终在vim中设置。如果你想看看它的设置,启动vim并使用命令:echo $VIM

答案 3 :(得分:25)

作为附加信息,主要在macOS中,.vimrc文件位于目录:

/usr/share/vim/.vimrc

答案 4 :(得分:19)

:echo($MYVIMRC)

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

:e $MYVIMRC

会打开它。

答案 5 :(得分:12)

无论出于何种原因,这些答案对我来说并不适用。这对我有用:

在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

来源: Open vimrc file

答案 6 :(得分:9)

打开Vim,在正常模式下输入:

:echo $VIM

答案 7 :(得分:5)

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

  1. 在终端中,键入cd。这将帮助您转到主文件夹。
  2. 在终端中,输入vi .vimrc。这将创建一个您想要使用的空vimrc系统文件。
  3. 在文件中,键入set number,然后按键盘上的 Esc 键入:wq。这将设置默认设置文件vimrc中显示的行号并保存。
  4. vi something看看这是否有效。如果没有,请尝试完全重启终端。
  5. 如果在终端中输入cd /usr/share/vim/,请转到该文件夹​​,然后输入ls。您可以直接看到名为vimrc的文件。但它是一个只读的系统文件。我觉得尝试修改它并不是一个好主意。因此,按照上述步骤自行创建vimrc会更好。它对我有用。

答案 8 :(得分:4)

以下是一些提示:

  • Arch Linux中,全局版本位于/etc/vimrc。这里有一些评论,提供了有用的详细信息。

  • 由于文件名以.开头,因此除非您使用ls -a显示所有文件,否则它会被隐藏。

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

  • 如果您不确定~/.vimrc是什么意思look at this question

答案 9 :(得分:2)

我在上一个答案中尝试了所有内容,但无法找到.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

答案 10 :(得分:1)

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

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

答案 11 :(得分:1)

Ubuntu中的 vimrc 文件(12.04 (Precise Pangolin):我在Vim中尝试了:scriptnames,它同时显示了/usr/share/vim/vimrc~/.vimrc

但我手动创建了~/.vimrc

答案 12 :(得分:1)

从cmd(Windows):

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

现在在Vim中输入命令模式:" " (即 Shift + ;

:tabedit $HOME/.vimrc

答案 13 :(得分:1)

Unix $vim --version上的

会告诉您各个位置:

   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"

答案 14 :(得分:1)

可以使用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的示例文件,并且在/etc/下还存在一些系统范围的配置文件。

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

使用的find语法的详细说明

说明:

  • 从根目录/开始查找(递归查找)
  • 任何包含不区分大小写正则表达式*vimrc*的东西,这意味着在任何地方带有vimrc(不区分大小写)的任何名称,都可以开头或后跟,也可以不加任何内容({ {1}})
  • 类型=文件(不是目录/符号链接等)
  • 将所有错误扔到*上,否则输出的垃圾邮件中包含来自/dev/null的无法读取的错误

答案 15 :(得分:1)

实际上您有一个vimrc

/ etc / vimrc

在其中编辑内容时,更改将影响所有用户
如果您不想,可以在其中创建本地vimrc

〜/ .vimrc

此处的更改仅会影响一个用户

答案 16 :(得分:-1)

在Ubuntu 18.04 LTS中,编辑:

/ etc / vim / vimrc