MacVim:我知道为什么我不能覆盖命令按钮?

时间:2011-09-03 01:28:09

标签: vim macvim

我正在尝试使用MacVim中的命令按钮而不是Ctrl和其他按钮。

在MacVim中,我尝试使用类似:imap <D-space> <Esc>的内容来覆盖正常的命令空间功能,但它仍然可以成为人们关注的焦点。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

在这些情况下,通常窗口管理器在应用程序看到它之前拦截键击。可能有一个选项可以在指定的应用程序处于活动状态时关闭某些全局键绑定但我无法在10.5上找到它 - linux窗口管理器具有此功能,Windows也是如此,所以我希望它隐藏在某个地方在OS WM ..

答案 1 :(得分:2)

Spotlight快捷键优先于您自己的快捷方式。

为了能够在MacVim中使用它,您必须在其首选项中更改Spotlight的快捷方式。

但是,Command键在Terminal.app中不起作用,不会发送到通过SSH连接的远程服务器。如果您在服务器上使用Vim,您将无法使用它,您将被迫创建和学习许多特定于机器的映射,或者只是使用默认值。

另一个可能的问题,我在开头遇到的问题是,具有多个修饰键(例如<D-M-something><C-S-something>)的快捷方式在MacVim中不起作用。

由于这一点以及使用这些密钥的原生快捷方式的数量,您将没有多少可能性。

当我决定学习Vim(使用MacVim)时,我尝试了很多东西使它(和Vim)更像“Mac-like”或“TextMate-like”无济于事。

相反,我建议你以Vim的方式做事。这可能看起来很奇怪,但值得。

在您的情况下,“Vim方式”将是使用mapleader,它是键盘上用于自定义映射的常规键。默认密钥为\,如果您想要更改(例如,,那是我的设置,但是YMMV),请将此行添加到~/.vimrc

let mapleader=","

之后你可以创建这样的映射:

inoremap <leader><Space> <ESC>