首页 > 其他分享 >vim脚本的语言语法

vim脚本的语言语法

时间:2024-04-02 21:31:09浏览次数:24  
标签:脚本 插件 映射 Vim 语法 vim echo Hello

本文结构:

a、简介

b、Vim 脚本语言的一些基本语法和概念

a、Vim 脚本语言(Vimscript)是 Vim 编辑器用于自动化任务和扩展功能的脚本语言。Vimscript 提供了一套丰富的命令、函数和变量,允许用户自定义快捷键、映射、插件和更多高级功能。

b、下面是 Vim 脚本语言的一些基本语法和概念

1. 注释

Vim 脚本使用双引号 " 来标记注释。注释用于解释代码的目的或行为,不会被 Vim 执行。

" 这是一个注释

2. 变量

Vim 脚本中的变量不需要事先声明类型,它们可以是字符串、数字或列表等。变量名以字母开头,可以包含字母、数字和下划线。

let myVariable = "Hello, Vim!"  
let number = 42

3. 表达式和操作符

Vim 脚本支持基本的算术和逻辑操作符,如加法 +、减法 -、乘法 *、除法 /、取模 %,以及逻辑操作符 &&(与)、||(或)和 !(非)。

let sum = 5 + 3  
if sum > 7  
    echo "The sum is greater than 7"  
endif

4. 映射(Mappings)

映射允许用户将特定的键或键序列映射到命令或命令序列。这通常用于定义快捷键。

nnoremap <Leader>w :w<CR>

在上面的例子中,<Leader> 是一个特殊的键,通常映射到 ,; 或其他键,<CR> 代表回车键。这个映射将 <Leader>w 映射到保存文件的命令 :w<CR>

5. 函数(Functions)

Vim 脚本允许用户定义自己的函数,并在脚本中调用它们。

function! MyFunction()  
    echo "Hello from MyFunction!"  
endfunction  
  
command! MyCommand call MyFunction()

上面的代码定义了一个名为 MyFunction 的函数,并在一个命令 MyCommand 中调用它。当用户在 Vim 中输入 :MyCommand 并按下回车键时,将调用 MyFunction 函数并输出消息。

6. 条件语句(Conditional Statements)

Vim 脚本支持 ifelseifelse 语句,用于根据条件执行不同的代码块。

if myVariable == "Hello, Vim!"  
    echo "Variable equals Hello, Vim!"  
elseif myVariable == "Goodbye, Vim!"  
    echo "Variable equals Goodbye, Vim!"  
else  
    echo "Variable is something else."  
endif

7. 循环(Loops)

Vim 脚本支持 forwhile 循环,用于重复执行代码块。

for i in range(1, 5)  
    echo "This is iteration " . i  
endfor

8. 列表和字典(Lists and Dictionaries)

Vim 脚本支持列表(数组)和字典(关联数组)数据结构。

let myList = ['apple', 'banana', 'cherry']  
let myDict = {'name': 'Alice', 'age': 30}

列表可以通过索引访问元素,而字典可以通过键访问值。

9. 自定义命令(Custom Commands)

用户可以通过 command! 语句定义自己的 Vim 命令。

command! SayHello echo "Hello, Vim!"

上面的代码定义了一个名为 SayHello 的命令,当用户在 Vim 中输入 :SayHello 并按下回车键时,将输出 "Hello, Vim!"。

10. 插件开发

Vim 脚本也常用于开发 Vim 插件,这些插件可以扩展 Vim 的功能,提供额外的命令、映射和界面元素。插件通常包含更复杂的逻辑和交互,并利用 Vim 提供的 API 和其他功能。

标签:脚本,插件,映射,Vim,语法,vim,echo,Hello
From: https://blog.csdn.net/m0_59091453/article/details/137291140

相关文章

  • vim配置及基本用法
    capslock->ctrl//systemkeychangeinoremapjk<Esc>//escconfigtojkletmapleader="'"//leaderto'Verbsd:deletec:changey:yank(copy)v:visuallyselect(Vforlinevs.character)Modifiersi:insidea:aro......
  • rust语法super、self和Self
    当调用模块的函数时,需要指定完整的路径。1)use关键字包括范围内的所有模块。因此,可以直接调用函数,而不必在调用函数时包含模块。Rust中的use关键字缩短了调用函数的长度,使函数的模块在范围内。2)使用*运算符*运算符用于将所有项目放入范围,这也称为glob运算符。如果使用glob运算......
  • SQL语法之SQL 通配符
    原文链接:https://blog.csdn.net/westos_yanzheng/article/details/126399593SQL通配符必须与LIKE运算符一起使用。在SQL中,可使用以下通配符: 1.1使用%通配符例子1现在,我们希望从上面的“Persons”表中选取居住在以“Ne”开始的城市里的人:我们可以使用下面的SEL......
  • 21_Shell脚本入门
    Shell脚本入门一、什么是shell脚本​我们已经能够熟练的在终端中输入命令来完成一些常用的操作,但是我们都是一条一条输入命令。这样会很麻烦,那么有没有一种方式可以将很多条命令放到一个文件里面,然后直接运行这个文件即可?肯定有,这个就是shell脚本!​shell脚本类似window......
  • 22_shell脚本条件判断、函数和循环
    shell脚本条件判断、函数和循环一、shell脚本条件判断​shell脚本支持条件判断,虽然可以通过&&和||来实现简单的条件判断,但是稍微复杂一点的场景就不适合了。shell脚本提供了ifthen条件判断语句,写法if条件判断;then//判断成立要做的事情fi还有ifthenelse语句,写法......
  • VIM
    vim的三种模式命令模式i insert,在光标所在处输入I 在当前光标所在行的行首输入a append,在光标所在处后面输入A 在当前光标所在行的行尾输入o 在当前光标所在行的下方打开一个新行O 在当前光标所在行的上方打开一个新行当前页跳转:H:页首  M:页中间行  L:页底zt:......
  • systemctl控制python脚本开机自启
    一次搞定Linuxsystemd服务脚本-知乎(zhihu.com)#service文件目录/etc/systemd/system/mantis-stat.service#文件内容Description=mantis-statAfter=network.target[Service]Type=forkingUser=rootGroup=rootWorkingDirectory=/root/daizc/mantis-stat-master......
  • 部署containerd的自动化脚本
    一键部署containerd的脚本,软件源通过官网下载,若通过wget下载失败,直接下载tar包上传运行脚本即可#!/bin/bash#wgethttps://github.com/containerd/containerd/releases/download/v1.7.13/cri-containerd-cni-1.7.13-linux-amd64.tar.gz#if[!$?=0];then#  echo"......
  • vim 使用记录
    记录vim使用和学习中用到的一些命令1.设置vim行号echo"setnumber">>~/.vimrcsource~/.vimrc2.vim跳到最后一行 在Vim中跳转到文件的最后一行,你可以按下Shift+G快捷键。这会将光标移动到文件的最后一行。如果你在正常模式下,也可以使用:命令加上行号:......
  • Shell 编程入门指南:从基础到进阶,轻松掌握 Shell 脚本编程技巧--附有测试题目
    $shell编程setnu显示行号生成随机数RANDOM快速入门文件shell脚本文件第一行特殊格式 #!/bin/bashecho跟输出内容shell脚本执行方式 #方式一sh文件.sh#方式二./文件.sh 相对路径#方式三/root/文件.sh 绝对路径shell的数据类型字符串:建议使......