-
Notifications
You must be signed in to change notification settings - Fork 27
Expand file tree
/
Copy pathlearn-vi-46-02-wildmenu.html
More file actions
81 lines (71 loc) · 8.4 KB
/
learn-vi-46-02-wildmenu.html
File metadata and controls
81 lines (71 loc) · 8.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh" xml:lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="learn-vi.css" />
<title>VIM学习笔记 wildmenu</title>
</head>
<body>
<h1>VIM学习笔记 wildmenu</h1>
<p>使用'wildmenu'选项,将启用增强模式的命令行补全。在命令行中输入命令时,按下'wildchar'键(默认为<kbd>Tab</kbd>)将自动补全命令和参数:此时将在命令行的上方显示可能的匹配项;继续按下'wildchar'键,可以遍历所有的匹配项;也可以使用方向键或者<kbd>CTRL-P</kbd>/<kbd>CTRL-N</kbd>键,在匹配列表中进行移动;最后点击回车键,选择需要的匹配项。</p>
<h2 class="article"><a id="wildmenu">wildmenu</a></h2>
<p>使用以下命令,可以启用wildmenu:</p>
<p style="text-indent:2em"><code class="inset">:set wildmenu</code></p>
<p>例如在命令行中输入“:spe”,然后点击<kbd>Tab</kbd>键,将列出以spe开头的命令列表;再次点击<kbd>Tab</kbd>键,将可以在wildmenu中遍历匹配的命令:</p>
<p><a href="https://yyq123.github.io/learn-vim/images/wildmenu_spell.png" title="wildmenu_spell"><img src="https://yyq123.github.io/learn-vim/images/wildmenu_spell.png" alt="/wildmenu_spell.png" /></a></p>
<p>使用以下命令,可以查看wildmenu的帮助信息:</p>
<p style="text-indent:2em"><code class="inset">:help wildmenu</code></p>
<h2 class="article"><a id="wildmode">wildmode</a></h2>
<p>在命令行中输入命令时,文件名也是可以自动补全的。例如希望编辑当前目录下的某个文件,在输入:e命令和空格之后,点击<kbd>Tab</kbd>键,将自动补全文件名。而补全的方式,则是通过以下'wildmode'选项来控制:</p>
<p>使用""选项,将仅仅使用第一个匹配结果;即使再次按下wildchar键,也不会继续查找其它匹配项:</p>
<p style="text-indent:2em"><code class="inset">:set wildmode=</code></p>
<p>使用"full"选项,将在wildmenu中显示匹配的文件;点击wildchar键,可以遍历匹配的文件:</p>
<p style="text-indent:2em"><code class="inset">:set wildmode=full</code></p>
<p><a href="https://yyq123.github.io/learn-vim/images/wildmode_full.png" title="wildmode_full"><img src="https://yyq123.github.io/learn-vim/images/wildmode_full.png" alt="wildmode_full" width="550" height="39" /></a></p>
<p>使用"longest"选项,将用最长的公共子串补全:</p>
<p style="text-indent:2em"><code class="inset">:set wildmode=longest</code></p>
<p><a href="https://yyq123.github.io/learn-vim/images/wildmode_longest.png" title="wildmode_longest"><img src="https://yyq123.github.io/learn-vim/images/wildmode_longest.png" alt="wildmode_longest" /></a></p>
<p>使用"longest:full"选项,将用最长的公共子串补全,并显示在wildmenu中:</p>
<p style="text-indent:2em"><code class="inset">:set wildmode=longest:full</code></p>
<p><a href="https://yyq123.github.io/learn-vim/images/wildmode_longest_full.png" title="wildmode_longest_full"><img src="https://yyq123.github.io/learn-vim/images/wildmode_longest_full.png" alt="wildmode_longest_full" width="550" height="39" /></a></p>
<p>使用"list"选项,将显示可能匹配的文件列表:</p>
<p style="text-indent:2em"><code class="inset">:set wildmode=list</code></p>
<p><a href="https://yyq123.github.io/learn-vim/images/wildmode_list.png" title="wildmode_list"><img src="https://yyq123.github.io/learn-vim/images/wildmode_list.png" alt="wildmode_list" width="550" height="112" /></a></p>
<p>使用"list:full"选项,将显示可能匹配的文件列表,并使用第一个匹配项进行补全:</p>
<p style="text-indent:2em"><code class="inset">:set wildmode=list:full</code></p>
<p><a href="https://yyq123.github.io/learn-vim/images/wildmode_list_full.png" title="wildmode_list_full"><img src="https://yyq123.github.io/learn-vim/images/wildmode_list_full.png" alt="wildmode_list_full" width="550" height="129" /></a></p>
<p>使用"list:longest"选项,将显示可能匹配的文件列表,并使用最长的子串进行补全:</p>
<p style="text-indent:2em"><code class="inset">:set wildmode=list:longest</code></p>
<p><a href="https://yyq123.github.io/learn-vim/images/wildmode_list_longest.png" title="wildmode_list_longest"><img src="https://yyq123.github.io/learn-vim/images/wildmode_list_longest.png" alt="wildmode_list_longest" width="550" height="112" /></a></p>
<p>推荐使用"<strong>list:longest,full</strong>"选项,点击<kbd>Tab</kbd>键,将显示可能匹配的文件列表,并使用最长的子串进行补全;再次点击<kbd>Tab</kbd>键,可以在wildmenu中遍历匹配的文件列表:</p>
<p style="text-indent:2em"><code class="inset">set wildmode=list:longest,full</code></p>
<p><a href="https://yyq123.github.io/learn-vim/images/wildmode_list_longest_full.png" title="wildmode_list_longest_full"><img src="https://yyq123.github.io/learn-vim/images/wildmode_list_longest_full.png" alt="wildmode_list_longest_full" width="550" height="129" /></a></p>
<p>使用以下命令,可以查看wildmode的帮助信息:</p>
<p style="text-indent:2em"><code class="inset">:help wildmode</code></p>
<h2 class="article"><a id="wildignore">wildignore</a></h2>
<p>通过'wildignore'选项,可以在匹配列表中忽略指定类型的文件:</p>
<p style="text-indent:2em"><code class="inset">:set wildignore=*.dll,*.exe,*.jpg,*.gif,*.png</code></p>
<p>在'suffixes'选项中,会列出一系列文件名的前缀。当有多个文件符合匹配条件时,包含指定前缀的文件则会获得较低的优先级。也即是说,这些文件将会显示在匹配列表的最后。以下为suffixes选项的默认值:</p>
<p style="text-indent:2em"><code class="inset">:set suffixes=.bak,~,.o,.h,.info,.swp,.obj</code></p>
<h2 class="article"><a id="wildchar">wildchar</a></h2>
<p>通过'wildchar'选项,可以设置命令行自动补全的触发键。默认为<kbd>Tab</kbd>键。例如以下命令,将其设置为<kbd>F12</kbd>键:</p>
<p style="text-indent:2em"><code class="inset">:set wildchar=<F12></code></p>
<h2 class="article"><a id="wildmenu_sample">wildmenu应用</a></h2>
<p>在命令行中输入<code class="inset">:color</code>以及空格,然后点击<kbd>Tab</kbd>键,将列出所有可用的<a href="http://yyq123.github.io/learn-vim/learn-vi-62-ColorScheme.html" title="Color Scheme">配色方案(Color Scheme)</a>,继续点击<kbd>Tab</kbd>键可以选用需要的配色方案。</p>
<p style="text-indent:2em"><code class="inset">:color </code></p>
<p><a href="https://yyq123.github.io/learn-vim/images/wildmenu_colorscheme.png" title="wildmenu_colorscheme"><img src="https://yyq123.github.io/learn-vim/images/wildmenu_colorscheme.png" alt="wildmenu_colorscheme" /></a></p>
<p>使用以下命令,可以查看所有外部(例如PATH)和内部(例如MYVIMRC)变量:</p>
<p style="text-indent:2em"><code class="inset">:echo $</code></p>
<p><a href="https://yyq123.github.io/learn-vim/images/wildmenu_echo_var.png" title="wildmenu_echo_var"><img src="https://yyq123.github.io/learn-vim/images/wildmenu_echo_var.png" alt="wildmenu_echo_var" /></a></p>
<table summary="Commands" border="2" frame="hsides" rules="all" cellspacing="0" cellpadding="3">
<caption>命令小结</caption>
<tr><td><code class="inset">:set wildmenu</code></td><td>启用wildmenu</td></tr>
<tr><td><code class="inset">:set wildmode</code></td><td>设置wildmode</td></tr>
<tr><td><code class="inset">:set wildignore</code></td><td>设置忽略文件类型</td></tr>
<tr><td><code class="inset">:set suffixes</code></td><td>设置低优先级文件</td></tr>
<tr><td><code class="inset">:set wildchar</code></td><td>设置命令行自动补全触发键</td></tr>
</table>
<p style="border-top:1px solid lightgray"><span style="float:right">Ver: 2.0 | <a href="mailto:[email protected]">YYQ</a></span><span><<a title="命令行模式(Command-line Mode)" href="http://yyq123.github.io/learn-vim/learn-vi-46-CommandlineMode.html">上一篇</a> |<a title="笔记列表" href="http://yyq123.github.com/learn-vim/learn-vi-00-00-TOC.html"> 目录 </a>| <a title="历史记录(history)" href="http://yyq123.github.io/learn-vim/learn-vi-46-01-History.html">下一篇</a>></span></p>
</body>
</html>