Vim有许多内置(built-in)函数来操作字符串。本章中我们将介绍一些最为重要的字符串函数。
第一个介绍的函数是strlen
。执行下面的命令:
:echom strlen("foo")
Vim显示3
,也即"foo"
的长度。现在尝试下面的命令:
:echom len("foo")
Vim再一次显示3
。对于字符串,len
和strlen
有同样的效果。在本书稍后的章节我们会回过头来探讨len
。
执行下面的命令(注意是echo
而不是echom
):
:echo split("one two three")
Vim显示["one","two","three"]
。split
函数把字符串切割成列表。我们将简要介绍列表, 但现在不要纠结于此。
你也可以指定一个分隔符来代替"空白"。
:echo split("one,two,three", ",")
Vim再一次显示["one","two","three"]
,因为split
的第二个参数是",",表示以","切割。
你不仅可以切割字符串,还可以连接它们。执行下面命令:
:echo join(["foo", "bar"], "...")
Vim将显示foo...bar
。暂时不要在意列表语法。
split
和join
可以合作无间。执行下面的命令:
:echo join(split("foo bar"), ";")
Vim显示foo;bar
。首先我们把"foo bar"
切割成列表,接着用分号作为分隔符把列表连接成字符串。
Vim有两个函数来转换字符串大小写。执行下面的命令:
:echom tolower("Foo")
:echom toupper("Foo")
Vim显示foo
和FOO
。这很浅显易懂吧。
在许多语言(如Python)有一个惯例是在进行比较之前把字符串强制转换成小写来实现大小写无关的比较。 在Vimscript里不需要这么做,因为有大小写不敏感的比较运算符。如果你回忆不起来,重新读关于比较的那一章。 (译注:如果你回忆不起来,那是第22章)
你可以自由选择使用tolower
或==#
以及==?
来实现大小写敏感的比较。Vimscript社区对此还没有明显的偏好。 选定一个并在你所有的脚本中保持一致。
执行:echo split("1 2")
和:echo split("1,,,2",",")
。它们表现一致吗?
阅读:help splt()
。
阅读:help join()
。
阅读:help functions
并浏览有关String的内置函数。使用/
命令来辅助你(记住,Vim的帮助文件可以以一般文件的方式浏览)。 这里有着_许多_函数,所以不要纠结于每一个函数的文档。给自己留下印象,以便于将来的不时之用, 这就够了。
在前四十来章中,我们讲解了许多基础方面的内容。 在本书的最后部分,我们将尝试从零开始为一门语言创造Vim插件。这不是个适合懦...
既然已经移除前进路上的绊脚石,是时候开始为我们的Potion插件写下一些有用的代码。 我们将从一些简单的语法高亮开始。在你的插...
查询缓存gdb支持对查询结果的缓存处理,常用于多读少写的查询缓存场景,并支持手动的缓存清理。需要注意的是,查询缓存仅支...
XML Schema documentation 元素 完整 XML Schema 参考手册定义和用法 documentation 元素在 schema 中输入文本注释。该元素必须...
XML Schema redefine 元素 完整 XML Schema 参考手册定义和用法 redefine 元素允许在当前 Schema 中重新定义从外部架构文件中获...