星期三, 二月 12, 2020

VIM学习笔记 自动补全选项(Auto-Completion-Option)

插入模式下,利用自动补全(Insertion-Completion)功能,vim能够根据正在输入的字符,查找匹配的关键字并显示在弹出菜单(popup menu)中。通过选择匹配项,可以补全输入的部分关键字甚至整行文本。

关键字补全选项

使用Ctrl-NCtrl-P快捷键,将按照'complete'选项指定的范围来搜索匹配的关键字。其默认值为:

:set complete=.,w,b,u,t,i

也就是说,默认将在以下来源中查找关键字:

  • 在当前缓冲区中进行查找;
  • 在其他窗口中进行查找;
  • 在其他已载入的缓冲区中进行查找;
  • 在没有载入缓冲区的文件中进行查找;
  • 在当前的标签(tags)列表进行查找;
  • 在由当前文件(如#include)包含进来的头文件中进行查找。

假设文件中包含以下句子:

I have beautiful flowers in my flower garden

我们另起一行并输入“f”字母,然后点击Ctrl-X Ctrl-N快捷键,将会在当前文件内查找已经存在的单词:

AutoCompletion_Ctrl_X_N

而使用Ctrl-N快捷键,将会根据'complete'选项指定的范围进行查找。比如在其它缓冲区内找到了更多以f开头的单词:

AutoCompletion_Ctrl_N

通过以下命令设置'complete'选项,可以定义自动补全的查找范围:

:set complete=key,key,key

命令中可能出现的key值如下:

.当前缓冲区
b缓冲区列表中的其它已载入的缓冲区
d当前文件以及由'include'选项指定的包含进来的文件
查找由'define'选项定义的宏(definition/macro)
i当前文件以及由'include'选项指定的包含进来的文件
k由'dictionary'选项指定的文件
kspell当前激活的拼写检查
k{dict}名为{dict}的文件
s由'thesaurus'选项指定的文件
t标签(tags)文件
]
u缓冲区列表中的没有载入的缓冲区
w在其他窗口中载入的文件

使用以下命令,可以将字典文件添加到搜索列表中:

:set complete+=k

使用以下命令,可以将包含的文件从搜索列表中移除:

:set complete-=i

使用:h 'complete'命令,可以查看'complete'选项的帮助信息。

忽略大小写

如果我们使用以下命令,设置了在查找过程中忽略大小写,那么在自动完成时,反而会造成区分大小写:

:set ignorecase

使用以下命令,则可以设置在自动完成时忽略大小写:

:set infercase

Ver: 2.0 | YYQ<上一篇 | 目录 下一篇>

没有评论:

发表评论