使用<esc>键在插入模式或普通模式下按一下键保存文件

时间:2016-01-15 06:38:52

标签: vim keyboard-shortcuts

我尝试映射我的&lt; Esc&gt;使用仅按一个键来保存文件的键。

在普通模式下,它到目前为止都有效。

map <Esc> :w <CR>

但是我无法在插入模式下映射它, 我尝试了以下命令,但它不起作用

map <Esc> <Esc>[ :w <CR> 

顺便说一句,我只想要一键按

请给我一些建议,或者如果您知道在Vim中使用一次按保存文件的任何好钥匙

2 个答案:

答案 0 :(得分:7)

您一直强调按一次,就好像它是您问题中最重要的部分,但重要的部分是插入模式

:map普通可视运营商待处理模式的递归映射命令。

你应该使用:imap - 或者它的非递归朋友:inoremap - 用于插入模式:

:inoremap <Esc> <Esc>:w<CR>

对于它的价值,我推荐使用Ingo的解决方案。

答案 1 :(得分:7)

请注意,不建议映射<Esc>,尤其是在插入模式下。大多数特殊键(如光标和功能键)由终端作为 Escape序列发送。另一种方法是挂钩InsertLeave事件:

:autocmd InsertLeave * silent! update

:update:write更适合,因为只有在存在未经加载的更新时才会实际保存。 :silent!在未命名缓冲区等时禁止错误

相关问题