因此,对于我来说,由于 Ubuntu 是我的主要操作系统,所以在 Mac 上,Insert 键切换让我心烦意乱。我不得不寻找按键映射并在 macvim 中复制它。到目前为止,我这样做的方式是:
- 在 Ubuntu 上启动 vim。输入
:scriptnames
以获取可能的列表。 将其剪切并粘贴到名为 ~/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
为了找到参考资料的位置,我尝试了:
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 中使用它。
了解如何解决您的操作系统的说明:
- 打开 vim。
- 使用“i”或“Insert”或您的操作系统默认使用的任何键进入插入模式。
- 键入 Ctrl-v 并按下相应键。如果您看到该键的一些输入,则表示该键可用,否则不可用。
我的解决方案是创建一个将vim
命令映射到的别名nano
。