【发布时间】:2012-06-10 21:29:17
【问题描述】:
我一直在使用Vim,我真的很想保存我的设置。我遇到的问题是我找不到我的 .vimrc 文件,而且它不在标准的/home/user/.vimrc 位置。我怎样才能找到这个文件?
【问题讨论】:
-
如果不存在,创建它。
-
我的 Ubuntu 机器将它保存在一个名为
/usr/share/vim/vimrc的文件中。
标签: vim
我一直在使用Vim,我真的很想保存我的设置。我遇到的问题是我找不到我的 .vimrc 文件,而且它不在标准的/home/user/.vimrc 位置。我怎样才能找到这个文件?
【问题讨论】:
/usr/share/vim/vimrc 的文件中。
标签: vim
您需要创建它。在我使用的大多数安装中,默认情况下没有创建它。
您通常将其创建为~/.vimrc。
【讨论】:
/etc/vim/vimrc 还是将其复制到~/.vimrc?或者我可以两者兼得?
/etc/vim/vimrc。)在我创建了.vimrc 之后,这让我很困惑,没有用我所有常用的选项完全填充它(因为它在我不打算做太多工作的服务器上) 它使我的 vim 处于损坏或无法正常工作的状态。
如果你已经有一个 .vimrc 文件,这些方法可以工作:
:scriptnames 列出 Vim 为你加载的所有 .vim 文件,包括你的 .vimrc 文件。
:e $MYVIMRC打开并编辑你正在使用的当前.vimrc,然后使用Ctrl + G在状态栏中查看路径。
【讨论】:
:scriptnames 和 :e $MYVIMRC 都为我返回空白输出。
:scriptnames。但是 $MYVIMRC 不能保证被设置,例如在使用 vim -u filename 启动 vim 时。
:e $MYVIMRC 仅在首先存在 vimrc 文件时才有效。否则这将开始编辑一个字面上称为$MYVIMRC的文件。
rc 文件。无论您在 .vimrc 文件(大多数情况下在您的主目录中)中定义的任何内容,都将覆盖 /etc/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 中的 system vimrc(在 Amiga 系统上,s:.vimrc 被视为用户 vimrc)用户 vimrc 文件在用户创建之前通常不存在。如果您找不到 $HOME/.vimrc(或 Windows 上的 $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”环境变量是 设置,它将被设置为“不兼容”。这具有设置或 重置其他选项(参见“兼容”)。但只有具有的选项 未设置或重置将被更改。
* $VIM 可能没有在你的 shell 中设置,但总是在 Vim 中设置。如果你想查看它的设置,启动 Vim 并使用命令:echo $VIM
【讨论】:
作为附加信息,主要在 macOS 中,.vimrc 文件位于目录:
/usr/share/vim/.vimrc
【讨论】:
/usr/share/vim/.vimrc 文件以供使用。
:echo($MYVIMRC)
将为您提供 .vimrc 文件的位置。
:e $MYVIMRC
会打开它。
【讨论】:
无论出于何种原因,这些答案对我来说都不太适用。这对我有用:
在 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
【讨论】:
$HOME/.vimrc 和 the top answer 提到 ~/.vimrc 与 $HOME/.vimrc 相同。
打开 Vim,在普通模式下输入:
:echo $VIM
【讨论】:
/usr/share/vim。版本 8.2.100,Arch Linux。
~/.vimrc或~/.vim/vimrc,注意后者前面没有点。
在 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"
【讨论】:
我想分享一下我是如何在 Mac 上将显示行号设置为默认值的。
cd。这将帮助您转到主文件夹。vi .vimrc。这将创建一个您要使用的空 vimrc 系统文件。set number,然后按键盘上的Esc 并键入:wq。这将设置默认设置文件vimrc中显示的行号并保存。vi something 看看这是否有效。如果没有,请尝试完全重启终端。如果在终端中,输入cd /usr/share/vim/,转到该文件夹,然后输入ls。可以直接看到一个名为 vimrc 的文件。但它是一个只读的系统文件。我觉得尝试修改它不是一个好主意。所以按照上面的步骤自己创建一个vimrc比较好。它对我有用。
【讨论】:
这里还有一些提示:
在Arch Linux 中,全局地址位于/etc/vimrc。里面有一些 cmets 提供了有用的详细信息。
由于文件名以. 开头,除非您使用ls -a 显示所有文件,否则它会被隐藏。
在 Vim 中输入 :version 会显示很多有趣的信息,包括文件位置。
如果您不确定 ~/.vimrc 是什么意思 look at this question。
【讨论】:
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 文件,所以我不得不制作一个。
我复制了示例文件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
【讨论】:
实际上你有一个 vimrc
/etc/vimrc
当您在其中编辑某些内容时,更改将影响所有用户
如果你不想这样,你可以在
~/.vimrc
此处的更改只会影响一个用户
【讨论】:
来自 cmd (Windows):
C\Users\You> `vim foo.txt`
现在在 Vim 中,输入命令模式:“:”(即 Shift + ;)
:tabedit $HOME/.vimrc
【讨论】:
Ubuntu 中的 vimrc 文件 (12.04 (Precise Pangolin)):我在 Vim 中尝试了 :scriptnames,它同时显示了 /usr/share/vim/vimrc 和 ~/.vimrc。 p>
但我手动创建了~/.vimrc。
【讨论】:
在SUSE Linux Enterprise Server (SLES) 和openSUSE 中,全局地址位于/etc/vimrc。
要编辑它,只需vi /etc/vimrc。
【讨论】:
.vimrc 文件在哪里?这取决于操作系统。如您所见,您正在寻找/home/$user/.vimrc,这可能意味着您正在使用BSD / Linux。以下是每个操作系统的位置...
/home/$user/.vimrc
/export/home/$user/.vimrc
/Users/$user/.vimrc
/data/media/$userid/.vimrc
$root/home/$user/.vimrc
$root/usr/$user/.vimrc
/var/users/$user/.vimrc/u01/$user/.vimrc/usr/$user/.vimrc/user/$user/.vimrc/users/$user/.vimrc(来源:Wikipedia: Default home directory per operating system.)如果不存在,请使用~/.vimrc 创建它。
此外,root 用户有自己特殊的 .vimrc 文件,可以在 BSD/Linux 上的 /root/.vimrc 中找到(以及其他操作系统的等效位置)。
位置在$HOME 变量中设置,该变量始终在Linux 环境中设置。 (Source: StackExchange->Unix & Linux.)
【讨论】:
如果在 Windows 中,它可能位于文件夹“vim”中 Program Files(x86) 下的 C 目录中
【讨论】: