繁体   English   中英

Vim不会在插入模式下使用CTRL键的映射

[英]Vim won't take mappings that use the CTRL key in insert mode

我正在尝试保存Ctrl-S ,但vim似乎没有使用控制字符来获取任何映射。 这些都不起作用:

inoremap <C-S> <Esc>:update<Enter>
map <C-S> <Esc>:update<Enter>
nnoremap <C-S> <Esc>:update<Enter>

控制键怎么了? 我该如何解决?

编辑这里的答案对我不起作用。

我尝试了stty stop ^-stty -ixon ,它们最终使信号通过vim,但是在插入模式下仍然无法获取映射。 所以现在看来​​,这只是导致问题的插入模式。

在插入模式下使用Ctrl的其他映射也不起作用:

inoremap <C-g> <C-O>:update<CR>

解决方案 :由于我在vimrc中set paste ,因此出现了问题。 删除该行解决了问题。 仍然不确定为什么。

流控制可能处于活动状态,这将阻止Vim看到<Cs>序列。 如果是这样,您可以在.bash_profile / .zshrc使用类似以下的命令关闭流控制:

stty -ixon

似乎您要尝试保存而不离开插入模式。 试一试,对我有用。

inoremap <Cs> <Esc>:update<CR>i

这是因为我在vimrc中set paste 我仍然不明白为什么,但是看起来好像删除那条线就解决了。

不过,不知道如何解决它。

暂无
暂无

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

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