我对VIM中的这些感到困惑。有些东西需要设定,有些则需要。 而且,我该如何检查某个选项。我知道这是一个选项,因为我使用set来改变它。
例如,如何检查当前文件类型选项是否为java?
答案 0 :(得分:11)
选项强>
所有这些选项都以某种方式改变了Vim的行为。
其中许多将用于自定义您的Vim:您可以设置如何处理备份文件,如何管理文本,是否显示菜单和工具栏,以及一堆其他东西。
缓冲区或窗口的几个选项是本地的;例如,它们指定应在缓冲区上使用哪种语法高亮和缩进。
:set
命令可用于设置和打印选项的值,请参阅:help :set
。
如果您键入:h option-list
,则会获得包含单行说明的所有选项的列表。
如果您键入:h option-summary
,则会获得包含详细说明的所有选项的列表。
内部变量
内部变量是不同的东西:它们就像程序中的变量。
您可以随时创建或销毁变量。
它们本身不会影响Vim的行为,只能通过Vim脚本(例如Vim插件和.vimrc文件)来读取(和修改)它们的值,并根据它来做不同的事情。
有几种内部变量:全局变量,局部变量和其他一些变量。
它们在:h internal-variables
中描述。
它们用表达式(:h expression
)和
可以使用let
(:h :let
)和unlet
(:h :unlet
)命令设置和删除它们。
扩展意义上的变量
还有其他对象的行为类似于变量,但不是内部变量。
它们也在表达式中进行计算,并且可以使用let
命令设置它们的值;但他们无法删除。
内部有三种类型的变量:环境变量(:h :let-environment
),寄存器变量(:h let-register
)和选项变量(:h let-option
)。
所有这些都有一个前缀,以便它们可以与内部变量和彼此区分开来。
环境变量的前缀为$
,注册变量为@
,选项变量为&
。
这些变量指向某个地方(对于真实环境变量,寄存器或选项),并且当在脚本中或由用户读取或设置它们的值时,实际上读取或设置“真实物体”的值。 / p>
答案 1 :(得分:9)
通过研究更多内容得到了这个:
要获取选项的值,请在选项前加上&
。
所以,上面的内容可以用
完成if &filetype == 'java'
答案 2 :(得分:7)
:set 用于显示选项值,显式设置选项值并切换它们,而:let 用于设置选项值作为某些先前表达式的结果(当您通过变量定义选项值时)。当然,在vim脚本中,你将使用:让更多。
例如:
您通常使用
:set ft=batch
但你也可以
:let varijabla='batch'
:let &filetype=varijabla