我对VIM中的这些感到困惑.有些东西需要设定,有些则需要.而且,我该如何检查某个选项.我知道这是一个选项,因为我使用set来改变它.
例如,如何检查当前文件类型选项是否为java?
选项
所有这些选项都以某种方式改变了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
).所有这些都有一个前缀,以便它们可以与内部变量和彼此区分开来.环境变量带有前缀$
,寄存器变量@
和选项变量&
.这些变量指向某个地方(对于真实环境变量,寄存器或选项),并且当在脚本中或由用户读取或设置它们的值时,实际上读取或设置"真实事物"的值.
通过研究更多内容得到这个:要获得选项的值,请在选项前加上一个&
.
所以,以上可以做到
if &filetype == 'java'
:set用于显示选项值,显式设置选项值并切换它们,while :let用于设置选项值作为某个先前表达式的结果(当您通过变量定义选项值时).当然,在vim脚本中你将会使用:让更多.
例如:
您通常使用设置文件类型
:set ft=batch
但你也可以
:let varijabla='batch' :let &filetype=varijabla