在 Mac 上的 VIM 中映射按键

在 Mac 上的 VIM 中映射按键

我曾有一个以前的问题问题解决了,但是我似乎又一次陷入困境。

我正在尝试重新分配用于在 Windows 之间切换的按键,使其更加直观。我发现您应该能够将以下内容添加到您的 vimrc 中:

nmap <D-Right> :maca _cycleWindowsBackwards:<CR> 
nmap <D-Left> :maca _cycleWindows:<CR>

我试过了,但似乎对我没什么用。我的 vimrc 肯定被加载了,因为当我输入 bogus 时,启动 vim 时会出错。

我尝试过不同的分配键的方法,但似乎都没有起到什么作用。

另外,推荐的 VIM 文档资源是什么?

答案1

最简单的方法就是最好的方法:

nmap <D-Right> <C-w>l
nmap <D-Left> <C-w>h

这回答了你的问题,但我不建议你这样做。

您会遇到的第一个问题是您的所有cmdsomething映射都将在终端失败。

CtrlShiftb第二,MacVim 不支持多个修饰符:例如,您无法使用。好吧,它可以工作,但Shift部分将被忽略,因此您很快就会受到限制。

第三个问题是你无法记住 Vim 的命令。有一天你进入ssh服务器并使用 Vim 时,你就会迷失。

是的,你可以这样做,但是(我认为)你不应该这样做。

相反,学习 Vim 的方式并输入:help windows。它会很快见效。

答案2

我不知道你从哪里得到“:maca”命令,但它不是 Vim 命令。另外,“_cycleWindowsBackwards:”和“_cycleWindows:”是什么?

我怀疑你真正想要的是更像这样的东西:

:nmap <D-Right> :wincmd W<CR>
:nmap <D-Left> :wincmd w<CR>

答案3

我自己也经历过这一切。我发现 Mac 上最快、最简单的解决方案是: http://pqrs.org/macosx/keyremap4macbook/document.html

此实用程序将允许您更改命令键。您还可以设置配置文件(我设置了一个 VIM 配置文件),这样我只有在 VIM 中时才打开我的 VIM 配置文件(在菜单栏上快速切换),这样就不会弄乱任何东西(mac osx 行为、实用程序或应用程序)。

我使用的是 Macbook Pro,所以我想在 VIM 中将选项键更改为控制键。此实用程序允许我这样做,并且为了以防万一,我还将 fn 键更改为选项键。

它们还有另一个用途: http://pqrs.org/macosx/keyremap4macbook/extra.html

这使我能够将 Caps Lock 键更改为 Esc。这在 VIM 中非常棒;不再需要不断地按 Esc。注意:此实用程序没有配置文件,因此无论是否在 vim 中,我的 Caps Lock 始终是 Esc。

答案4

只是为了提醒一下,以防其他人遇到类似的问题。

我在 macOS(Sonoma 14.4.1)中映射 Ctrl+space 时遇到了问题;

map <C-@> :call ToggleTodo()<CR>

事实证明,在新笔记本电脑上重新安装 macOS 时,系统设置中现在设置了 Ctrl+Space 的默认快捷键。这会吞掉组合键,无法到达终端应用程序

相关内容