举报投诉联系我们 手机版 热门标签 名动网
您的位置:名动网 > vim字典补全 Vimscript 字典

vim字典补全 Vimscript 字典

2023-03-16 10:20 Vim教程

vim字典补全 Vimscript 字典

vim字典补全

Vim字典补全是一种强大的文本编辑器,它可以帮助用户快速完成文本编辑任务。它使用一个字典来提供补全功能,这样用户就可以在输入文本时节省时间。

Vim字典补全的工作原理是,当用户在文本中输入一个单词时,Vim会检查字典中是否有匹配的单词。如果找到了匹配的单词,Vim就会将这个单词显示出来,并提供一个补全选项。用户可以选择这个选项来快速完成文本编辑任务。

Vim字典补全也可以帮助用户避免键盘打字错误。当用户在文本中输入一个单词时,如果这个单词不在字典中,Vim会显示出可能的正确单词,并提供一个补全选项。这样就可以避免因打字错误而导致的问题。

此外,Vim字典补全也可以帮助用户快速定位特定的文本内容。当用户想要快速定位特定的文本内容时,可以使用 Vim 字典补 充 功 能 来 快 速 搜 索 相 关 的 文 本 信 息 。 这 样 就 可 以 节 省 大 量 的 时 间 , 使 用 户 能 够 更 加 高 效 地 完 成 任 务 。

#include <stdio.h>
int main() {
    printf("Hello World!");
    return 0;
}

Vimscript 字典

我们讲到的最后一种Vimscript类型将是字典。 Vimscript字典类似于Python中的dict,Ruby中的hash,和Javascript中的object。

字典用花括号创建。值是异质的,但键会被强制转换成字符串。就是这么简单,你没想到吧?

执行这个命令:

:echo {"a": 1, 100: "foo"}

Vim显示{"a":1,"100":"foo"},这说明Vimscript的确把键强制转换为字符串,同时保留值不变。

Vimscript避免了Javascript标准的蠢笨之处,允许你在字典的最后一个元素后留下一个逗号。 (译注:在Javascript的标准中,最后一个元素后面不能留下一个逗号。 但在Firefox里,留下那个逗号是允许的,不过这是Firefox的问题。) 执行下面的命令:

:echo {"a": 1, 100: "foo",}

Vim再次显示{"a":1,"100":"foo"}(译注:结尾小逗号不见了)。你应该_总是_在字典里留下一个多余的逗号, _尤其_是当字典的定义跨越多行的时候,这样增加新项的时候将不容易犯错。

索引

查找字典中的一个值的语法跟大多数语言是一样的。执行这个命令:

:echo {"a": 1, 100: "foo",}["a"]

Vim显示1。试试使用不是字符串的索引:

:echo {"a": 1, 100: "foo",}[100]

Vim会在查找之前把索引强制转换成字符串,因为键只能是字符串,这么做是合理的。

当键仅由字母,数字和/或下划线组成时,Vimscript也支持Javascript风格的"点"查找。 试试下面的命令:

:echo {"a": 1, 100: "foo",}.a
:echo {"a": 1, 100: "foo",}.100

两种情况下,Vim都显示了正确的元素。使用哪种索引字典的方式取决于你自己的偏好。

赋值和添加

像对待变量一样赋值给字典中的项,就可以在字典中轻松地添加新的项。

:let foo = {"a": 1}
:let foo.a = 100
:let foo.b = 200
:echo foo

Vim显示{"a": 100, "b": 200}。赋值和添加一个新项的方式是一样的。

移除项

有两种方法可以移除字典中的项。执行下面的命令:

:let test = remove(foo, "a")
:unlet foo.b
:echo foo
:echo test

Vim显示{}100remove函数将移除给定字典的给定键对应的项,并返回被移除的值。 unlet命令也能移除字典中的项,只是不返回值。

你不能移除字典中不存在的项。试试执行这个命令:

:unlet foo["asdf"]

Vim抛出一个错误。

选择remove还是unlet很大程度上取决于个人偏好。如果非要我说,我推荐使用remove, 因为它比unlet更灵活。remove可以做任何unlet能做的事,反过来不成立。 所以选择remove可以一招鲜,吃遍天。

字典函数

就像列表,Vim有许许多多内置的字典函数。执行下面的命令:

:echom get({"a": 100}, "a", "default")
:echom get({"a": 100}, "b", "default")

Vim显示100default,如同列表版本的get函数.

你也可以检查给定字典里是否有给定的键。执行这个命令:

:echom has_key({"a": 100}, "a")
:echom has_key({"a": 100}, "b")

Vim显示10。不要忘了,Vimscript把0当作假而其他数字则是真。

你可以用items从一个字典中获取对应的键值对,执行这个命令:

:echo items({"a": 100, "b": 200})

Vim将显示[["a",100],["b",200]]这样的嵌套列表。到目前为止,Vimscript字典_不一定_是有序的, 所以不要指望items的返回结果是有序的!

你可以用keys返回字典的所有的键和values返回所有的值。它们的作用一如其名——你可以查一下。

练习

阅读:help Dictionary。看完它。注意大写D

阅读:help get().

阅读:help has_key().

阅读:help items().

阅读:help keys().

阅读:help values().

阅读全文
以上是名动网为你收集整理的vim字典补全 Vimscript 字典全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 名动网 mdwl.vip 版权所有 联系我们