我如何找到如何在 Vim 中创建键映射,以便我可以在 MacOS 上创建类似的映射?

我如何找到如何在 Vim 中创建键映射,以便我可以在 MacOS 上创建类似的映射?

因此,对于我来说,由于 Ubuntu 是我的主要操作系统,所以在 Mac 上,Insert 键切换让我心烦意乱。我不得不寻找按键映射并在 macvim 中复制它。到目前为止,我这样做的方式是:

  1. 在 Ubuntu 上启动 vim。输入:scriptnames以获取可能的列表。
  2. 将其剪切并粘贴到名为 ~/file.list 的文件中,并删除所有非完整路径的内容。特别是行号。保存文件。该文件包含:

    /usr/share/vim/vimrc /usr/share/vim/vim80/debian.vim /usr/share/vim/vim80/syntax/syntax.vim /usr/share/vim/vim80/syntax/synload.vim /usr/share/vim/vim80/syntax/syncolor.vim /usr/share/vim/vim80/filetype.vim /usr/share/vim/vim80/defaults.vim /usr/share/vim/vim80/syntax/nosyntax.vim /usr/share/vim/vim80/ftplugin.vim /usr/share/vim/vim80/indent.vim /usr/share/vim/vim80/plugin/getscriptPlugin.vim /usr/share/vim/vim80/plugin/gzip.vim /usr/share/vim/vim80/plugin/logiPat.vim /usr/share/vim/vim80/plugin/manpager.vim /usr/share/vim/vim80/plugin/matchparen.vim /usr/share/vim/vim80/plugin/netrwPlugin.vim /usr/share/vim/vim80/plugin/rrhelper.vim /usr/share/vim/vim80/plugin/spellfile.vim /usr/share/vim/vim80/plugin/tarPlugin.vim /usr/share/vim/vim80/plugin/tohtml.vim /usr/share/vim/vim80/plugin/vimballPlugin.vim /usr/share/vim/vim80/plugin/zipPlugin.vim

需要说明的是,我已经手动检查了所有内容/etc/vim/,并且~/.vimrc

  1. 为了找到参考资料的位置,我尝试了:

    for I in $(cat ~/file.list); do if [ -f $I ];then grep -Hn Insert $I;fi;done

得出的结果如下:

/usr/share/vim/vim80/debian.vim:44:    autocmd GUIEnter * if !<SID>MapExists("<S-Insert>", "nvso") | execute "map <S-Insert> <MiddleMouse>" | endif
/usr/share/vim/vim80/debian.vim:45:    autocmd GUIEnter * if !<SID>MapExists("<S-Insert>", "ic") | execute "map! <S-Insert> <MiddleMouse>" | endif
/usr/share/vim/vim80/plugin/matchparen.vim:67:    " not found, in Insert mode try character before the cursor

不幸的是,这些都不是正确的动物。我假设这<S-Insert>是对 Insert 键的引用,该键被其他键修改。也许是 Super 键。

答案1

啊!:-/

我发现 MacOS 实际上拦截了该密钥。因此,无法在 vim 中使用它。

了解如何解决您的操作系统的说明:

  1. 打开 vim。
  2. 使用“i”或“Ins​​ert”或您的操作系统默认使用的任何键进入插入模式。
  3. 键入 Ctrl-v 并按下相应键。如果您看到该键的一些输入,则表示该键可用,否则不可用。

我的解决方案是创建一个将vim命令映射到的别名nano

相关内容