如何让 Ctrl + Page Down 在 Terminal.app 中的 Vim 中切换标签页?

ram*_*amn 8 mac terminal vim shortcuts macos

在 Ubuntu 的终端内运行 vim 时,我可以使用Ctrl+Page UpPage Down在 vim 选项卡之间切换。我如何为 Mac OS X 的 Terminal.app 或 iTerm2 设置这个?我有一台MacBook Air(2011年),所以我没有“正确”Page UpPage Down钥匙,如果该事项。

我试图设置各种转义码,但到目前为止没有任何效果。

编辑:我没有回答我自己的问题的权限,但这是答案:

回答:

我找到了正确的转义序列。在 Terminal.app 的键盘设置中,

将“控制页面向上”设置为“将字符串发送到外壳:”,使用此值:“\033[5;5~”

将“control page down”设置为“send string to shell:”,使用这个值:“\033[6;5~”

rom*_*inl 9

如果您的键盘上没有实际的pageuppagedown键,则无法将它们映射到任何东西。

  • <C-PageDown>:tabnext,:tabn和的替代gt
  • <C-PageUp>:tabprevious,:tabN和的替代gT

我强烈建议您使用它们gtgT相反,它们遵循 Vim 的语法(小写字母表示“前进命令”,大写字母表示“后退命令”),因此很容易记住。

如果您不喜欢gt/gT,可以将它们映射到更符合您口味的东西:

nnoremap <C-Up> gT
nnoremap <C-Down> gt
Run Code Online (Sandbox Code Playgroud)

但我认为没有必要。

您的示例(PageUp/PageDown无 -less 键盘)似乎是 Vim 看似奇怪的设计决策智能的一个很好的示例。

--编辑(根据提问者的要求)--

我找到了正确的转义序列。在 Terminal.app 的键盘设置中,

将“控制页面向上”设置为“将字符串发送到外壳:”,使用此值:“\033[5;5~”

将“control page down”设置为“send string to shell:”,使用这个值:“\033[6;5~”


小智 8

基于 ramn 的回答并作为参考,这是解决此问题的方法iTerm2

  1. iTerm/ Preferences.../ Profiles/Keys
  2. +按钮添加配置文件快捷方式
  3. 使用快捷方式:^Page Up,动作:“发送转义序列”,值[5;5~
  4. 使用快捷方式:^Page Down,动作:“发送转义序列”,值[6;5~