当弹出菜单自动出现时,我按下`Ctrl + S`。它会粘贴`:w`吗?

当弹出菜单自动出现时,我按下`Ctrl + S`。它会粘贴`:w`吗?

我正在使用自动完成弹出窗口脚本。

当我将光标放在

left:(here) 218px !important;

或者

left: (here) 218px !important;

弹出菜单像往常一样自动出现,然后我按Ctrl+S并粘贴:w。我认为它正在尝试:完成:w

有什么建议可以解决这个问题吗?

我的 vimrc 中有这个:

" Use CTRL-S for saving, also in Insert mode
noremap <C-S> :w<CR>
vnoremap <C-S> <C-C>:w<CR>
imap <C-S> <C-O>:w<CR>

答案1

使用<Esc>而不是<C-O>解决了问题。

noremap <C-S> :w!<CR>
vnoremap <C-S> <Esc>:w!<CR>
inoremap <C-S> <Esc>:w!<CR>

答案2

那里提供的自动完成脚本对我来说不起作用,所以我无法提供正确的方法来实际解决问题,但据我所知,问题如下。

CTRL您使用的+命令S除了输入之外不会执行任何其他操作:w除了在 vim 中正常模式:w+Enter实际的在 vim 中保存文件的方式,CTRL+S是该方式的快捷方式。

我相信该弹出插件会以某种方式阻止快捷方式快速切换到正常模式,从而插入:w到您的实际文档中。

相关内容