如何将CMD(Command)Map到Shift MacVim窗口

57hvy0tb  于 2023-02-08  发布在  Mac
关注(0)|答案(1)|浏览(141)

我知道我可以使用ctrl+w在不同的Vim窗口之间切换。但是我如何重新MapCMD键来以各种方式替换ctrl+w呢?我特别希望将cmd与箭头键绑定,这样我就可以使用CMD+LeftArrow轻松地切换到NERDTree。感谢您的帮助。
我尝试将以下内容添加到$MYVIMRC...

nmap <silent> <D-h> :wincmd h<CR>   // For going to NERDTree 
nmap <silent> <D-l> :wincmd l<CR>   // For going back to file I'm working on.
e4yzc0pl

e4yzc0pl1#

在Map的左侧,Command+Left被写成<D-Left>。解决了这个问题和其他问题(见下文)后,您的Map应该如下所示:

nnoremap <D-Left> <Cmd>wincmd h<CR>
nnoremap <D-Right> <Cmd>wincmd l<CR>

或者,简单地说,像这样:

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

其他问题:

  • 递归Map(nmap)应该保留到您希望 * 在您的Map中使用另一个Map * 的极少数情况下。这里不是这种情况,因此nnoremap是最佳选择。
  • Map的命令不回显任何内容,因此<silent>是无用的。
  • Vim的评论领袖是",而不是//
  • 无论如何,注解不能和Map放在同一行,参见:help map-comments
  • 新的:help <Cmd>比在Map右侧使用:更简洁。

请注意,* 这些Map仅在MacVim GUI中有效 *。

相关问题