无法在 Vim 中映射

2023-12-28

周末拿到了我的第一台 Mac,我正在努力适应。我的 vimrc 中的这一行在我的 Windows 上有效,但无法通过 iTerm 与 vim 一起工作

inoremap <S-CR> <Esc>

我希望 Shift-Enter 在插入模式下充当 Escape 。我尝试过使用 Enter 和 Return,但这需要我使用 Macbook 上的 Fn 键,这和退出键一样烦人。

我很感谢您的帮助!


这里的问题在于终端仿真。大多数终端无法区分非打印键 [1] 和与修饰键组合的键。

但是,如果您的终端应用程序能够重新映射按键组合(例如 iTerm2 就是这样做的),您仍然可以使所需的组合发挥作用。将终端应用程序的组合映射到某个你永远不会使用的 Unicode 字符,然后在 Vim 中将该键映射到所需的效果,这样你就可以绕过这个限制。

对于此示例,在 iTerm2 中,打开“键首选项”窗格,添加一个全局快捷键,输入 Shift 和 Return,为其指定“设置文本”操作,然后输入 ✠(马耳他十字,但您可以使用任何随机的不太可能-be-used Unicode 字符)作为其值。在您的 .vimrc 中,添加以下行:

" Map ✠ (U+2720) to <Esc> as <S-CR> is mapped to ✠ in iTerm2.
inoremap ✠ <Esc>

Or:

inoremap <S-CR> <Esc>
" Map ✠ (U+2720) to <S-CR>, so we have <S-CR> mapped to ✠ in iTerm2 and
" ✠ mapped back to <S-CR> in Vim. 
imap ✠ <S-CR>

进入<S-CR>在 iTerm2 中的 Vim 现在最终将导致<Esc>根据需要在 Vim 中。

