1111 < h1 > VIM学习笔记 终端模式的快捷键映射(tmap)</ h1 >
1212
1313 < h2 class ="article "> < a id ="cmd_:tmap "> :tmap命令</ a > </ h2 >
14- < p > </ p >
15- < a href ="# " title =""> </ a >
1614 < p > 在内置的终端窗口中,为了能正常使用外部 shell 本身的快捷键,Vim 禁用了绝大部分快捷键。也就是说,在内置终端窗口中键入shell命令,既不是插入模式也不是命令行模式,所以imap与cmap都不会生效。Vim为此定义了一种特殊模式,叫做终端作业(Terminal-Job)模式。如果希望为终端作业模式自定义快捷键,那么需要使用< code > :tmap</ code > 命令。</ p >
1715 < p > 例如定义< kbd > Shift+Insert</ kbd > 键,用于在终端中粘贴系统剪切板的内容:</ p >
1816 < p style ="text-indent:2em "> < code class ="inset "> :tmap <S-Insert> <C-W>"+</ code > </ p >
1917 < p > 请注意:在内置终端窗口中,< kbd > Esc</ kbd > 键也保留为外部shell所用,并不会返回到终端普通(Terminal-Normal)模式。</ p >
2018 < p > 可以点击< kbd > Ctrl-\ Ctrl-N</ kbd > 快捷键,返回到终端普通模式。请参考< code class ="inset "> :help CTRL-\_CTRL-N</ code > 帮助信息。</ li >
2119 < p > 也可以自定义< kbd > Shift+Del</ kbd > 键,用于返回到终端普通模式:</ p >
2220 < p style ="text-indent:2em "> < code class ="inset "> :tnoremap <S-Del> <C-\><C-N></ code > </ p >
23- < p > 在内置终端窗口中,点击< kbd > i</ kbd > 或< kbd > a</ kbd > 键,则可以返回做终端作业模式 ,继续执行命令。</ p >
21+ < p > 在内置终端窗口中,点击< kbd > i</ kbd > 或< kbd > a</ kbd > 键,则可以返回到终端作业模式 ,继续执行命令。</ p >
2422 < p > 使用以下命令,可以删除所有终端作业模式的键盘映射:</ p >
2523 < p style ="text-indent:2em "> < code class ="inset "> :tmapclear</ code > </ p >
2624
@@ -31,35 +29,17 @@ <h2 class="article"><a id="opt_termwinkey">termwinkey选项</a></h2>
3129 < p > 使用默认选项的好处在于,不论是在普通窗口还是在终端窗口之中,点击< kbd > <CTRL-Ww></ kbd > 键都可以切换到下一窗口;点击< kbd > <CTRL-Wp></ kbd > 键都可以切换到之前所在窗口。也就是说,适用于普通窗口的< kbd > <CTRL-W></ kbd > 快捷键,也同样适用于终端窗口。</ p >
3230 < p > 使用< kbd > <CTRL-W:></ kbd > 快捷键,则可以在内置终端中进入vim命令行模式。</ p >
3331 < p > 请注意,为了保持操作的一致性,不建议对'termwinkey'选项进行修改。</ p >
34- < 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 >
35-
36- < 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 >
37-
38- < pre class ="block ">
39- </ pre >
40-
41- < ul >
42- < li > < p class ="item "> < br /> </ p > </ li >
43- < li > < p class ="item "> < a href ="# " title =""> </ a > < br /> </ p > </ li >
44- </ ul >
45-
46- < span style ="font-weight:bold; color:#4169E1; margin-left:0.2em "> ?</ span >
47- < p style ="text-indent:2em "> < code class ="inset "> :h terminal-input</ code > </ p >
48-
4932
5033 < table summary ="Commands " border ="2 " frame ="hsides " rules ="all " cellspacing ="0 " cellpadding ="3 ">
5134 < caption > 命令小结</ caption >
5235 < tbody >
5336 < tr > < td > < code class ="inset "> :tmap</ code > </ td > < td > 创建终端作业模式的键盘映射</ td > < td > < code class ="inset "> :help :tmap</ code > </ td > </ tr >
5437 < tr > < td > < code class ="inset "> :tmapclear</ code > </ td > < td > 删除所有终端作业模式的键盘映射</ td > < td > < code class ="inset "> :help :tmapc</ code > </ td > </ tr >
5538 < tr > < td > < code class ="inset "> :set termwinkey</ code > </ td > < td > 设置终端窗口中引导CTRL-W系列命令的键</ td > < td > < code class ="inset "> :help termwinkey</ code > </ td > </ tr >
56- < tr > < td > < code class ="inset "> :</ code > </ td > < td > </ td > </ tr >
57- < tr > < td > < code class ="inset "> :</ code > </ td > < td > </ td > </ tr >
5839 </ tbody >
5940 </ table >
60- “”
6141
62- < p style ="border-top:1px solid lightgray "> < span style ="float:right "> Ver: 2.0 | < a href ="mailto:yyq123@gmail.com "> YYQ</ a > </ span > < span > << a title ="" href ="http://yyq123.github.io/learn-vim/.html "> 上一篇</ a > |< a title ="笔记列表 " href ="http://yyq123.github.com/learn-vim/learn-vi-00-00-TOC.html "> 目录 </ a > | < a title ="" href ="http://yyq123.github.io/learn-vim/.html "> 下一篇</ a > ></ span > </ p >
42+ < p style ="border-top:1px solid lightgray "> < span style ="float:right "> Ver: 250701 | < a href ="mailto:yyq123@gmail.com "> YYQ</ a > </ span > < span > << a title ="键盘映射 (Map) " href ="http://yyq123.github.io/learn-vim/learn-vi-51-KeyMapping .html "> 上一篇</ a > |< a title ="笔记列表 " href ="http://yyq123.github.com/learn-vim/learn-vi-00-00-TOC.html "> 目录 </ a > | < a title ="运行外部命令(Shell Command) " href ="http://yyq123.github.io/learn-vim/learn-vi-71-Shell.html .html "> 下一篇</ a > ></ span > </ p >
6343
6444</ body >
6545</ html >
0 commit comments