vim - 如何在 Windows Terminal Preview 中运行的 vim 中重新绑定 ctrl-space?
问题描述
因此,似乎 ctrl-space 被 Windows 终端错误地转换为 ctrl-@ ,我想知道是否有任何解决方法?我已经为其他终端看到了类似问题的答案,但它们似乎不起作用。
解决方案
这基本上是大多数 Unix 终端工作方式的限制。控制键映射到一组有限的字符,因此 Ctrl-@、Ctrl-Space 和 Ctrl-` 都映射到相同的东西并以相同的方式工作。这发生在终端仿真器和在真实 Linux 系统上运行的 VT 中。
其他终端模拟器可能对此有一个选项,但 Windows 终端尝试模拟xterm-256color
终端类型,这实现了您注意到的行为。即使其他终端仿真器确实支持它,但这并不意味着在其中运行的程序支持它;他们可能会收到这样的序列并且不知道如何处理它,特别是如果TERM
设置为不支持区分的终端类型。
根据Windows 终端问题跟踪器,他们意识到了这一点,并且他们有可能在未来使用某些 xterm 特定的序列传递这些密钥,但目前这不起作用。我不确定即使他们确实实现了它,它是否会在 Vim 中按您期望的那样工作,尽管它有可能。
如果您不使用现有功能或只使用另一个键,则可以重新映射 Ctrl-@。
推荐阅读
- python - 如何在mongo查询中将键值对添加到数组中
- sql - Cumulative Count un Grafana 的 SQL 语句
- c++ - 未将模板完全指定为 C++ 中的模板参数
- reactjs - 反应 setState 不呈现引导表的视图
- django - 在 django 中将产品添加/删除到收藏夹
- azure-devops - 如何模拟 CI 代理/服务器?
- php - 如果表单提交出错,如何返回在动态表文本框中输入的值
- java - 总是'-1 输出',在 HackerRank“电子商店”问题中
- git - 包含子模块文件夹的分叉 GitHub 存储库的问题
- ssl-certificate - 将区域 AWS IoT 核心锁定到特定 CA