使用脚本语言,可以更灵活地定制编辑器以完成复杂的任务。
:echo命令
:echo可以显示命令中的参数。
:echo "Hello world"
Hello world
:echo还可以显示变量的值。
:let flag=1
:echo flag
1
使用|可以分隔同一行中的两个命令。
:echo "aa" | echo "bb"
aa
bb
:echon也只显示命令中的参数,但不会输出新行。
:echon "aa" | echon "bb"
aabb
可以通过:echohl命令,使用指定高亮颜色组输出信息。
:echohl ErrorMsg
:echo "A mistake has been make"
A mistake has been make
为了不影响后续:echo命令的显示效果,建议使用以下命令重设高亮显示为None:
:echohl None
使用以下命令,可以查看高亮显示组的颜色定义:
:highlight
在:echo命令中,可以使用以下转义符:
\n
Newline\r
Carriage return\t
Tab\123
八进制数字\x123
十六进制数字\u01fc34
Unicode\f
Form feed\e
Esc\b
Backspace\\
反斜线判断
if语句的一般形式如下:
只有条件(condition)为真时,if语句块内的语句才会被执行。
if语句还可以包含else子句:
满足条件(condition)时,if语句块内的语句将会被执行;而不满足条件(condition)时,则else语句块内的语句将会被执行。
if-else结构还可以进行多重判断
循环
while命令开始一个循环,并由endwhile命令结束。在条件为真是,循环中的代码将被重复执行。
continue命令回到程序的顶部开始执行下一次循环;而break命令则立刻退出循环。
:execute命令
:execute可以执行变量中指定的命令,例如定义以下变量,来指定需要执行的命令:
:let command = " echo 'Hello world!'"
然后使用:execute来执行具体的命令:
:execute command
也可以将变量作为参数传递给命令。例如定义以下变量,来指定命令需要的参数:
:let parameter = "'Hello world!'"
然后使用:execute来执行命令并指定参数:
:execute "echo " . parameter
以上两种方式,都将显示以下相同的结果:
Hello world
从以上命令可以看到,:execute
命令将双引号包围的字符串视为字面意义的文本;而将不带双引号的字符串视为变量或表达式,会将其转义为实际文本再执行。