mac os X 上的 vim 功能键映射不起作用

2024-03-04

I have recently started using a Mac OS X Lion system and tried to use Vim in terminal. I previously had a .vimrc file in my Ubuntu system and had F2 and F5 keys mapped to pastetoggle and run python interpreter. Here are the two lines I have for it:

set pastetoggle=<F2>
map <buffer> <F5> :wa<CR>:!/usr/bin/env python % <CR>

It's working just fine in Ubuntu but no longer works in Mac. (The above two lines are in .vimrc under my home dir.) I have turned off the Mac specific functions in my preference so the function keys are not been used for things like volume. Right now pressing F5 seems to capitalize all letters until next word, and F2 seems to delete next line and insert O.....

我还需要做些什么才能让它按预期工作吗?

此外,我一直使用 Solarized 作为我的配色方案,并尝试在 Mac 中使用相同的配色方案。看起来scheme命令是从.vimrc中读取的,但颜色仍然是默认颜色。即使 .vim/colors 文件与以前相同。这是我需要修复的相关错误吗?也许在我自己的设置文件之后又读取了另一个设置文件? (我寻找 _vimrc 和 .gvimrc,但不存在。)

Thanks!


我终于通过添加如下映射来使函数映射正常工作:

if has('mac') && ($TERM == 'xterm-256color' || $TERM == 'screen-256color')
  map <Esc>OP <F1>
  map <Esc>OQ <F2>
  map <Esc>OR <F3>
  map <Esc>OS <F4>
  map <Esc>[16~ <F5>
  map <Esc>[17~ <F6>
  map <Esc>[18~ <F7>
  map <Esc>[19~ <F8>
  map <Esc>[20~ <F9>
  map <Esc>[21~ <F10>
  map <Esc>[23~ <F11>
  map <Esc>[24~ <F12>
endif

如果您需要验证这些转义序列是否与您的终端匹配或设置您自己的终端,那么这些问题的答案很有帮助:

vim 中的功能键映射 https://stackoverflow.com/questions/3519532/mapping-function-keys-in-vim
绑定特殊键作为vim快捷键 https://stackoverflow.com/questions/9950944/binding-special-keys-as-vim-shortcuts

这可能取决于终端模拟器的一致行为(笑),但@Mark Carey 的建议对我来说还不够(我希望它如此简单)。对于 OS X 上的 iTerm2,我已经将其配置为xterm-256color和 tmux 的screen-256color,并且函数映射仍然不起作用。所以has('mac')如果 iTerm2 中的这些序列与 xterm 兼容,则可能是不必要的,我尚未检查,因此暂时将其保留在我自己的配置中。

你可能想要一些imap版本也有。请注意,您不应该使用noremap自你以来的变体do希望这些映射级联(以触发您映射的任何内容)<Fx> to).

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

mac os X 上的 vim 功能键映射不起作用 的相关文章

  • 为什么 WebView 中的 dataWithPDFInsideRect 不能在 Mavericks 上创建高质量的 PDF?

    Run 示例项目 https github com tvarghese TestWebView并观察桌面上生成的输出 PDF 名为保存网页 pdf 粘贴感兴趣的代码片段 NSURL url NSBundle mainBundle URLFo
  • vim 退出时恢复 shell

    我刚刚在我的新计算机上安装了 Arch 但我不知道需要向 vimrc 添加什么命令 以便它在退出时恢复 shell 内容 在调用 vim 之前 也就是说 我希望我的 shell 看起来像这样 whoami root who root tty
  • 警告:您的 git 版本是 1.9.3。存在严重的安全漏洞

    我在部署到 Heroku 期间收到有关 git 1 9 3 严重安全漏洞的警告 我尝试通过 homebrew 更新 git 但发现 git 最初并不是通过 homebrew 安装的 然后我通过自制程序安装了它 brew update bre
  • 如何在 Mac OS X 10.8 上安装 hg Convert 所需的 python subversion 绑定?

    我正在寻找一种解决方案 最好是干净且简单的 以启用hg convert使用 SVN 存储库在 OS X 10 8 上工作 目前 如果您尝试转换 SVN 存储库 您将得到一个could not load Subversion python b
  • 每个 CPU 核心处于 C0 电源状态的时间

    任何帮助弄清楚如何做到这一点都会很棒 在过去一秒内 每个 CPU 核心处于 C0 电源状态的时间有多少 这是针对 Mac 应用程序的 因此需要 Objective C cocoa 和 c OS X 没有任何公开 CPU c 状态的 API
  • 升级到 5.4 但“php -v”仍然返回旧版本

    我使用的是 OSX Lion 10 7 5 正如建议的如何在 Mac OS X 中升级 PHP https stackoverflow com questions 2526085 how do i upgrade php in mac os
  • Xcode 11 无法识别静态库的架构:MacCatalyst(又名 UIKitForMac)

    在对 2019 年 WWDC 公告感到兴奋之后 我尝试使用 Xcode 11 0 beta 针对 MacOS 编译现有的 iOS 应用程序 不幸的是 事情并没有按预期进行 Xcode 说我的静态库是为 架构构建的 为 Mac 版 UIKit
  • 如何更改默认的Python版本?

    我已经在我的 Mac 上安装了 Python 3 2 我跑完之后 Applications Python 3 2 Update Shell Profile command 当我输入时 这很令人困惑Python V在终端它说Python 2
  • :set 选项的显示值

    如果你不给 colorscheme一个参数 然后它显示 vim 当前使用的颜色方案的名称 vim 中是否有类似的方法来显示是否设置了选项或如果选项的值不是布尔值则设置为什么 例如 如果我想知道是否autoindent已设置或者我想知道的值t
  • 为什么我的 PyGame 应用程序根本不运行?

    我有一个简单的 Pygame 程序 usr bin env python import pygame from pygame locals import pygame init win pygame display set mode 400
  • 在 OSX 和 GNU 中使用“find”删除带有数字的文件名

    我正在尝试搜索一个文件并删除名称中包含数字的类似文件 我的文件 txt from myfile 00 04 version txt myfile 00 txt find E iregex myfile 0 9 1 txt 删除 myfile
  • pip3:错误的解释器:没有这样的文件或目录

    我正在尝试使用安装依赖项pip3 command 当前场景 Dev which python Users Dev anaconda bin python Dev which python3 usr local bin python3 Dev
  • Docker 容器 - 如何配置使其在 vagrant 中运行时获得可行的 IP 地址?

    Docker www docker io 看起来棒极了 然而 安装 VirtualBox 后 Vagrant 最后是 Mac 上的 Docker 我发现无法从另一台计算机 或从 Mac 上的终端会话 访问 Docker 容器中运行的服务 我
  • ca 证书 Mac OS X

    我需要在emacs 上安装offlineimap 和mu4e 问题是配置 当我运行 Offlineimap 时 我得到 OfflineIMAP 6 5 5 Licensed under the GNU GPL v2 v2 or any la
  • 从 Java 执行 .app 文件夹?

    有没有一种合理的方法可以直接从 Java 执行 app 目录 而不是深入查找二进制文件 我有一个带有一些首选项的应用程序 其中包括用于打开各种内容的外部程序 如果在 OSX 上用户可以只选择 app 文件夹 那就太好了 我可以查找 app
  • 在 Mac OS X 上构建 Linux 内核

    我正在做一个修改Linux内核的项目 我有一台桌面 Linux 机器 在上面构建内核没有问题 不过 我要去旅行 我想在途中工作 我只有一台 MacBook 当我尝试构建 Linux 内核时 它抱怨说elf h was not found 我
  • 将 Armadillo C++ 库导入 Xcode

    我是 Mac 用户 正在尝试安装和导入 C Armadillo 库 以下是我到目前为止所采取的步骤 1 我从其网站下载了犰狳库 2 我仔细阅读了下载文件中的 Readme txt 文件 解释了如何安装它 3 我使用CMake将犰狳下载文件制
  • 开发者可以在 Windows 应用程序中使用 iCloud 吗?

    开发人员可以使用 Apple 的 iCloud API 在 Mac OS X 和 iOS 上的不同版本的应用程序之间同步应用程序数据 如果开发人员拥有 Windows 版本的应用程序 该版本是否也可以使用 iCloud 将应用程序数据与 M
  • AVCaptureDevice 找不到任何设备

    这行代码是我今天遇到的问题 macOS 应用程序 NSArray devices AVCaptureDevice devicesWithMediaType AVMediaTypeVideo 我更新Xcode后 系统总是让我空着devices
  • `pyqt5'错误`元数据生成失败`

    我正在尝试安装pyqt5使用带有 M1 芯片和 Python 3 9 12 的 mac 操作系统 我怀疑M1芯片可能是原因 我收到一个错误metadata generation failed 最小工作示例 directly in the t

随机推荐

  • J2ME开发不用Java?

    我正在第一次涉足 J2ME 世界 我更喜欢使用函数式语言来进行开发 Scala 曾经支持 CLDC 但已不再维护 Bigloo似乎消失了 解释器 例如 Jython 是不行的 因为 J2ME 应用程序必须很小 至少我的应用程序必须很小 我想
  • GCov可以在windows下使用吗?

    我可以在 Windows 中安装 gcov 工具吗 或者我可以在windows下的eclipse中使用这个工具的插件吗 我对这个工具很陌生 我对这个工具没有任何想法 请帮我获取这个工具的信息 请告诉我在我的机器上运行此工具的要求 我在哪里可
  • YouTube IFRAME 与 YouTube Android 播放器 API

    我计划在我的 Android 应用程序中安装 YouTube 播放器 并找到了两种替代方案 框架API https developers google com youtube iframe api reference或与YouTube An
  • 如何将 Heroku 应用程序链接到私人 Github 存储库?

    我是 Heroku 的新手 我不熟悉部署 管道的用语 我已经安装了 Heroku CLI 并使用以下命令部署了一个应用程序 run heroku create myNewHerokuApp 我的实例现已制作完毕 我在 Github 上有一个
  • 页面部分回发后如何在 UpdatePanel 中保持焦点位置

    我在带有更新面板的页面中有四个控件 最初 鼠标焦点设置为第一个控件 当我将页面部分回发到服务器时 焦点会自动从我按下 Tab 键的控件的最后一个焦点控件移动到第一个控件 有什么办法可以保持最后的焦点吗 看一眼使用自动回发控件在更新面板中恢复
  • 在 Webpack + VueJs 中链接样式表和要求它们有什么区别?

    使用 VueJs 和 Webpack 组合 我发现要包含外部样式表 例如 bootstrap 您可以执行以下两种操作之一 在你的主 js 脚本中 你可能需要这样的样式表 require assets lib bootstrap min cs
  • textContent 与 insideText 之间的区别

    有什么区别textContent and innerText在 JavaScript 中 我可以用吗textContent如下 var logo document getElementsByClassName logo 0 logo tex
  • 如何解决模块中声明了包,但模块不读取它?

    我正在将我的开发环境迁移到另一台电脑 我使用NetBeans 10 打开JDK11 JavaFX 当我将主项目导入 NetBeans 时 出现以下错误 on import java util logging Level import jav
  • 是否有可能构建一个相对快速的无类型 lambda 演算机?

    纯无类型 lambda 演算是一个强大的概念 然而 构建一台供现实世界使用的机器或解释器通常被描述为 接近 不可能 我想对此进行调查 理论上是否可以构建一个相对较快的无类型 lambda 演算机 我所说的相对较快通常是指在相似数量的资源 门
  • IBM Worklight 6.2 - StoragePlugin 上出现错误

    我从 Worklight 6 1 0 1 升级到 6 2 从那时起 我的应用程序停止成功加载 JSONStore 它说找不到类 StoragePlugin 尽管该类实际上存在于 worklight android jar 中 它还在 con
  • Java 中的公共接口和发布接口有什么区别? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我读过这两页 http martinfowler com ieeeSoftware published pdf http martinfo
  • 调试模式或发布模式

    最近 我正在致力于将物理引擎集成到我的图形引擎程序中 在此之前 我总是在调试模式下构建我的程序 因为我觉得调试意味着安全 并且可以提供更多信息让我知道哪里出了问题 在我的程序中 我在Release模式下构建了Assimp 但直到现在我仍然在
  • AngularJS 控制器继承

    AngularJS 具有基于 DOM 的控制器继承 如 Angular 文档中所述 div p Base Controller Value value p div
  • `2>/dev/null` 在 Makefile 中不起作用

    我试图抑制错误rm通过书写命令 生成文件 clean wildcard mod rm 2 gt dev null I ran make clean rm 2 gt dev null make clean Error 64 ignored 我
  • 为什么 strlcpy 和 strlcat 被认为不安全?

    我明白那个strlcpy and strlcat被设计为安全替代品strncpy and strncat 但仍有一些人认为他们不安全 并且只会导致不同类型的问题 https en wikipedia org wiki C string ha
  • 如何在 Rails 中设置哈希表单?

    我有一些与散列中的模型关联的数据 哈希值在控制器中生成 hash 为这些数据创建表单的正确方法是什么 我为视图想出了以下代码 div class field br div 这会生成表单 但它将每个哈希项创建为表单中的单独变量 这似乎不是提交
  • 如何在Python 3中保留xmlrpc.client的cookie?

    默认Pythonxmlrpc client Transport 可与xmlrpc client ServerProxy 不保留 cookie 而基于 cookie 的登录有时需要 cookie 例如 以下代理与 TapaTalk API 一
  • Polymer - dom-repeat 和 DOM 树中元素数据的缓存

    以下场景 我有一个 Firebase 数据库 其中包含一个列表 用于创建一组 纸卡 dom repeat
  • 如何以编程方式将操作添加到 Delphi 2010 中的操作管理器

    我正在尝试动态添加操作项目 我可以添加该项目 并且当我这样做时它会起作用 HostActionItem ActionManager ActionBars 0 Items 0 Items 2 NewItem HostAction Items
  • mac os X 上的 vim 功能键映射不起作用

    I have recently started using a Mac OS X Lion system and tried to use Vim in terminal I previously had a vimrc file in m