我对Vim菜单的使用有点困惑,我有set wildmenu和set wildmode=list:longest,full,但我一辈子都不知道如何调用和使用补全功能。这个功能有用吗?为什么?怎么用?这个功能到底是做什么的?换句话说,是什么决定了完成列表的内容?任何提示和示例用法将不胜感激。
set wildmenu
set wildmode=list:longest,full
von4xj4u1#
wildmenu和wildmode用于命令行完成。最简单的尝试方法是使用:color <Tab>:命令行垂直“展开”,在列 * 和 * 中显示您计算机上可用的所有配色方案的列表,您可以使用<Tab>(向前)和<S-Tab>(向后)进行导航。命令行完成和wildmenu的行为取决于wildmode。有关详细信息,请参阅:help wildmode和:help wildmenu。
wildmenu
wildmode
:color <Tab>
<Tab>
<S-Tab>
:help wildmode
:help wildmenu
gcmastyq2#
至少对我来说,最舒服的选择可能是:
set wildmenu set wildmode=longest:full,full
这意味着在第一个<Tab>上,它将完成最长的公共字符串,并调用wildmenu(一个水平的、不显眼的小菜单)。在下一个<Tab>上,它将完成第一个可选字符串,并开始循环其余的字符串。你可以分别使用<Tab>和<S-Tab>来回。一个很棒的例子是如何wildmenu是非常有用的,是完成缓冲区,使用我张贴的配置,然后尝试::b<Tab>
:b<Tab>
8e2ybdfx3#
我最喜欢的是
set wildmenu set wildmode=longest:list,full
第一个选项卡将完成最长的字符串并显示匹配列表,然后第二个选项卡将完成第一个完全匹配并打开通配符菜单。
bxjv4tth4#
:set wildmode=list:longest允许您展开通配符菜单。:set wildmenu允许您使用<Left>或<Right>在完成列表中导航。
:set wildmode=list:longest
:set wildmenu
<Left>
<Right>
slmsl1lt5#
您可能需要配置wildoptions。请参阅有关Vi和Vim堆栈交换的answer。
wildoptions
5条答案
按热度按时间von4xj4u1#
wildmenu
和wildmode
用于命令行完成。最简单的尝试方法是使用:color <Tab>
:命令行垂直“展开”,在列 * 和 * 中显示您计算机上可用的所有配色方案的列表,您可以使用<Tab>
(向前)和<S-Tab>
(向后)进行导航。命令行完成和
wildmenu
的行为取决于wildmode
。有关详细信息,请参阅
:help wildmode
和:help wildmenu
。gcmastyq2#
至少对我来说,最舒服的选择可能是:
这意味着在第一个
<Tab>
上,它将完成最长的公共字符串,并调用wildmenu(一个水平的、不显眼的小菜单)。在下一个<Tab>
上,它将完成第一个可选字符串,并开始循环其余的字符串。你可以分别使用<Tab>
和<S-Tab>
来回。一个很棒的例子是如何wildmenu是非常有用的,是完成缓冲区,使用我张贴的配置,然后尝试:
:b<Tab>
8e2ybdfx3#
我最喜欢的是
第一个选项卡将完成最长的字符串并显示匹配列表,然后第二个选项卡将完成第一个完全匹配并打开通配符菜单。
bxjv4tth4#
:set wildmode=list:longest
允许您展开通配符菜单。:set wildmenu
允许您使用<Left>
或<Right>
在完成列表中导航。slmsl1lt5#
您可能需要配置
wildoptions
。请参阅有关Vi和Vim堆栈交换的answer。