首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Vimscript:使用vim设置作为变量/如何检查是否设置了特定的guioption

Vimscript是一种用于配置和自定义Vim编辑器的脚本语言。它允许用户通过编写脚本来修改Vim的行为,包括设置变量、检查选项等。

要设置一个变量,可以使用"let"命令,后跟变量名和值。例如,要将一个名为"my_variable"的变量设置为"hello world",可以使用以下命令:

代码语言:txt
复制
let my_variable = "hello world"

要检查是否设置了特定的guioption(图形用户界面选项),可以使用"exists()"函数。该函数接受一个参数,即要检查的选项名称,并返回一个表示选项是否存在的布尔值。例如,要检查是否设置了"menu"选项,可以使用以下命令:

代码语言:txt
复制
if exists('guioptions') && guioptions =~ 'm'
    echo "The 'menu' option is set"
else
    echo "The 'menu' option is not set"
endif

在上述示例中,我们首先使用"exists()"函数检查是否存在"guioptions"变量,然后使用正则表达式匹配检查是否设置了"m"选项(即菜单选项)。根据结果,我们输出相应的消息。

关于Vimscript的更多信息和详细用法,请参考腾讯云的Vimscript官方文档:

腾讯云Vimscript官方文档

请注意,以上答案仅供参考,具体的配置和检查方法可能因Vim版本和个人需求而有所不同。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

从零开始匹配vim(1)——选项设置

前面我们算是对 vimscript 做了一个入门,并且实现一个 输出 hello world 语句。现在我们继续进行 vimscript 学习。...当然,与其他编程语言类似,我们也可以使用 set 语句,一次性给多个属性进行赋值,例如 set number columns=80 只是一般编程语言多个变量赋值使用 , 作为分割,但是 vimscript...使用 lua 设置vim属性 作为一门更加规范编程语言,lua 提供多种方式来对这些变量进行赋值。目前有如下办法能对这些属性进行赋值。...使用neovim提供全局函数进行设置 neovim 中提供一组函数来设置这些属性。常见分为三类: 设置全局属性 a. vim.api.nvim_set_option() :设置值 b....使用元访问器进行设置 neovim 接口针对上述这些函数进行了一定封装,提供一组元访问器,以便我们能够像使用普通变量一样使用这些属性值。

81740

如何创建Vim Dotfile?

Dotfile是电脑系统里隐藏文件,它是专门给更高级用户,如开发者、程序员或工程师使用,让他们用来调整系统。如何创建Vim-Dotfile? 可以参考以下步骤: 1....首先,你要检查一下.vimrc文件是否存在。要确定这个文件是否可用,可以运行以下命令。 2. 出于很多原因,Vimrc 文件有可能已经不存在。...Vim dotfile可以在任何一种文本编辑器中编辑。你可以使用Gedit,Nano, 甚至是Vim。在打开文件后,你需要使用VimScript来配置它。 Vim使用Vimscript。...要确保缩格设置正确,应该在你Vim dotfile中使用以下代码。 你还可以在Github上保存你dotfiles, 方便你使用它们。它不但节省时间,还可以消除在程序配置过程中错误传播机会。...Vim是一个强大文本编辑器。学习如何结合Vim定制dotfile对你目前和将来项目会有很大帮助。对于那些刚开始学习Vim和dotfiles整体理念的人来说 ,可能会觉得Vim有点可怕。

