[英]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.