我一直在使用Vim,我真的想保存我的设置。我遇到的问题是我找不到我的.vimrc文件,它不在标准/home/user/.vimrc
位置。我怎么能找到这个文件?
答案 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
$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上将行号显示为默认值。
cd
。这将帮助您转到主文件夹。vi .vimrc
。这将创建一个您想要使用的空vimrc系统文件。set number
,然后按键盘上的 Esc 键入:wq
。这将设置默认设置文件vimrc
中显示的行号并保存。vi something
看看这是否有效。如果没有,请尝试完全重启终端。如果在终端中输入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)
$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