无法让 Vim 将 CTRL+S 重新映射到 `:w`

无法让 Vim 将 CTRL+S 重新映射到 `:w`

我一直尝试通过编辑文件让 Vim 重新映射CTRL+ S(或 ^S),但是它不起作用。:w.vimrc

这是我当前的~/.vimrc配置:

nmap <c-s> :w<CR>
imap <c-s> <Esc>:w<CR>
imap <c-s> <Esc><c-s>

我读到CTRL+S可以运行冻结终端的命令,但我似乎没有遇到这种情况。

如果我按下CTRL+ S,什么也不会发生。如果我按下 + ,ESC系统:q会提示我尚未保存更改。

:current告诉我user vimrc file: "$HOME/.vimrc"

答案1

在整个<C-a>-><C-z>范围中,<C-s><C-q>是仅有的两个无法在 CLI Vim 中映射的,因为它们在到达编辑器之前就被拦截了。

它们的用途,即流量控制,主要是终端和网络计算相对较悠久的历史的产物,与今天并没有什么关系。

恢复 Ctrl 映射的完整字母表的最简单方法是将这一行添加到*rc

stty -ixon

相关内容