如何将Ctrl-TAB映射到Vim中的某些内容?

时间:2009-10-29 21:55:20

标签: vim

我想在Vim中将Ctrl-TAB映射到gt,以便我可以通过一次按键切换标签。

我试过......

nmap <C-T> gt
nmap <C-Tab> gt
nmap <C-TAB> gt

那不起作用。 How do you say在Vimese的“标签键”?

7 个答案:

答案 0 :(得分:48)

它可以在gvim中映射,但终端在<Tab><C-Tab>之间没有区别。

答案 1 :(得分:13)

你做不到。 Tab已经是一个控制键<C-i>

答案 2 :(得分:8)

适用于gVim。 只需在〜/ .gvimrc文件末尾添加:

" Add keyboard shortcuts
map <C-Tab> gt
map <C-S-Tab> gT

答案 3 :(得分:3)

我使用mintty中的cygwin终端。此终端可以选择使用ctrl-tab在各种cygwing实例之间循环,或者,您可以使用转到下一个或上一个screen窗口(因此ctrl-tab执行相同操作ctrl-a+ns-ctrl-tabctrl-a+p的效果相同。在我看来,这最后的行为非常方便。 检查

Using_Ctrl+Tab_to_switch_session_in_GNU_Screen

答案 4 :(得分:1)

如果您使用的是Mac,则可以使用Karabiner重新映射密钥。以下是您可以按步骤执行此操作的方法:

  1. 打开Karabiner首选项&gt;杂项与杂志卸载选项卡,单击“打开private.xml”以在选择的编辑器中打开它
  2. <root>节点内添加以下配置

    <item>
      <name>c-tab to s-tab LEFT</name>
      <identifier>private.ctabtostabl</identifier>
      <autogen>
    __KeyToKey__
    KeyCode::TAB, ModifierFlag::CONTROL_L,
    KeyCode::TAB, ModifierFlag::SHIFT_L
      </autogen>
    </item>
    <item>
      <name>c-tab to s-tab RIGHT</name>
      <identifier>private.ctabtostabr</identifier>
      <autogen>
    __KeyToKey__
    KeyCode::TAB, ModifierFlag::CONTROL_R,
    KeyCode::TAB, ModifierFlag::SHIFT_R
      </autogen>
    </item>
    
  3. 保存xml文件后,返回Karabiner首选项,这次转到“更改密钥”选项卡,按“重新加载XML”按钮,然后检查新建的选项。现在您的控制选项卡应该成为shift-tab!

  4. step 3 screenshot

答案 5 :(得分:1)

git-bash(mintty)

首先,在选项> 中禁用切换窗口选项。然后,您可以使用以下地图。

注意:您不能简单地将它们复制并粘贴到.vimrc中。相反,在^[[1;6I所在的位置,您需要在插入模式下按Ctrl-V,然后键入Ctrl-Shift-Tab^[[1;5ICtrl-Tab也是如此。

nnoremap ^[[1;6I :tabprevious<CR>
nnoremap ^[[1;5I :tabnext<CR>
inoremap ^[[1;6I <Esc>:tabprevious<CR>
inoremap ^[[1;5I <Esc>:tabnext<CR>

答案 6 :(得分:0)

这在MacVim中适用于我

:map <C-Tab> gt

它在命令模式下工作。不在编辑模式下。
它在我的终端的vim中不起作用。