Skip to content

Commit 2235113

Browse files
committed
mt
1 parent 3f4623f commit 2235113

1 file changed

Lines changed: 16 additions & 19 deletions

File tree

learn-vim-map-terminal.html

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,28 @@
1010
<body>
1111
<h1>VIM学习笔记 终端模式的快捷键映射(tmap)</h1>
1212

13-
<h2 class="article"><a id=""></a></h2>
13+
<h2 class="article"><a id="cmd_:tmap">:tmap命令</a></h2>
1414
<p></p>
1515
<a href="#" title=""></a>
1616
<p>在内置的终端窗口中,为了能正常使用外部 shell 本身的快捷键,Vim 禁用了绝大部分快捷键。也就是说,在内置终端窗口中键入shell命令,既不是插入模式也不是命令行模式,所以imap与cmap都不会生效。Vim为此定义了一种特殊模式,叫做终端作业(Terminal-Job)模式。如果希望为终端作业模式自定义快捷键,那么需要使用<code>:tmap</code>命令。</p>
1717
<p>例如定义<kbd>Shift+Insert</kbd>键,用于在终端中粘贴系统剪切板的内容:</p>
1818
<p style="text-indent:2em"><code class="inset">:tmap &lt;S-Insert&gt; &lt;C-W&gt;"+</code></p>
19-
<p>请注意,在内置终端窗口中,<kbd>Esc</kbd>键也保留为外部shell所用,并不会返回到普通模式。</p>
19+
<p>请注意:在内置终端窗口中,<kbd>Esc</kbd>键也保留为外部shell所用,并不会返回到终端普通(Terminal-Normal)模式。</p>
20+
<p>可以点击<kbd>Ctrl-\ Ctrl-N</kbd>快捷键,返回到终端普通模式。请参考<code class="inset">:help CTRL-\_CTRL-N</code>帮助信息。</li>
21+
<p>也可以自定义<kbd>Shift+Del</kbd>键,用于返回到终端普通模式:</p>
22+
<p style="text-indent:2em"><code class="inset">:tnoremap &lt;S-Del&gt; &lt;C-\&gt;&lt;C-N&gt;</code></p>
23+
<p>在内置终端窗口中,点击<kbd>i</kbd><kbd>a</kbd>键,则可以返回做终端作业模式,继续执行命令。</p>
24+
<p>使用以下命令,可以删除所有终端作业模式的键盘映射:</p>
25+
<p style="text-indent:2em"><code class="inset">:tmapclear</code></p>
2026

21-
<h2 class="article"><a id="opt_termwinkey">termwinkey</a></h2>
27+
<h2 class="article"><a id="opt_termwinkey">termwinkey选项</a></h2>
2228
<p>'termwinkey'选项,用于设置终端窗口中引导为<kbd>&lt;CTRL-W&gt;</kbd>系列命令的键。其默认值为空,即在终端窗口与普通窗口中,<kbd>&lt;CTRL-W&gt;</kbd>引导的快捷键含义保持一致。</p>
29+
<p style="text-indent:2em"><code class="inset">:set termwinkey?</code></p>
30+
<p style="text-indent:2em"><code class="msg">termwinkey=</code></p>
2331
<p>使用默认选项的好处在于,不论是在普通窗口还是在终端窗口之中,点击<kbd>&lt;CTRL-Ww&gt;</kbd>键都可以切换到下一窗口;点击<kbd>&lt;CTRL-Wp&gt;</kbd>键都可以切换到之前所在窗口。也就是说,适用于普通窗口的<kbd>&lt;CTRL-W&gt;</kbd>快捷键,也同样适用于终端窗口。</p>
24-
<p>使用<kbd>&lt;CTRL-W:&gt;</kbd>快捷键,则可以进入vim命令行</p>
32+
<p>使用<kbd>&lt;CTRL-W:&gt;</kbd>快捷键,则可以在内置终端中进入vim命令行模式</p>
2533
<p>请注意,为了保持操作的一致性,不建议对'termwinkey'选项进行修改。</p>
2634
<p><a href="https://yyq123.github.io/learn-vim/images/.png" title=""><img src="https://yyq123.github.io/learn-vim/images/.png" alt="" width="500" height="" /></a></p>
27-
<p>自定义<kbd>Shift-Tab</kbd>键,用于切换至下一普通窗口或终端窗口:</p>
28-
<p style="text-indent:2em"><code class="inset">:map &lt;S-Tab&gt; &lt;C-W&gt;w</code></p>
2935

3036
<p style="color:gray; font-size:0.6em"><a href="http://yyq123.github.io/learn-vim/images/.png" title=""><img src="http://yyq123.github.io/learn-vim/images/.png" alt="" /></a></br>Source: medium.com/free-code-camp</p>
3137

@@ -38,24 +44,15 @@ <h2 class="article"><a id="opt_termwinkey">termwinkey</a></h2>
3844
</ul>
3945

4046
<span style="font-weight:bold; color:#4169E1; margin-left:0.2em">&#65311;</span>
41-
<p style="text-indent:2em"><code class="inset">:help :tmap</code></p>
47+
<p style="text-indent:2em"><code class="inset">:h terminal-input</code></p>
4248

43-
<table summary="Commands" border="1" frame="border" rules="all" cellspacing="0" cellpadding="3">
44-
<caption style="margin:0.5em; font-weight:bold">选项列表</caption>
45-
<thead>
46-
<tr><th style="white-space: nowrap">选项</th><th>描述</th><th>帮助信息</th></tr>
47-
</thead>
48-
<tbody>
49-
<tr><td><code class="inset">!</code></td><td>如果包含,表示。例如,。</td><td style="white-space: nowrap"><code class="inset">:help viminfo-!</code></td></tr>
50-
</tbody>
51-
</table>
5249

5350
<table summary="Commands" border="2" frame="hsides" rules="all" cellspacing="0" cellpadding="3">
5451
<caption>命令小结</caption>
5552
<tbody>
56-
<tr><td><code class="inset">:</code></td><td rowspan="2"></td></tr>
57-
<tr><td><code class="inset">:</code></td></tr>
58-
<tr><td><code class="inset">:</code></td><td></td></tr>
53+
<tr><td><code class="inset">:tmap</code></td><td>创建终端作业模式的键盘映射</td><td><code class="inset">:help :tmap</code></td></tr>
54+
<tr><td><code class="inset">:tmapclear</code></td><td>删除所有终端作业模式的键盘映射</td><td><code class="inset">:help :tmapc</code></td></tr>
55+
<tr><td><code class="inset">:set termwinkey</code></td><td>设置终端窗口中引导CTRL-W系列命令的键</td><td><code class="inset">:help termwinkey</code></td></tr>
5956
<tr><td><code class="inset">:</code></td><td></td></tr>
6057
<tr><td><code class="inset">:</code></td><td></td></tr>
6158
</tbody>

0 commit comments

Comments
 (0)