1.9K80
  • 从零开始配置 vim(3)—— 键盘映射进阶

    这并不是我们想要。到底发生什么呢? 因为这些命令是递归如何理解递归呢?我们以函数思想来考虑,每定义一个快捷键,就相当于定义一个函数。并且在新定义函数中调用老函数。...lua 配置 到此位置我们学会了怎么使用 :map 系列命令定义快捷键,同时也知道什么是快捷键之间递归和非递归。可以说掌握关于 vimscript 定义快捷键基本方法。...从上面的 vimscript 代码中可以看到 mapleader 是用 let 关键字来设置,一般 let 是用来设置变量。...lua 中自定义变量可以直接定义,但是 mapleader 明显是vim 自带变量。跟设置选项类似,neovim 提供两种访问 vim 内部变量方式,一种是使用函数,一种是使用 元访问器。...跟变量有关函数主要有: vim.api.nvim_set_var():设置全局变量vim.api.nvim_get_var():获取全局变量 vim.api.nvim_del_var():删除全局变量

    1.4K30

    安装和定位vimrc

    在上一篇文章中,我们简单开了一个头,阐述下学习vim必要性,这章开始,会慢慢由浅入深学习它一套完整,高效文本编辑方式方法。...install neovim 对于其他发行版Linux来说,请参考neovim官方网站来确定如何安装 针对windows平台,可以使用 // 使用Scoop scoop install neovim...映射为nvim alias vim='nvim' 使用vimrc进行基本设置 刚开始为了后面使用方便,需要对vim进行一些基础配置,这里配置也是为了日后更好使用vim相关功能而必须要进行配置 macOS...这里我们也可以将文件名改为init.vim这样我们可以使用vimscript,.lua可以使用lua语言进行配置。...这里给出vimscript和lua最基础配置 " vimrc 配置 set number "设置行号 syntax on " 打开语法高亮 set relativenumber "设置相对行号 set

    68120

    从零开始匹配vim(0)——vimscript 简介

    通过之前一系列文章,相信各位小伙伴应该已经对vim产生了浓厚兴趣,可能不少小伙伴通过慢慢使用跟我一样,离开vim就不会写代码。...如果你希望继续长时间使用vim,甚至将vim作为主要代码编辑器,那么花一定时间来学习vim配置是很有用。...、移动光标,并且知道如何保存退出 知道vim相关术语,缓冲区列表、缓冲区、窗口、命令模式、插入模式等等 知道 vim配置文件在哪 如果你还不知道,请移步我专栏,跟着专栏中内容做做实验。...,vimscript 不管写还是读都比较晦涩,而且 neovim 已经采用更容易理解也更加现代化 lua,有必要学习 vim script吗?...我们发现每次进入 neovim 之后,总会在下方显示这么一句话。 我们再来看看如何使用 lua 来打印这么一句话呢?lua 中对应函数是 print 。

    74320

    Vim 后门 | Linux 后门系列

    vim 内置变量而不是 Linux 环境变量,当然 vim 也是可以使用 Linux 环境变量 通过在vim底线命令模式中 echo $变量名 来获取 vim 配置文件地址...,但是系统配置中设置 flag 变量这个操作是成功,相信看到这里,部分小伙伴已经对后门有想法,但请不要着急,这部分主要是探索 vim 配置详细加载情况 2....是否可以通过环境变量设置 可以看到并没有什么影响,因此 runtimepath 值并不是来自于 Linux 操作系统环境变量 4) runtimepath 是否可以通过配置文件修改 从结果可以看出...这些文件可以根据文件类型自动加载,并为特定类型文件提供相关设置和命令。...是否自动加载 vimrc Vim 全局配置文件,用于设置全局 Vim 选项和自定义命令。

    67651

    本地缓冲区设置与本地窗口设置

    在前面的一系列文章中,我们介绍使用 :noremap 进行键盘映射,使用 set 来设置选项和 vim 变量。并且已经在配置文件中对他们进行了相关配置。...在这个缓冲区中,我们使用 :set number来显示行号。这个时候不管如何打开新文件,我们发现新打开文件都会显示行号,这没什么新鲜。 接下来我们来点不一样。...每次打开或者关闭不同文件会导致缓冲区变化发生变化,这就导致我们没办法通过编号精准为每个缓冲区设置我们想要效果(不过这个需求也基本很少遇到就是,后续将会学习新技术来实现这一需求) 在 vimscript...在 neovim中使用 vim.g.maplocalleader 来设置本地 leader 键 作为普通用户来说,我仅仅是进行配置,让 vim 更好用,我更喜欢所有的 leader 都一样。...这是因为定义本地行为把全局行为给覆盖掉了。我们可以理解为局部变量会覆盖全局变量。 但是我们切换到新文件发现它执行是 dd操作,以编程语言作为类比的话,此时已经跳出了局部设置生命周期

    1.1K20

    终极 vim 配置: space-vim

    作为 emacs 长久以来对家 vim, 如果也能有一个这样一个社区驱动配置,相信也会给大家带来很多便利。...此外,vim 社区中,虽有 spf13-vim, k-vim 等一些比较有名 vim 配置,但始终整合不够,散落着很多适用特定环境很好配置,比如针对 c-c++, python, ruby 等等不同语言环境...随着 vim8 升级,会有很多新更好插件诞生,比如我用来替代 syntastic ale, ale 使用了异步特性,再也不用因为语法检查而拖慢速度了。...(image-f65de2-1510556024398)] 如何使用 个人配置文件为 .spacevim, 如果没有 .spacevim, 那么 space-vim 仅会加载默认 Layer. .space-vim...文档,包括安装细节,使用经验等。 展望 目前还没有在 Windows 下测试,实现仅 Layer 按需加载,后续应当还支持一些选项设置,比如同类插件选择哪一个. 很多文档工作。

    2K20

    从零开始配置 vim(11)——插件管理

    之前我们介绍基础配置部分和快捷键配置部分。如果你配置这两个部分,vim已经算是比较好用了。但是作为代码编辑器来讲还是显比较简陋,用这些配置来完成日常编码任务会显得力不从心。...autocmd BufWritePost init.lua source % augroup END 在使用vimscript场合它可以正常工作。但是如何在 neovim中配置它呢?...nvim_create_augroup 传递一个自动命令组名称,另外它可以接受一个 table 作为属性值,目前属性值可以传入一个 clear 布尔值,相当于是否执行 autocmd! 。...随着配置越来越多,以后在 init.lua 中一定伴随着大量 require。我们可以通过 gf 快速跳转到对应模块,但是前提条件是我们已经设置 path 变量。...在lua中执行vim命令 在 0.7以前版本中无法通过上述api来创建自动命令。但是它提供执行vim命令接口。 我们可以使用 vim.cmd 来执行 vim 命令。

    1K30

    从零开始配置 vim(9)——初始配置

    我们先经过几篇文章了解了下面的几个内容 如何设置vim属性,从而改变vim特征 配置快捷键,以提高我们使用效率 使用自动命令,以便使用vim来自动化我们相关操作 这些既有vimscript东西...拥有这些基础知识之后,在阅读其他人写配置或者自己配置将会变得更加容易。当然关于vim我们还有很多内容没有讲,例如该如何自定义命令,如何弹出一个窗口,以及到最后如何编写自己插件。...文件作为配置文件入口 基础配置 我们在 init.lua 中写入如下内容作为基础配置 -- 设置文件编码格式为 utf-8 vim.g.encoding = "utf-8" -- 设置终端编码格式为...vim.o.ruler = true -- 边输入边搜索 vim.o.incsearch = true -- 开启搜索匹配高亮 vim.o.hlsearch = true -- 搜索时自行判断是否需要忽略大小写...= true vim.opt.termguicolors = true 完成之后,再次打开vim发现它已经变成了这样 本篇就到这里,下一篇我们将对默认快捷键进行配置

    1.2K10

    vsnip 插件

    本篇我们将要来讨论如何使用相关插件来完成代码片段自动完成功能 vsnip 插件 我们之前在配置自动补全时候已经下载 vim-vsnip这个插件。...'(vsnip-jump-prev)' : '']] 由于该插件是使用 vimscript 脚本写,它还没有提供 lua 接口,因此这里我也就使用 vimscript...使用变量 使用语法 name 或者 {name: default} 可以插入一个变量。如果未设置变量,则会插入其默认值或空字符串。当变量未知(未定义其名称)时,会将插入变量名称转换为占位符。...这里变量一般是环境变量或者是 vim 自带一些变量。我们直接拿来用但是在不同环境下得到结果是不一样。 我们可以使用变量来丰富一些信息。...具体有哪些变量可以使用,可以参考 visual studio code 官方给出文档 本篇主要谈论如何定义自己代码片段。

    1.6K20

    vim 从嫌弃到依赖(19)——替换

    之前讨论关于在vim使用正则表达式相关知识能方便进行搜索,现在在之前基础之上继续来讨论如何进行替换操作。...手动选择是否需要替换 有的时候我们并不希望盲目的对所有内容进行替换,而只替换其中部分内容。例如上述文本中,我们只想替换第二行最后一个 python 为vim。那么可以使用 c 标志。...使用寄存器内容进行替换 {pattern} 域留空了,vim会自动以上一次模式来进行匹配,那么如果我把替换域留空,是不是会以上次替换字符串作为这次进行替换呢?...然后我们可以利用之前介绍 {pattern} 留空方式,重新组织新排列格式 :%s//\2, \1 使用 vimscript 脚本 在上面介绍从寄存器中读取内容进行替换时候初步介绍使用...最后总结 在这篇文章我着重讨论 substitute 这个命令使用,介绍该命令对应标志位,并通过一些例子演示了如何使用这些标志位。相信各位对替换命令有一定认识。

    3.3K10

    推荐适用于面向程序员和开发人员Vim插件

    基本上,Vim只是另一个文本编辑器,我们可以使用它来编写和编辑文本,就像通常在Windows或Mac上使用Sublime Text,甚至在Windows上使用记事本一样。...Vim插件所做是通过使用它来增强我们工作流程来帮助扩展Vim功能。 Vim插件基本上是在特定目录结构中分布大量VimScript记录。...Vim插件在插件管理器在出名之前被作为tarball包形式分发Vim插件在Vim中合并其他功能-这些不是编辑器固有的功能。由于Vim存在,可以使用各种各样插件来实现广泛用途。...现在好了,Vim Rainbow插件来了,因为它为每对括号设置不同颜色,从而使其很容易别出哪些括号是一对括号。 也非常有用而且非常生动。...这个特定插件在Vim编码时基本上充当程序员搜索工具。 我们时不时地要搜索包含特定行甚至只是一个单词特定文件,而ack正是适合Vim用户插件。

    48300

    一名ClojurianEmacs配置

    我在转向emacs之前,是一名忠实vim党,从大学开始就不断折腾vim配置,还花过一段时间专门学习vimscript,曾经惊叹于vimscript动态函数式风格优美和强大。...这就不得不提起Clojure这门lisp方言,出于对lisp和函数式编程痴迷,我选择基于JVMClojure作为自己偏好语言,而emacs天生为lisp而生。...,顾名思义,多个包下载源,我给package-archives设置5个包源,它们之间服从顺序优先级,即先从第一个源中下载包,如果没有,到第二个源中寻找,以此类推。...接下来,只需要使用c-h v和c-h f查看elisp中定义变量函数就能很快上手自行配置。...这种时候,我心中就蹦跶出一句话“世界上本没有矛盾,如果出现检查你都有哪些前提条件,就会发现其中一个是错”。这种非异常知识点很难通过搜索引擎找到满意答案,而阅读文档恰恰是最合适解决方式。

    2.8K20

    从零开始配置 vim(15)——状态栏配置

    这篇文章主要介绍如何自定义状态栏 设置状态栏 我们可以采用 set statusline 来设置状态栏。 例如我们输入 :set statusline=%f\ -\ FileType=%y。...从上面的命令中明显感觉到只输出两个内容就已经开始显比较繁琐,如果显示内容多了是不是就更加难以阅读和书写了呢?好在我们还能使用 lua来做设置。...控制边距和宽度 如果你写过 c 或者其他编程语言中输出语句,应该很容易理解如何控制输出格式,一般使用类似 `%4l`` 这样语句来控制该项占4个字符宽度。...因此我们仍然采用在 lua 中调用 vimscript 方式。这次我们使用函数 vim.api.nvim_eval()。它可以执行 vim 命令并将返回执行结果。...状态栏美化,其实主要靠插件,本篇一大部分写了如何使用原生statusline 设置主要是自己手工设置比较有意思,而且也可以凑文章字数,其实你不知道statusline 这个也无所谓,很多插件都都对原生方式进行了大量封装

    1.3K10

    Vimscript

    本文内容为学习 过程中,觉得 Vimscript 语法中与所掌握其它语言定义有明显区别,需要特别记忆内容。 使用 == 进行字符串比较是否忽略大小写与用户设置相关。...当字符串转换为整形时,以数字开头字符串会转换为整数,非数字开头将转换为 0。 没有作用域限制函数名必须以大写字母开头。 传给函数参数需要带作用域前缀才能使用。...所以有连接字符串需求使用连接符 . 吧!...['a', 'b', 'c', 'd'][0:2] 而在 Vimscript 里结果将为 ['a', 'b', 'c']。...如果一个 Vimscript 变量要引用一个函数,即它类型为 Funcref,它就要以大写字母开头;引用函数列表命名不受此限制。 如果像注释掉那行那么写会报错

    31020

    vim 个性化设置

    前言 最近在开发一个脚本工具集中需要实现对各单个工具脚本版本管控,作为懒癌晚期患者,对于繁琐事情一向是很反感。于是趁着这个机会学习和应用一下vim自定义函数以及一些常规操作。...由于工作使用vim比较偏向于工厂环境,所以本文只针对vim本身做简单配置,未深入研究各插件。 vimscript 简介 ? Vimscript,一门用于定制Vim脚本语言。它其实就是 Vim命令。...如,在Vim中,保存一个文件使用命令:write(或者缩写 :w)并回车确认。在Vimscript中,使用write实现文件保存功能。...vimscript 教程参考链接:http://learnvimscriptthehardway.onefloweroneworld.com/ 版本管控实现 注意看注释,vimscript 注释内容以"...以下脚本实现F1插入shell文件头,F2插入python文件头,F5更新文件头中日期,F6更新工具版本(没有对应版本行时插入版本行) 本文脚本已上传github: https://github.com

    1.5K20
    领券