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


当前回答

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

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

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

其他回答

实际上你有一个vimrc

/etc/vimrc

当你在那里编辑一些东西时,更改将影响所有用户 如果你不想这样做,你可以在里面创建一个本地vimrc

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

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

直到我逃跑

:checkhealth

在vim中发现,在我的情况下,vim配置文件应该命名为init。Vim(在~/.config/nvim/init.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”名称的任何内容运行“find”就会很有用。

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

我的系统上的示例结果

在我的系统上产生

/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语法的详细说明

解释:

从根目录/开始查找(查找工作递归进行) 任何包含不区分大小写的regex *vimrc*的东西都可以在前面或后面加上任何东西或什么都没有(*) 类型=文件(不是目录/符号链接等) 将所有错误抛出到/dev/null,否则输出将充斥来自/proc的不可读错误