[1]:例如空格、制表符、输入、删除、控制、alt、转义。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法在 Vim 中映射 的相关文章

  • 使用关键字启动 syn 区域

    我想用 virtual 启动一个区域 以用不同的颜色突出显示所有虚拟方法 但是 virtual 已经在 cpp vim 文件中定义为关键字 因此永远不会执行区域匹配 我尝试了以下方法 syn region cVirtualMethod st
  • Mac OS Sandbox:从助手启动主应用程序

    我在沙箱中创建了一个应用程序 它使用助手在登录时启动 如所示here http blog timschroeder net 2012 07 03 the launch at login sandbox project 它工作正常 但以下消息
  • OS X 对 /usr/local/lib 的权限被拒绝

    我正在寻找有关权限问题的任何建议 直觉 线索 答案 自从我切换到新的 Macbook Pro 以来 这个问题一直困扰着我 这就是困境 某些程序在安装期间复制 usr local lib 下的库 并且在运行这些程序时出现崩溃 我认为这与此文件
  • 如何检测浏览器中操作系统是否处于深色模式?

    如同 如何检测 OS X 是否处于深色模式 https stackoverflow com questions 25207077 how to detect if os x is in dark mode 仅适用于浏览器 有没有人发现是否有
  • 为什么我的 CAOpenGLLayer 更新速度比之前的 NSOpenGLView 慢?

    我有一个在 Mac OS X 上渲染 OpenGL 内容的应用程序 最初它渲染到 NSOpenGLView 然后我将其更改为渲染到 CAOpenGLLayer 子类 当我这样做时 我看到了巨大的性能损失 帧速率减半 鼠标响应能力降低 卡顿
  • NSTableView 在编辑时点击 Tab 键可从行跳转到行

    我有一个 NSTableView 编辑时 如果我点击选项卡 它会自动跳到下一列 这太棒了 但是当我编辑最后一列中的字段并点击选项卡时 我希望焦点跳转到下一行的第一列 有什么建议么 感谢 Michael 提供的起始代码 它非常接近最终的工作结
  • 使用 Xcode 为 OS X Lion / Mountain Lion 编译 OpenCV (2.3.1+)

    谁能给我提供一些如何使用 Xcode 在 OS X Lion 上编译 OpenCV 2 3 1 的详细指南 我对此很生气 我得到了源代码 使用 cmake 创建 Xcode 模板并尝试构建它 但它失败并出现大约 200 个错误 提前致谢 多
  • 我可以使用哪些命令行工具来获取每个平台上当前活动的应用程序/窗口?

    我正在尝试创建一个 AIR 应用程序来记录应用程序的使用情况 使用 AIR 从系统获取信息的唯一简单方法是使用命令行工具和抓取stdout 我知道类似的工具top and ps对于 OS X 但它们似乎都没有告诉我哪个应用程序 窗口是活动的
  • 有没有办法改变vim的默认模式

    有谁知道如何更改vim的默认模式 它的默认模式是命令模式 但是我可以将其更改为插入模式吗 只需将以下行添加到您的 vimrc 中 start Vim s default mode will be changed to Insert mode
  • 安装 gem 失败并出现权限错误[重复]

    这个问题在这里已经有答案了 我昨天将 Mac 操作系统更新至 10 9 Mavericks 我当前的 Ruby 版本显示为 ruby 2 0 0p247 2013 06 27 修订版 41674 universal x86 64 darwi
  • 在 Mac OS X 中将 Caps Lock 用作 Esc

    How do I make Caps Lock work like Esc in Mac OS X Edit As described in this answer https stackoverflow com a 40254864 66
  • 如何防止在 macOS 中打开同一窗口的多个实例?

    我正在制作一个 Mac 菜单栏应用程序 它有一个Preferences选项 当用户点击它时 会出现一个Preferences将打开窗口 显示应用程序的所有设置 我打开Preferences窗口如 let storyboard NSStory
  • Docker 进程被神秘的“Killed”消息杀死

    在 docker 容器中运行 python 脚本 一切似乎都运行顺利 看到一些 STDOUT 消息 大约 5 分钟后我得到了Killed消息 没有进一步的解释 并且该过程停止 查询数据库可能是磁盘空间问题 也可能是 OOM 问题 我不确定
  • Mac OS X 中每个进程的磁盘读/写统计信息

    如何在 Mac OS X 中以编程方式获取每个进程的磁盘 I O 统计信息 在 活动监视器 应用程序或 top 命令中 我们只能获取整个系统磁盘 I O 统计信息 以供参考PC 上也有类似的问题 https stackoverflow co
  • python 语言环境奇怪的错误。这究竟是怎么回事?

    所以今天我升级到了 bazaar 2 0 2 我开始收到这条消息 顺便说一句 我在雪豹上 bzr warning unknown locale UTF 8 Could not determine what text encoding to
  • 在 vim 中设置文本宽度而不覆盖特定于文件类型的内容

    我希望 vim 中默认的文本宽度为 80 但如果特定文件类型有自己的文本宽度 特别是 gitcommit 其中 tw 72 我希望 vim 尊重该宽度 在我的 vimrc 中 我有以下行 set tw 80 我也尝试过 setlocal t
  • 如何让“dnu”命令在 OS X 上运行?

    刚刚下载并安装视觉工作室代码 https code visualstudio com 在 OS X 10 10 3 上 我已经设法部分遵循ASP NET 5 安装说明 https code visualstudio com docs ASP
  • Vim 重复点(“.”)命令缓冲区?

    我真的很喜欢 YankRing 的行为 它让我可以访问我最近完成的几件事y固定或d已删除或c不假思索地被吊死了 然而 这样的补充功能对于 重复命令 最常见的是当我键入我真正想重复的内容时 然后按x清理一些东西 通常 可以通过视觉模式拉动我刚
  • 如何在 VIm 和终端中始终拥有相同的当前目录?

    我希望我的终端当前目录跟随我的 VIM 目录 Example 在终端中 gt pwd gt Users rege gt vim 然后在VIM中 cd Users rege project
  • Mac 上的 JavaFX WebView 字体问题

    有些网站显示乱码而不是正确的文本 它只发生在 Mac 上 For example with GMapsFX 可能与 OS X 10 11 或 10 12 有关 我用Java 1 8 0 121测试了它 此问题有任何修复或解决方法吗 就我而言

