繁体   English   中英

一些vim映射结束时<CR>的含义是什么?

[英]What is the meaning of a <CR> at the end of some vim mappings?

我看<cr> sa在VIM映射很多,但它有什么作用?

:help key-notation

说:

notation    meaning            equivalent  decimal    value(s)
-----------------------------------------------------------------------
<CR>        carriage return        CTRL-M    13       *carriage-return*
<Return>    same as <CR>                              *<Return>*
<Enter>     same as <CR>                              *<Enter>*

映射通常涉及Ex命令,您必须按<CR>才能执行它们,因此它包含在映射中。

为什么<special keys>

虽然你可以在映射定义中使用文字键(Enter键显示为^M ,或者甚至只是作为一个额外的新行,具体取决于设置),Vim为键(组合)提供了一个特殊的键符号,因此它是更容易定义(您不必使用i_CTRL-V来逐字插入特殊字符)并理解( <Aa>更好地表达意图而不是等效的á )映射。

请参阅:help key-notation以获取列表和说明。

为什么<CR>

由于许多映射调用Ex命令(例如:w ),因此必须从正常模式切换到命令行模式,因此必须使用<Enter> (或<CR> )结束命令,就像手动键入命令时一样。

vim映射中的<CR>回车 ,通常是键盘上的Enter键。

<CR>在映射对应于就像回车a在映射对应于一个关键。 莱伊说你有这个映射

:map <f8> :wq<cr>

这会将F8映射到键序列 W Q Enter (将保存当前缓冲区并退出)。

它基本上是一种说“这就是结束”的方法,见地图

如果您有一个包含Ex命令的映射,则需要在其后面添加一个行终止符以使其执行。 建议使用此方法。 例:

:map _ls :!ls -l %<CR>:echo "the end"<CR>

也,

<CR>    [count] lines downward, on the first non-blank character |linewise|.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM