簡體   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