我开始学习创建我自己的.vimrc文件,我一直注意到我的自定义版本缺少的功能,这些功能在默认设置中存在。我想知道是否有可能查看默认设置,这样我就可以将它们与我自己的设置进行比较,并查找所有我不知道的标准包含,以了解更多有关它们的信息。我在网上搜索了一下,没有找到答案,如果没有答案的原因是这个问题的答案是显而易见的,我真的很抱歉;我还是有点菜鸟:p
.vimrc
uhry853o1#
不用担心,这是一个非常有效的问题。不幸的是,答案有点复杂。首先,Vim有一些默认设置,这些默认设置记录在内置的帮助系统中。其中一些仅在禁用Vi兼容模式时使用,这是大多数人首先进行的自定义:
:set nocompatible
除此之外,许多发行版提供了自己的自定义配置,例如Debian/Ubuntu提供了/etc/vim/vimrc。更令人困惑的是,Vim 8提供了一个正常的配置(称为default.vim),只有在找不到~/.vimrc时才应用。更不用说NeoVim提供了自己的一组默认配置。在实践中,我建议显式地设置您关心的任何选项,以确保您的配置在不同的系统和Vim版本之间是可移植的。要查看给定选项的当前值,请使用问号:
/etc/vim/vimrc
default.vim
~/.vimrc
:set showcmd?
要了解有关给定选项(包括默认值)的更多信息,请使用Vim的全面帮助系统:
:help showcmd
最后,您可能想查看my annotated .vimrc以获得一些启发,vim-sensible plugin也提供了一些大多数人都会同意的合理默认值。
km0tfn4u2#
查看“vanilla”Vim选项的最简单方法是使用以下命令启动它:
$ vim -u NONE -N
它将在没有任何定制或插件的情况下启动Vim,但仍然处于“不兼容”模式(即,基本上,运行完全成熟的Vim,而不是其模拟Vi的精简版本)。然后,您可以执行以下命令:
:set all :map :command :let :function :autocmd
以分别查看当前有效的所有选项、Map、命令、变量、函数和自动命令。(我不能保证我没有忘记某个自定义类别。)Vim还附带了一系列基本配置,-u NONE选项跳过了这些配置,您也可以使用-u NORC来包含这些配置,同时仍然排除您的.vimrc。
-u NONE
-u NORC
ehxuflar3#
根据@Amadan的回答,我创建了这个文件(ShowAllDefaults.vim)和运行它并捕获输出的命令。。同时,如果您有~/.vim下的文件,那么如果您使用以下命令,它们将被执行:
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
mec1mxoz4#
很久以后我也试着熟悉Vim,我遇到了这个,因为我有同样的问题。我是如何在Vim中找到答案的,就是调出默认设置的帮助,它解释了为新用户获取默认设置沿着.vimrc,还给出了默认脚本的路径,这样你就可以在编辑器中打开它并阅读和比较它。我不打算给予我的确切路径,因为在不同的版本中可能会改变,所以最好从Vim内部的帮助文档中获取。
4条答案
按热度按时间uhry853o1#
不用担心,这是一个非常有效的问题。不幸的是,答案有点复杂。首先,Vim有一些默认设置,这些默认设置记录在内置的帮助系统中。
其中一些仅在禁用Vi兼容模式时使用,这是大多数人首先进行的自定义:
除此之外,许多发行版提供了自己的自定义配置,例如Debian/Ubuntu提供了
/etc/vim/vimrc
。更令人困惑的是,Vim 8提供了一个正常的配置(称为default.vim
),只有在找不到~/.vimrc
时才应用。更不用说NeoVim提供了自己的一组默认配置。在实践中,我建议显式地设置您关心的任何选项,以确保您的配置在不同的系统和Vim版本之间是可移植的。要查看给定选项的当前值,请使用问号:
要了解有关给定选项(包括默认值)的更多信息,请使用Vim的全面帮助系统:
最后,您可能想查看my annotated
.vimrc
以获得一些启发,vim-sensible plugin也提供了一些大多数人都会同意的合理默认值。km0tfn4u2#
查看“vanilla”Vim选项的最简单方法是使用以下命令启动它:
它将在没有任何定制或插件的情况下启动Vim,但仍然处于“不兼容”模式(即,基本上,运行完全成熟的Vim,而不是其模拟Vi的精简版本)。
然后,您可以执行以下命令:
以分别查看当前有效的所有选项、Map、命令、变量、函数和自动命令。(我不能保证我没有忘记某个自定义类别。)
Vim还附带了一系列基本配置,
-u NONE
选项跳过了这些配置,您也可以使用-u NORC
来包含这些配置,同时仍然排除您的.vimrc
。ehxuflar3#
根据@Amadan的回答,我创建了这个文件(
ShowAllDefaults.vim
)和运行它并捕获输出的命令。。同时,如果您有
~/.vim
下的文件,那么如果您使用以下命令,它们将被执行:所以正确的做法是:
显示所有默认值.vim的内容:
mec1mxoz4#
很久以后我也试着熟悉Vim,我遇到了这个,因为我有同样的问题。
我是如何在Vim中找到答案的,就是调出默认设置的帮助,它解释了为新用户获取默认设置沿着.vimrc,还给出了默认脚本的路径,这样你就可以在编辑器中打开它并阅读和比较它。
我不打算给予我的确切路径,因为在不同的版本中可能会改变,所以最好从Vim内部的帮助文档中获取。