随机推荐

  • 为什么随机种子不能使 Python 中的结果保持不变

    我使用以下代码 我希望使用相同的随机种子获得相同的结果 我使用相同的随机种子 在本例中为 1 并得到不同的结果 这是代码 import pandas as pd import numpy as np from random import s
  • 加权最小二乘估计函数

    R 有加权最小二乘函数吗 具体来说 我正在寻找计算截距和斜率的东西 数据集 1 3 5 7 9 11 14 17 19 25 29 17 31 19 27 31 62 58 35 29 21 18 102153 104123 96564 1
  • 如果文件末尾没有换行符,如何使用 while read (Bash) 读取文件中的最后一行?

    假设我有以下 Bash 脚本 while read SCRIPT SOURCE LINE do echo SCRIPT SOURCE LINE done 我注意到 对于末尾没有换行符的文件 这将有效地跳过最后一行 我四处寻找解决方案并发现了
  • 如何为未经身份验证的用户使用 AWS Cognito?

    我想使用 AWS Cognito 用户池和身份池 来管理对我的 Web 应用程序的访问 该网络应用程序是一个报告生成器 它根据收集的传感器数据生成报告 所请求数据的可能范围因用户而异 某些用户应该只能访问特定传感器 ID 或来自指定区域或日
  • np.random.seed() 和 np.random.RandomState() 之间的区别

    我知道为了播种 numpy random 的随机性并能够重现它 我应该 import numpy as np np random seed 1234 但什么是np random RandomState do 如果你想设置调用的种子np ra
  • 加速 scipy griddata 用于两个不规则网格之间的多次插值

    我有几个在同一个不规则网格上定义的值 x y z 我想插入到一个新的网格中 x1 y1 z1 即 我有f x y z g x y z h x y z 我想计算f x1 y1 z1 g x1 y1 z1 h x1 y1 z1 目前我正在使用s
  • Oracle DB:如果第一个查询为空,则返回第二个查询

    我正在编写一个 Oracle 存储过程来返回数据库查询的结果 如果查询未产生任何结果 则必须在其位置运行第二个查询 在 SQL Server 中 我可以使用类似于以下内容的方法来完成此操作 INSERT INTO TableVar SELE
  • 是否有 Android 构建标志来检查应用程序的 APK 与即时应用程序版本

    就像BuildConfig FLAVOR and BuildConfig DEBUG是否有一个构建标志可以在运行时检查 Android 应用程序的 APK 版本或即时应用程序版本 或者还有其他方式获取信息吗 添加到模块build gradl
  • 仅排除一级 Log4j Logger

    我在一个应用程序中使用 Log4j 其中还使用 Axis2 和 Jetty Web 服务器 我配置了 Log4J 属性文件 以在处于调试优先级时从日志记录中排除这些类 但是当我这样做时 其他优先级消息也开始从主记录器中排除 有没有一种方法可
  • 正则表达式将 \t 字面解释为 \t 而不是制表符

    我正在尝试匹配其中包含反斜杠的文本序列 例如 Windows 路径 现在 当我与 python 中的正则表达式匹配时 它会匹配 但模块会解释所有反斜杠后跟有效的转义字符 即t 作为转义序列 这不是我想要的 我怎样才能不这样做呢 谢谢 米 编
  • Ruby 有类似 Python 的列表推导式吗?

    Python有一个很好的特性 print j 2 for j in 2 3 4 5 gt 4 9 16 25 在 Ruby 中就更简单了 puts 2 3 4 5 map j j 2 但如果是关于嵌套循环 Python 看起来更方便 在Py
  • 将大型 Rails 应用程序分解为较小的应用程序? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • jQuery 的 attr() 函数用 html 特殊字符破坏 html?

    请看一下下面的代码 http jsfiddle net htdTg 2 http jsfiddle net htdTg 2 在第一个链接中有一个包含 html 特殊字符的 title 属性 lt 其次是 实际上后面跟着哪个字符并不重要 当我
  • 如何在 Vue.js 中引用“”中的文本

    如何引用 Vue js 中的文本 Vue component component template
  • 如何防止java webstart应用程序被盗版

    我有一个 java swing 应用程序 打算通过互联网销售 目前我倾向于使用 java webstart 来部署应用程序 该产品将授权用户一次只能在一台计算机上使用该程序 我担心这个模型的盗版问题 我想安装一些安全功能来强制执行许可证模型
  • 如何获得预先指定特征的大型语料库的 tf-idf 矩阵?

    我有一个包含 3 500 000 个文本文档的语料库 我想构造一个 3 500 000 5 000 大小的 tf idf 矩阵 这里我有 5 000 个不同的特征 单词 我在用scikit sklearn在Python中 我在哪里使用Tfi
  • React.js - 即使在绑定后“this”也未定义

    我正在尝试捕捉onChange输入和调用事件setState使用新值 但是一旦我输入输入 我就会得到 Uncaught TypeError Cannot read property setState of undefined 尽管我已经打电
  • iPython - 在配置文件中设置魔法命令

    我主要通过笔记本使用 iPython 但也在终端中使用 我刚刚通过运行创建了我的默认配置文件ipython profile create 我似乎无法弄清楚如何让配置文件运行我每次使用的几个神奇命令 我试图在网上和我正在读的书中查找这一点 但
  • 如何使用 Spring Data 获取数据

    嘿 我想创建一个扩展 JpaRepository 的存储库并获取结果而不编写实际查询 在我的示例中 我有 2 个表 Book 和 Author 通过多对多关系映射 假设我想按特定的author id 获取书籍列表 因为在我的书籍实体中 我没
  • 无法在 Vim 中映射

    周末拿到了我的第一台 Mac 我正在努力适应 我的 vimrc 中的这一行在我的 Windows 上有效 但无法通过 iTerm 与 vim 一起工作 inoremap