我一直尝试通过编辑文件让 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