你能查看默认的Vim设置吗?

8
我开始学习创建自己的 .vimrc 文件,但我发现在我自定义的版本中缺少一些默认设置中存在的功能。
我想知道是否有可能查看默认设置,这样我就可以将它们与我的进行比较,并查找所有标准包含物,以便更好地了解它们。
我搜索了一下,但没有在网上找到答案。如果没有答案是因为这个问题的答案显而易见,那么我很抱歉;我还是有些新手 :p
4个回答

7

不用担心,这是一个完全合理的问题。不幸的是,答案有点复杂。首先,Vim具有某些默认设置,这些设置在内置帮助系统中有记录。

其中一些仅在禁用Vi兼容模式时使用,这是大多数人进行自定义的第一个步骤:

:set nocompatible

此外,许多发行版都提供了自己定制的配置文件,例如Debian/Ubuntu自带的是/etc/vim/vimrc。更加令人困惑的是,Vim 8还提供了一个合理的配置文件(称为default.vim),只有当找不到~/.vimrc时才会应用它。更不用说NeoVim自带的默认设置了。
实际上,我建议明确设置任何您关心的选项,以确保您的配置在不同系统和Vim版本之间具有可移植性。要查看给定选项的当前值,请使用问号:
:set showcmd?

要了解特定选项的更多信息(包括默认值),请使用Vim的全面帮助系统:

:help showcmd

最后,你可能想要查看我注释过的.vimrc以获取灵感,还有vim-sensible插件提供了大多数人都同意的一些合理默认设置。


6

查看“纯净版”Vim选项的最简单方法是使用以下命令启动:

$ vim -u NONE -N

这将会以没有自定义设置和插件的方式启动Vim,但仍然在“nocompatible”模式下(即基本上运行全功能的Vim,而不是它的简化版本仿真Vi)。

接着,您可以执行以下命令:

:set all
:map
:command
:let
:function
:autocmd

要查看当前生效的所有选项、映射、命令、变量、函数和自动命令,请分别使用以下命令(我不能保证没有遗漏任何自定义类别):
:options:maps:commands:let:functions:autocmd
此外,Vim还带有一堆基本配置,可以通过使用-u NORC选项来排除你的.vimrc文件,同时包含这些基本配置。如果使用-u NONE选项,则会跳过这些基本配置。

0

我尝试了很长时间才熟悉vim,因为我有同样的问题,所以我找到了这个。

我是如何在vim中找到答案的呢?我查看了默认设置的帮助文档,它解释了如何获取新用户的默认设置和.vimrc文件,并给出了默认脚本的路径,这样你就可以在编辑器中打开它并进行阅读和比较。

我不会提供我的确切路径,因为在不同版本中可能会更改,所以最好从vim内部的帮助文档中获取。


0

基于@Amadan的回答,我想出了这个文件(ShowAllDefaults.vim)和命令来运行并捕获输出。

在此期间,了解到,如果您有~/.vim下的文件,则如果您使用以下内容,则会执行它们:

vim -u ShowAllDefaults.vim -N +q

因此,正确的方法是:

vim -u NONE -N +"source ShowAllDefaults.vim" +q

ShowAllDefaults.vim的内容:

set verbosefile=/tmp/ShowAllDefaults.log
set all
map
command
let
function
autocmd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接