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


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

您通常将其创建为~/.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中的vimrc文件(12.04 (Precise穿山甲)):我在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

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

注意,该文件的存在将禁用兼容选项。详情见下文。

长一点的回答:

vimrc有两种类型:

用户vimrc在$HOME $VIM中的系统vimrc(在Amiga系统上,s:。Vimrc被认为是一个用户

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

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

help vimrc:

A file that contains initialization commands is called a "vimrc" file. Each line in a vimrc file is executed as an Ex command line. It is sometimes also referred to as "exrc" file. They are the same type of file, but "exrc" is what Vi always used, "vimrc" is a Vim specific name. Also see |vimrc-intro|. Places for your personal initializations: 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 The files are searched in the order specified above and only the first one that is found is read.

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

注意,仅仅用户vimrc的存在就会通过关闭兼容选项来改变Vim的行为。From:help compatible-default:

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


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


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

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

如果在终端中,输入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"

你需要的是用户vimrc文件:"$HOME/.vimrc"

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

来源:打开vimrc文件


从cmd (Windows):

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

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

: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”名称的任何内容运行“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的不可读错误


实际上你有一个vimrc

/etc/vimrc

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

~ / . vimrc

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


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

BSD / Linux: /home/$user/.vimrc SunOS / Solaris: /export/home/$user/.vimrc MacOS: /Users/$user/.vimrc Android: /data/media/$userid/.vimrc Unix: $root/home/$user/.vimrc AT&T Unix: $root/usr/$user/.vimrc 源于unix: /var/users/用户/ . vimrc美元 / u01 /用户/ . vimrc美元 /usr/$用户/ . vimrc /用户/用户/ . vimrc美元 /用户/用户/美元。vimrc(来源:维基百科:每个操作系统的默认主目录。)

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

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

位置设置在$HOME变量中,该变量在Linux环境中总是设置的。(来源:StackExchange->Unix & Linux)


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


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


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

直到我逃跑

:checkhealth

在vim中发现,在我的情况下,vim配置文件应该命名为init。Vim(在~/.config/nvim/init.vim下)。


我试图编辑我的.vimrc文件,这对我有效(macOS Ventura 13.0.1 2022年12月)。

touch ~/.vimrc
vim ~/.vimrc

然后我就可以随心所欲地编辑文件了,下次我运行vim时,它就会接收我所做的更改。