Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim:用于生成的函数<;CR>;退出插入模式,除非在行尾_Vim - Fatal编程技术网

Vim:用于生成的函数<;CR>;退出插入模式,除非在行尾

Vim:用于生成的函数<;CR>;退出插入模式,除非在行尾,vim,Vim,当光标(*)位于一行内时,如何使退出插入模式?比如: " pressing <CR> should exit insert mode (in either case) Lorem *ipsum dolor Lorem ipsum dol*or “按应退出插入模式(在任何一种情况下) Lorem*ipsum dolor Lorem ipsum dol*或 但当光标位于下线时,是否还要使插入一个换行符 " pressing <CR> when cursor @ EOL L

当光标(*)位于一行内时,如何使
退出插入模式?比如:

" pressing <CR> should exit insert mode (in either case)
Lorem *ipsum dolor
Lorem ipsum dol*or
“按应退出插入模式(在任何一种情况下)
Lorem*ipsum dolor
Lorem ipsum dol*或
但当光标位于下线时,是否还要使
插入一个换行符

" pressing <CR> when cursor @ EOL
Lorem ipsum dolor*
Fusce leo quam

" results in
Lorem ipsum dolor
*
Fusce leo quam
当光标位于下线时按下 同侧阴唇* 福斯·利奥·夸姆 “导致 同侧阴唇 * 福斯·利奥·夸姆 使这两个功能同时实现的功能是什么


理由:在维护文档时,我会使用小笔划(即转到word、更改、退出)。对我来说,这些笔划是我想“输入”的动作(如在聊天窗口中发送消息)因此,使用退出插入允许我在维护时保持这种心理模型。另一方面,
在编写时显然很有用。幸运的是,有足够的上下文使这两种方法同时成为可能-我只是还不具备vimscript技能。这将教会我一些:)

您可以实现依赖于n具有表达式映射的某些条件;请参见
:帮助:映射表达式
。我们可以通过
col()
函数检查行末尾的光标,如下所示:

:inoremap <expr> <CR> col('.') == col('$') ? '<CR>' : '<Esc>'
:inoremap col('.')==col('$)?''
你的理由很不合理。当你想在一条直线中间划线时,你会怎么做?