我想映射一个键,以便它在Vim中执行以下操作。假设我正在编辑一个文件;我希望它设置为如果我按 F2 ,我会完成同样的事情,如果我做了以下事情:
:
)w
i
以返回插入模式这可能吗?
答案 0 :(得分:4)
是的,但是如果光标在行尾,它就不能做你想要的。
要在插入模式下将文件保存在 F2 上,请使用以下映射:
:imap <F2> <C-O>:w<CR>
答案 1 :(得分:3)
字面答案:是的。你可以用这个:
:inoremap <F2> <Esc>:w<CR>I
但它不会完全符合您的要求(光标将位于错误的位置)。
安东打败了我,不那么直接(但也是正确的)答案。
最好的答案是这样的:不要错误地使用Vim。你不应该在插入模式上花费这么多时间,你需要一个快捷方式来摆脱它,保存文件然后再回来。对于所有其他编辑器,你一直处于“插入模式”,只是暂时弹出菜单或对话框等等;在Vim中,你应该学会扭转这种局面。只进入插入模式进行编辑或添加;在插入模式下,永远不要使用箭头键移动光标;将大部分时间花在命令(正常)模式上,在对新范例进行一些调整后,您会发现编辑速度有所提高。
答案 2 :(得分:3)
编写映射几乎比描述更容易。
首先,您需要确定将使用哪个模式映射,因为它决定了您将使用的:map
变体。您可能希望在插入模式中使用此功能,因此您将使用:inoremap
。
映射的格式为:
:..noremap {keys} {rhs}
您需要<F2>
(请参阅:help key-notation
)了解keys
。对于{rhs}
,只需连接说明中列出的键。
要保留映射,请将其添加到~/.vimrc
。 (见:help vimrc
。)
P.S。 alternative given by Anton Kovalenko可能对你正在做的事情更好,但在这里我给了你未来键映射的一般方法。