加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Vim:映射在命令行模式下工作的键序列

发布时间:2020-12-15 21:42:55 所属栏目:安全 来源:网络整理
导读:noremap C-S :updateCR vnoremap C-S ESC:updateCRinoremap C-S ESC:updateCR 这些是我设置的绑定,通过保存缓冲区让Vim响应Ctrl S.我并没有真正使用它,但这对于断断续续/断开或与其他编辑器交互的时间非常方便,我们偶尔会被迫忍受这些编辑器,并且总是只提供
noremap <C-S> :update<CR>      
vnoremap <C-S> <ESC>:update<CR>
inoremap <C-S> <ESC>:update<CR>

这些是我设置的绑定,通过保存缓冲区让Vim响应Ctrl S.我并没有真正使用它,但这对于断断续续/断开或与其他编辑器交互的时间非常方便,我们偶尔会被迫忍受这些编辑器,并且总是只提供用于提交更改的单个绑定.

无论如何,有时候,例如当Vim处于命令行模式(输入:command或/ search)时按Ctrl S将失败,即使我使用这样的绑定:

noremap! <C-S> <ESC>:update<CR>

它基本上退出命令条目(显然发送命令或搜索,这也是不受欢迎的,即使我绑定< ESC>!)并且无法运行:update.

如果我将Vim保留在命令行模式但仍然使用绑定,我怎样才能使它工作?

解决方法

解决方案是使用Ctrl C强制取消输入的内容.这成功发出以下内容:更新.

cnoremap <C-S> <C-C>:update<CR>

警告:您需要配置终端/ shell设置以确保Ctrl S不发送“XOFF”信号,这会使其暂时停止接受密钥(然后使用Ctrl Q关闭密钥).这是一次性配置,通过在shell或终端客户端上配置可能就足够了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读