您可以查看默认的Vim设置吗?

tyg4sfes  于 2022-11-11  发布在  其他
关注(0)|答案(4)|浏览(168)

我开始学习创建我自己的.vimrc文件,我一直注意到我的自定义版本缺少的功能,这些功能在默认设置中存在。
我想知道是否有可能查看默认设置,这样我就可以将它们与我自己的设置进行比较,并查找所有我不知道的标准包含,以了解更多有关它们的信息。
我在网上搜索了一下,没有找到答案,如果没有答案的原因是这个问题的答案是显而易见的,我真的很抱歉;我还是有点菜鸟:p

uhry853o

uhry853o1#

不用担心,这是一个非常有效的问题。不幸的是,答案有点复杂。首先,Vim有一些默认设置,这些默认设置记录在内置的帮助系统中。
其中一些仅在禁用Vi兼容模式时使用,这是大多数人首先进行的自定义:

:set nocompatible

除此之外,许多发行版提供了自己的自定义配置,例如Debian/Ubuntu提供了/etc/vim/vimrc。更令人困惑的是,Vim 8提供了一个正常的配置(称为default.vim),只有在找不到~/.vimrc时才应用。更不用说NeoVim提供了自己的一组默认配置。
在实践中,我建议显式地设置您关心的任何选项,以确保您的配置在不同的系统和Vim版本之间是可移植的。要查看给定选项的当前值,请使用问号:

:set showcmd?

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

:help showcmd

最后,您可能想查看my annotated .vimrc以获得一些启发,vim-sensible plugin也提供了一些大多数人都会同意的合理默认值。

km0tfn4u

km0tfn4u2#

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

$ vim -u NONE -N

它将在没有任何定制或插件的情况下启动Vim,但仍然处于“不兼容”模式(即,基本上,运行完全成熟的Vim,而不是其模拟Vi的精简版本)。
然后,您可以执行以下命令:

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

以分别查看当前有效的所有选项、Map、命令、变量、函数和自动命令。(我不能保证我没有忘记某个自定义类别。)
Vim还附带了一系列基本配置,-u NONE选项跳过了这些配置,您也可以使用-u NORC来包含这些配置,同时仍然排除您的.vimrc

ehxuflar

ehxuflar3#

根据@Amadan的回答,我创建了这个文件(ShowAllDefaults.vim)和运行它并捕获输出的命令。
。同时,如果您有~/.vim下的文件,那么如果您使用以下命令,它们将被执行:

vim -u ShowAllDefaults.vim -N +q

所以正确的做法是:

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

显示所有默认值.vim的内容:

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

mec1mxoz4#

很久以后我也试着熟悉Vim,我遇到了这个,因为我有同样的问题。
我是如何在Vim中找到答案的,就是调出默认设置的帮助,它解释了为新用户获取默认设置沿着.vimrc,还给出了默认脚本的路径,这样你就可以在编辑器中打开它并阅读和比较它。
我不打算给予我的确切路径,因为在不同的版本中可能会改变,所以最好从Vim内部的帮助文档中获取。

相关问题